Как мне работать как «Сетевой сервис»? - PullRequest
72 голосов
/ 02 августа 2011

Я пытаюсь запустить процесс как другой аккаунт.У меня есть команда:

runas "/user:WIN-CLR8YU96CL5\network service" "abwsx1.exe"

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

Возможно ли то, что я пытаюсь сделать?

Ответы [ 4 ]

106 голосов
/ 31 июля 2013

Используйте PsExec.exe от SysInternals.

например, при этом откроется новая командная строка, запущенная в качестве NETWORK SERVICE:

psexec -i -u "nt authority\network service" cmd.exe 

, при которой будет запущена локальная система:

psexec -i -s cmd.exe 

.запуск whoami из командной строки.

См. также:

13 голосов
/ 07 января 2012

В планировщике заданий создайте задание для запуска приложения под пользователем NETWORK SERVICE.Затем вы можете запустить задачу из командной строки, используя

schtasks /run /TN "taskname"

Где taskname - это имя вашей задачи.

4 голосов
/ 02 августа 2011

Обычно вы можете выдавать себя за учетную запись службы только из службы Windows, например в этом сообщении упоминается:

Хитрость заключается в том, чтобы запускать код как локальную систему, и оттуда вы можете выдавать себя за учетные записи службы, используя соответствующее имя пользователя без пароля. Один из способов запустить код в качестве учетной записи локальной системы - создать оболочку командной строки, используя метод, показанный ниже (взятый из этого оригинального сообщения ), и выполнить сборку оттуда. Вызов System.Diagnostics.Debugger.Break() в вашем коде позволяет отлаживать.

Чтобы создать оболочку командной строки, которая запускается под локальной системной учетной записью, откройте новое окно командной строки и введите:

c:\sc create testsvc binpath= "cmd /K start" type= own type= interact

с последующим:

c:\sc start testsvc

Должно открыться новое командное окно. В этом окне запустите файл application.exe - вы увидите, что теперь вы работаете как встроенная системная учетная запись пользователя. После завершения тестирования вы можете удалить созданный вами тестовый сервис, введя:

c:\sc delete testsvc

Если вы попытаетесь сделать это в своем собственном пользовательском контексте, то такие попытки должны потерпеть неудачу.

0 голосов
/ 29 июля 2017

Я проверял

PsExec -i -s cmd.exe

и

PsExec -i -u "nt authority\network service" cmd.exe

на PsExec64-v2.2, для win10-home-x64-10.0.14393 и win10-pro-x64-10.0.15063 использовать обычную консоль не удалось, используйте повышенную консоль - все нормально

...