Preciso executar um arquivo em lote na área de trabalho de um usuário e executá-lo com privilégios de administrador para reiniciar um serviço. Posso fazer o arquivo em lote funcionar quando estou logado como administrador local
Aqui está o script, por favor ajude
NET LOCALGROUP administrators "NT Authority\Local Service" /add
netsh winsock reset catalog
Set /p <nul = "Your PC needs to reboot to Finish applying Changes. press any key to reboot." & pause > nul
Shutdown -r -t 1
Ou alguém pode me dar uma maneira de executar o cmd como usuário sem precisar de direitos de administrador?
Responder1
Se você deseja apenas reciclar um serviço, você pode usar o comando SC
Abra o prompt de comando e digite
SC \\hostname parar nome do serviço
SC \\hostname iniciar nome do serviço
Você pode colocar isso em um arquivo .bat com um ping localhost para funcionar como um sono fictício, pois você precisará esperar o serviço parar antes de iniciá-lo novamente.
Responder2
É possível executar scripts como tarefas agendadas com privilégios elevados usando o Agendador de Tarefas do Windows, o que pode ser uma opção. Observe que você deve ter cuidado para evitar que qualquer usuário padrão possa editar o script para que não possa introduzir comandos arbitrários que seriam executados como um usuário elevado, o que seria uma enorme vulnerabilidade de segurança.