Запретить печать документов с любых рабочих станций и серверов какой-то группе пользователей?

Возможно ли, что домен Active Directory полностью запретил печать документов с любых рабочих станций и серверов какой-либо группе пользователей с помощью групповой политики или другим способом?

Это важно ], что:

  • запрет должен применяться к пользователю (другой пользователь на том же компьютере должен иметь возможность печатать).
  • запрет должен действовать, даже если на компьютере пользователя есть локально подключенный принтер .
  • он должен иметь возможность быстро разрешать или запрещать пользователю печать, изменяя его членство в группе домена.
  • некоторые принтеры подключены к компьютерам пользователей по USB.
0
задан 21 November 2016 в 19:40
2 ответа

Лучший способ, который я нашел:

На всех компьютерах в домене, использующем GPP, создайте задачу для обычного запуска сценария PowerShell с локальной системной учетной записью:

$Account = "DOMAIN\Group_deny_print"
Get-Printer -full | Where-Object Type -eq "Local" | foreach { 
    try  
    { 
        $acl = New-Object -TypeName Security.AccessControl.CommonSecurityDescriptor $false, $false, ($_ | Select-Object PermissionSDDL -ExpandProperty PermissionSDDL);
        Write-Host "Deny $Account print to printer ($_.Name)";
        $NTAccountSid = (New-Object Security.Principal.NTAccount $Account).Translate([Security.Principal.SecurityIdentifier]).Value;
        $acl.DiscretionaryAcl.AddAccess( 
                [System.Security.AccessControl.AccessControlType]::Deny, 
                $NTAccountSid, 
                131080, #Print = (ACCESS_MASK.PRINTER_ACCESS_USE | BASE_RIGHTS.READ_CONTROL),
                [System.Security.AccessControl.InheritanceFlags]::None, 
                [System.Security.AccessControl.PropagationFlags]::None);
        $newacl = $acl.GetSddlForm("All");
    }
    catch [Exception]  
    { 
        Write-Error -Message "Failed:`n $_.Message" -Exception $_.Exception 
    } 
    $_ | Set-Printer -PermissionSDDL $newacl -verbose;
}

Но int работает только в Windows Сервер 2012 / Windows 8 или новее.

0
ответ дан 4 December 2019 в 16:26
  • Добавьте группу безопасности «DenyPrinting» для всех принтеров с настройкой «Печать» -> «Запретить».
  • Используйте GPO, чтобы «Отключить добавление принтеров» для этой группы.
  • Добавьте пользователей в группу, которые не должны печатать
1
ответ дан 4 December 2019 в 16:26

Теги

Похожие вопросы