Мне нужно запустить пакетный файл на рабочем столе пользователя и запустить его с правами администратора, чтобы перезапустить службу. Я могу заставить пакетный файл работать, когда я вошел в систему как локальный администратор
Вот скрипт, помогите пожалуйста
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 как пользователь без прав администратора?
решение1
Если вы просто хотите повторно использовать услугу, вы можете использовать команду SC.
Запустите командную строку и введите
SC \\hostname stop servicename
SC \\hostname start servicename
Вы можете вставить это в файл .bat с ping-запросом localhost, чтобы создать имитацию сна, так как вам придется дождаться остановки службы, прежде чем вы сможете запустить ее снова.
решение2
Можно запускать скрипты как запланированные задачи с повышенными привилегиями с помощью планировщика заданий Windows, так что это может быть вариантом. Обратите внимание, что вам следует быть осторожным, чтобы не допустить редактирования скрипта любыми обычными пользователями, чтобы они не могли вводить произвольные команды, которые будут запущены как повышенный пользователь, что будет огромной уязвимостью безопасности.