Como definir permissões de impressora usando o PowerShell / algum outro script?

4

Eu preciso atualizar as permissões da impressora em um script, ou seja, fazer o mesmo que faria manualmente:

  1. Abra o Dispositivos e impressoras applet
  2. Clique duas vezes na impressora padrão (abra sua fila)
  3. Vá para Impressora - > Propriedades
  4. Na caixa de diálogo de propriedades, vá para a guia Segurança
  5. Alterar permissões para Todos (por exemplo, verifique as permissões Gerenciar documentos )

Como fazer isso? Por exemplo, no PowerShell, posso fazer

Get-WmiObject -class win32_printer -filter Default=True

para obter a impressora padrão e, em seguida, há os métodos getSecurityDescriptor() e setSecurityDescriptor() , mas, por exemplo, este comando:

(Get-WmiObject -class win32_printer -filter Default=True).getsecuritydescriptor().Descriptor

return null, então não tenho certeza se estou fazendo da maneira certa.

Alguém tem um exemplo funcional para definir permissões de impressora? Estou no caminho certo ou devo usar algo diferente de WMI inteiramente? Obrigado.

    
por Borek Bernard 24.09.2012 / 10:16

1 resposta

1

Não conheço o PowerShell, só fiz permissões de impressora diretamente usando o .NET e o WMI, e pode ficar confuso, pois as permissões são compostas pelo SecurityDescriptor , que tem um Descritor propriedade, que tem uma propriedade DACL , que contém um ou mais objetos Win32_ACE , cada um contendo AccessMask, AceFlags e Trustree que é um objeto Win32_Trustee que contém a quem a permissão se aplica.

Há talvez um addon do PowerShell que simplifique a configuração acima, ou dê uma olhada no Ferramenta de linha de comando SetACL que você pode chamar do PowerShell.

    
por 24.09.2012 / 18:43