Мне нужно запустить командный файл на рабочем столе пользователя и запустить его с правами администратора для перезапуска службы. Я могу заставить пакетный файл работать, когда я вошел в систему как локальный администратор

Вот скрипт, помогите пожалуйста

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

Или любой может дать мне способ запустить cmd как пользователь без прав администратора

2 ответа2

0

Если вы просто хотите перезапустить сервис, вы можете использовать команду SC

Запустите командную строку и введите

SC \\hostname stop servicename

SC \\hostname start servicename

Вы можете вставить это в файл .bat с помощью ping локального хоста, чтобы он действовал как фиктивный сон, так как вам нужно будет дождаться остановки службы, прежде чем вы сможете запустить ее снова.

0

Можно запускать сценарии в виде запланированных задач с повышенными привилегиями с помощью планировщика задач Windows, так что это может быть вариантом. Обратите внимание, что вы должны быть осторожны, чтобы не дать обычным пользователям возможности редактировать сценарий, чтобы они не могли вводить произвольные команды, которые запускались бы как пользователь с повышенными правами, что было бы огромной уязвимостью безопасности.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .