Conceda permissão “Gerenciar Impressoras” para todas as impressoras em clientes XP via GPO?

1

É possível conceder permissões "Gerenciar Impressoras" a todos os objetos de impressora nas máquinas clientes através da política de grupo? Por padrão, parece que essa permissão é concedida a usuários avançados e administradores. Gostaria de concedê-lo a um grupo de segurança específico no domínio.

Nesse caso, as impressoras são instaladas localmente (bem, algumas são impressoras de rede, mas não são gerenciadas. Os drivers são instalados diretamente nos clientes).

    
por Boden 19.11.2009 / 22:54

1 resposta

2

Sim, com um script de inicialização.

setprinter.exe, incluído no kit de recursos do Windows 2003. Você pode usar:

setprinter.exe 3 "pSecurityDescriptor = xxxxxxxxxx"

Você precisaria percorrer todas as impressoras instaladas e aplicar a nova ACL. Isso pressupõe que você poderia usar a mesma ACL para todas as impressoras em todas as estações de trabalho. Isso pode não ser um problema, pois a maioria das pessoas não usa segurança personalizada em impressoras locais.

"pSecurityDescriptor = está no formulário SDDL. Use setprinter -examples 3 para obter mais informações.

Defina uma impressora com a segurança do jeito que você quiser, o uso setprinter -show printerName3 para obter o texto de como o SDDL deve ser aplicado.

Isto é o que o comando e o SDDL parecem quando Todos tem Gerenciar Impressoras e todas as outras permissões são padrões genéricos:

setprinter.exe 3 pSecurityDescriptor="O: SACO: 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) "

Tudo isso deve estar em uma linha.

Aqui está um código do PowerShell que lista as impressoras:

Get-WMIObject Win32_Printer -ComputerName $ env: computername | foreach-object {$ _. Name}

então o comando para fazer o trabalho seria

Get-WMIObject Win32_Printer -ComputerName $ env: computername | foreach-object {setprinter.exe $ _. Nome 3 pSecurityDescriptor="O: SACO: 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) "}

Mais uma vez, deve ser tudo uma linha.

    
por 20.11.2009 / 02:32