Windows

通過 GPO 為 XP 客戶端上的所有列印機授予“管理列印機”權限?

  • September 28, 2010

是否可以通過組策略向客戶端電腦上的所有列印機對象授予“管理列印機”權限?預設情況下,看起來此權限已授予高級使用者和管理員。我想將它授予域中的特定安全組。

在這種情況下,列印機安裝在本地(嗯,有些是網路列印機,但它們不受管理。驅動程序直接安裝在客戶端上)。

是的,帶有啟動腳本。

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{$_.Name}

所以做這項工作的命令是

Get-WMIObject Win32_Printer -ComputerName $env:computername | foreach-object{setprinter.exe $_.Name 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)”}

同樣,這必須是一條線。

引用自:https://serverfault.com/questions/86477