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

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

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

  1. AbrirDispositivos e Impressorasminiaplicativo
  2. Clique duas vezes na impressora padrão (abra sua fila)
  3. Vá paraImpressora -> Propriedades
  4. Na caixa de diálogo de propriedades, vá paraSegurançaaba
  5. Alterar permissões paraTodos(por exemplo, verifiqueGerenciar documentospermissões)

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

Get-WmiObject -class win32_printer -filter Default=True

para obter a impressora padrão e existem métodos getSecurityDescriptor()e setSecurityDescriptor(), 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 isso da maneira certa.

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

Responder1

Não conheço o PowerShell, só fiz permissões de impressora diretamente usando .NET e WMI, e pode ficar confuso, pois as permissões são compostas peloDescritor de segurança, que tem umDescritorimóvel, que possuiDACLpropriedade, que contém um ou maisWin32_ACEobjetos, cada um dos quais contémAccessMask, AceFlags e Trustreeque é umWin32_Trusteeobjeto que contém a quem a permissão se aplica.

Talvez haja um complemento do PowerShell que simplifique a configuração acima. Como alternativa, dê uma olhada noFerramenta de linha de comando SetACLque você pode chamar do PowerShell.

informação relacionada