Por alguma razão, vários laptops em nossa rede Wi-Fi muitas vezes perdem a capacidade de imprimir em um dispositivo conectado a um servidor na rede. Reiniciar o spooler de impressão em cada laptop corrige o problema. No entanto, reiniciar o serviço Windows Print Spooler (por meio de services.msc
ou por meio do net start/stop
comando) requer privilégios administrativos.
Existe uma maneira de permitir que usuários padrão reiniciem o serviço de spooler de impressão local sem exigir elevação ou privilégios administrativos? Por exemplo, através de uma mudança de política?
Responder1
Acabei usando o Método 3 emComo conceder aos usuários direitos para gerenciar serviços no Windows 2000.
- Baixar e instalarSubInACL.exe
- correr
"C:\Program Files\Windows Resource Kits\Tools\subinacl" /service Spooler /grant=<username>=TO
SubInACL
funciona no Windows 7.
O T
parâmetro grant é para start service
acesso e o O
parâmetro é stop service
acesso.
Agora <username>
pode:
- correr
sc stop Spooler
esc start Spooler
- correr
net stop "Print Spooler"
enet start "Print Spooler"
- use o
Restart
botão noPrint Spooler
item emservices.msc
Responder2
Experimente: SetACL: gerenciamento de ACL do Windows http://sourceforge.net/projects/setacl/
SetACL + GUI = SetACL Estúdio http://helgeklein.com/setacl-studio/
Responder3
Uma entrada de blog antigatem a solução correta (veja em "Permitir que todos os usuários autenticados reiniciem o serviço"). Execute o seguinte uma vez em um prompt de comando elevado:
sc sdset Spooler "D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;LCRPWP;;;AU)(A;;CCLCSWLOCRRC;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY) S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
Substitua Spooler
pelo nome de qualquer serviço que os usuários precisem para reiniciar. Use o resto da linha exatamente como está. Não sei o que significa, mas funciona. :-)
Após alguns segundos, você verá esta resposta:
[SC] SetServiceObjectSecurity SUCCESS
Agora todos os usuários autenticados podem reiniciar o serviço.
Responder4
Primeiro inspecione e documente as permissões padrão existentes.
Em um prompt de comando elevado, digite:
sc.exe sdshow spooler
Resultados:
D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
Chave para ler a saída:
D: — ACL discricionária (DACL)
S: — Lista de controle de acesso ao sistema (SACL)
A primeira letra significa; permitir (A) ou negar (D)
O próximo conjunto de símbolos são permissões atribuíveis:
CC — SERVICE_QUERY_CONFIG (solicitar configurações de serviço)
LC — SERVICE_QUERY_STATUS (pesquisa de status do serviço)
SW — SERVICE_ENUMERATE_DEPENDENTS
LO — SERVICE_INTERROGATE
CR — SERVICE_USER_DEFINED_CONTROL
RC — READ_CONTROL
RP — SERVICE_START
WP — SERVICE_STOP
DT — SERVICE_PAUSE_CONTINUE
A lista de curadores é longa, mas procuramos Usuários Autenticados (AU) que estão contidos no primeiro conjunto de parênteses.
Adicionar permissões RP, WP e DT para usuários autenticados (AU) deve resolver o problema:
(A;;CCLCSWLOCRRCRPWPDT;;;AU)
Para definir essas permissões, novamente em um prompt de comando elevado:
sc.exe sdset spooler "D:(A;;CCLCSWLOCRRCRPWPDT;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
Para restaurar as permissões aos seus padrões, removendo efetivamente a capacidade dos usuários autenticados de iniciar/parar/pausar/retomar o serviço de spooler:
sc.exe sdset spooler "D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
Grande parte do crédito deve ser dado ao IT Connect da Universidade de Washington emhttps://itconnect.uw.edu/wares/msinf/other-help/understanding-sddl-syntax/