Можно ли предоставить разрешения «Управление принтерами» всем объектам принтеров на клиентских машинах с помощью групповой политики? По умолчанию это разрешение предоставляется опытным пользователям и администраторам. Я хочу предоставить его определенной группе безопасности в домене.
В этом случае принтеры устанавливаются локально (ну, некоторые из них являются сетевыми принтерами, но ими не управляют… драйверы устанавливаются непосредственно на клиентах).
Да, со сценарием запуска.
setprinter.exe, входящий в комплект ресурсов Windows 2003. Ты можешь использовать:
setprinter.exe 3 "pSecurityDescriptor = xxxxxxxxxx"
Вам нужно будет перебрать все установленные принтеры и применить новый ACL. Это предполагает, что вы можете использовать один и тот же ACL для всех принтеров на всех рабочих станциях. Это может не быть проблемой, поскольку большинство людей не используют настраиваемую защиту на локальных принтерах.
"pSecurityDescriptor = находится в форме SDDL. Используйте setprinter -examples 3 для получения дополнительной информации.
Настройте принтер с безопасностью так, как вы хотите, используйте setprinter -show printerName 3, чтобы получить текст о том, как следует применять SDDL.
Вот как выглядят команда и SDDL, когда у всех есть управление принтерами, а все остальные разрешения являются стандартными по умолчанию:
setprinter.exe 3 pSecurityDescriptor = "O: BAG: DUD: (A; OIIO; RPWPSDRCWDWO ;;; BA) (A ;; LCSWSDRCWDWO ;;; BA) (A; CIIO; RC ;;; CO) (A; OIIO; RPWPSDRCWDWO ;;; CO) (A ;; LCSWSDRCWDWO ;;; WD) (A; OIIO; RPWPSDRCWDWO ;;; PU) (A ;; LCSWSDRCWDWO ;;; PU) "
Все это должно быть в одной строке.
Вот код PowerShell, в котором перечислены принтеры:
Get-WMIObject Win32_Printer -ComputerName $ env: computername | foreach-object {$ _. Имя}
поэтому команда для выполнения работы будет
Get-WMIObject Win32_Printer -ComputerName $ env: computername | foreach-object {setprinter.exe $ _. Имя 3 pSecurityDescriptor = "O: BAG: DUD: (A; OIIO; RPWPSDRCWDWO ;;; BA) (A ;; LCSWSDRCWDWO ;;; BA) (A; CIIO; RC ;; ; CO) (A; OIIO; RPWPSDRCWDWO ;;; CO) (A ;; LCSWSDRCWDWO ;;; WD) (A; OIIO; RPWPSDRCWDWO ;;; PU) (A ;; LCSWSDRCWDWO ;;; PU) "}
Опять же, это должна быть одна строка.