Talvez você possa definir a segurança com a ferramenta setprinter (setprinter -examples 3) .SetPrinter é para 2003, mas também funciona em 2008 R2.
Eu tenho um servidor Windows 2008 R2 com a função de servidor de terminal instalada. Estou vendo um problema com um usuário comum que é membro do grupo de operadores de impressoras locais no servidor.
Se o usuário abrir uma janela cmd usando "executar como administrador", poderá executar o printmanager.msc sem precisar inserir a senha novamente. No printmanager, eles podem alterar a propriedade de impressoras redirecionadas (impressão fácil) sem problemas.
Se, na mesma janela cmd, eles usarem subinacl para tentar alterar o onwership da fila para si mesmos, eles terão acesso negado:
>subinacl.exe /printer "_#MyPrinter (2 redirected)" /setowner="MyDom\MyUsr"
Elapsed Time: 00 00:00:00
Done: 1, Modified 0, Failed 1, Syntax errors 0
Last Done : _#MyPrinter (2 redirected)
Last Failed: _#MyPrinter (2 redirected) - OpenPrinter Error : 5 Access denied
assim, o mesmo contexto, a mesma ação, mas um funciona e o outro não. Alguma idéia para esse comportamento estranho?
Estou usando o subinacl x86 em um servidor x64, pois não consigo encontrar nada mais atualizado. Eu tentei com icacls e outros, mas não consegui fazer nada com impressoras.
EDIT: adicionado após comentários de Gregs sobre setacl abaixo
Se eu fizer login no servidor TS como Testusr e abrir as Ferramentas do administrador > Printer Admin (como administrador) e, em seguida, digite mydomain \ testusr e a senha do testusr, então posso alterar a propriedade da fila da impressora e definir testusr como o proprietário.
No entanto, se eu abrir o cmd como administrador e, novamente, digitar mydomain \ testusr e a senha do usuário quando eu tentar alterar a propriedade da minha impressora redirecionada, recebo o seguinte:
C:\>setacl -on "Bullzip PDF Printer (12 redireccionado)" -ot prn -actn setowner -ownr n:mydom\testusr
WARNING: Privilege 'Back up files and directories' could not be enabled. SetACL's powers are restricted.
WARNING: Privilege 'Restore files and directories' could not be enabled. SetACL's powers are restricted.
INFORMATION: Processing ACL of: <Bullzip PDF Printer (12 redireccionado)>
ERROR: Enabling the privilege SeTakeOwnershipPrivilege failed with: No todos los privilegios o grupos a los que se hace referencia son asignados al llamador.
[meaning not all referenced privs or groups are assigned to the caller]
SetACL finished with error(s):
SetACL error message: A privilege could not be enabled
Talvez eu esteja entendendo algo errado, mas se a ferramenta interna do Windows puder fazer isso com apenas uma associação do grupo 'operadores de impressão', então o setacl também poderá funcionar, não?
No entanto setacl parece depender de outros privilégios, que na realidade não são obrigados a fazer isso.
Talvez você possa definir a segurança com a ferramenta setprinter (setprinter -examples 3) .SetPrinter é para 2003, mas também funciona em 2008 R2.
O Windows normalmente não permite que usuários alterem a propriedade de qualquer objeto para algo além de Administradores (ou a si próprios se tiverem a permissão de apropriação de propriedade no objeto), a menos que sejam Administradores ou tenham direitos especiais de Usuário do Windows não deve conferir).
Eu especularia que a versão x86 de sete anos do subinacl.exe não está funcionando corretamente com o token de segurança no processo elevado.
Algumas sugestões:
Tente usar a versão atualizada do subinacl, 5.2.3790.1180, disponível em:
Tente usar o utilitário SetAcl.exe gratuito. Este é o sumidouro da cozinha suíça das ferramentas de gerenciamento de permissões e inclui uma compilação x64. Este é um projeto ativo e inclui muitos recursos que faltam nos utilitários da Microsoft.
Documentação:
Exemplo de uso:
setacl -on "Printer Name" -ot prn -actn setowner -ownr n:domainNetbiosName\userName