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

5083
user626528

Когда я запускаю следующую команду из командной строки администратора:

psexec64 -i -u "nt authority\network service" C:\Windows\System32\cmd.exe 

Я получаю эти сообщения об ошибках:

Couldn't install PSEXESVC service: The operation completed successfully. Error establishing communication with PsExec service on MYPC: The operation completed successfully. 

Я использую это на Windows 7 x64 SP1. Служба PSEXESVC установлена ​​и работает. Я получаю те же результаты при использовании 32-битной версии psexec.

Есть идеи, как решить эту проблему?

4
Можете ли вы обойтись без использования ключа `-i`, если это имеет значение? Twisty Impersonator 6 лет назад 0
Я просто запустил ваш пример команды, и это сработало. Потребовалось очень много времени, чтобы подключиться к моей локальной машине. Возможно, ваша учетная запись не имеет правильных разрешений. Вполне возможно, что программное обеспечение безопасности не позволяет завершить это сомнительное поведение. HackSlash 6 лет назад 0
Кроме того, он установил службу, запустил, а затем удалил службу, когда это было сделано. Может быть, вы не можете запустить две службы одновременно. HackSlash 6 лет назад 0
Если вы хотите стать Системой, используйте параметр `-s`. harrymc 6 лет назад 0
@ Твисти Имитатор, нет. user626528 6 лет назад 0
@ HackSlash, это учетная запись администратора. Антивирус отключен. Те же ошибки. user626528 6 лет назад 0
@harrymc, та же ошибка. user626528 6 лет назад 0
Перезагрузитесь в безопасном режиме и попробуйте снова. HackSlash 6 лет назад 0
@ HackSlash, безуспешно. user626528 6 лет назад 0
Как насчет включения параметра / параметра `-h`? Прочтите https://docs.microsoft.com/en-us/sysinternals/downloads/psexec, но в нем указано `-h`" * Если целевая система Vista или выше, запущен ли процесс с повышенным токеном учетной записи, если доступно * "сделайте простой снимок, если вы еще этого не сделали. Pimp Juice IT 6 лет назад 0
@IT Snuggles, я хочу запускать его с пониженными правами, а не с повышенными правами. user626528 6 лет назад 0
Хорошо, тогда просто попробуйте запустить `psexec64 -i -u" nt полномочия \ сетевая служба "C: \ Windows \ System32 \ cmd.exe` из командной строки, запускаемой с правами администратора, и щелкнуть правой кнопкой мыши и посмотреть, выполняет ли это то, что вы ожидаете. Вам может просто понадобиться запустить команду psexec, первоначально повышенную каким-либо образом, будь то сначала из командной строки с повышенными правами, сохраненные учетные данные с повышенными разрешениями, повышенный щелчок правой кнопкой мыши, запущенный как пакетный сценарий администратора, или, возможно, сохраненный ярлык с применимыми настройками, имеющими уровень привилегий. установить запуск этой программы от имени администратора и т. д. Pimp Juice IT 6 лет назад 0
Таким образом, в то время как исходной команде psexec может потребоваться запуск с повышенными правами, в последующем и коррелированном окне командной строки или в любом другом случае будет разрешено запускать команды только в качестве учетных данных переключателя `-u` и иметь возможность выполнять только те команды, которые имеют разрешения, и в данном случае это учетная запись `nt полномочия \ сетевой службы`. Pimp Juice IT 6 лет назад 0
@IT Snuggles, вот как это было сделано, смотрите описание вопроса. user626528 6 лет назад 0
@IT Snuggles, ключ `-h 'ничего не изменил. user626528 6 лет назад 0
Просмотрите этот пост и посмотрите, видите ли вы что-нибудь полезное или связанное с ним: https://stackoverflow.com/questions/31683374/psexec-fails-to-run-locally-error-establishing-communication-with-psexec-servic , Я не могу воспроизвести эту ошибку, которую вы поднимаете наверх, но в этом посте, кажется, есть некоторые детали, связанные с проблемой, я полагаю. Pimp Juice IT 6 лет назад 1
Должно быть что-то не так с моей установкой Windows. Сообщения об ошибках не очень полезны, хотя. user626528 6 лет назад 0
@IT Snuggles, безуспешно с SFC. user626528 6 лет назад 0
Попробуйте решения из ответов, предоставленных людьми, и предоставьте некоторые отзывы на них. Кажется, это проблема, связанная с разрешениями, поэтому посмотрите в Event Viewer с компьютера, на котором он не запускается. Также в соответствии с тем другим постом, который я оставил в комментарии, убедитесь, что динамически создаваемый exe-файл, на который указывает сервисный процесс, не дублируется, пытается создать каталог, к которому у вас нет доступа, и т. Д. При установке Windows. Я просто не могу воссоздать эту проблему, чтобы получить те же ошибки, что и ваши списки вопросов, поэтому я не уверен, кроме той ссылки поста, которую я предоставил на данный момент. Pimp Juice IT 6 лет назад 0

2 ответа на вопрос

0
Twisty Impersonator

В качестве обходного пути попробуйте пропустить -i(интерактивный) переключатель, создав новый синтаксис:

psexec64 -u "nt authority\network service" C:\Windows\System32\cmd.exe 

Согласно справке PSExec для этого переключателя:

Запустите программу, чтобы она взаимодействовала с рабочим столом указанного сеанса в удаленной системе. Если сеанс не указан, процесс выполняется в сеансе консоли.

С помощью -iпереключателя вы обычно получаете новую командную строку в отдельном окне. Без этого отдельное окно не появится, но вы все равно подключитесь к новому процессу CMD.EXE, запущенному в контексте NT Authority\Network Serviceучетной записи пользователя. Вы можете убедиться в этом, запустив WHOAMIприглашение.

Как я уже писал вам в комментариях, это не сработало. user626528 6 лет назад 0
То есть вы получаете * такую ​​же * ошибку? Twisty Impersonator 6 лет назад 0
да та же ошибка. user626528 6 лет назад 0
@ user626528 Вы пытались сделать это при входе в систему со встроенной учетной записью администратора? Twisty Impersonator 6 лет назад 0
0
tukan

Сначала я бы попытался запустить местный уровень с помощью:

Это работает для вас?

"c:\your_path\psexec.exe" -i -s cmd.exe ИЛИ ЖЕ "c:\your_path\psexec64.exe" -i -s cmd.exe

Вы должны получить что-то вроде:

C:\Windows\system32>whoami /user  USER INFORMATION ----------------  User Name SID =================== ======== nt authority\system S-1-5-XX 

Я попробовал это на моем компьютере, который находится в домене:

C:\app\tools\Sysinternals Suite>psexec -i -u "nt authority\network service" C:\Windows\System32\cmd.exe  PsExec v2.2 - Execute processes remotely Copyright (C) 2001-2016 Mark Russinovich Sysinternals - www.sysinternals.com  Couldn't install PSEXESVC service: The network name cannot be found.  Make sure that the admin$ share is enabled.  C:\Windows\System32\cmd.exe exited on XXXX with error code -1073741510. 

Производство:

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.  C:\Windows\system32>whoami /user  USER INFORMATION ----------------  User Name SID ============================ ======== nt authority\network service S-1-5-XX 

Исходя из этого, я предполагаю, что сообщение Couldn't install PSEXESVC service: связано с именем вашей сети.

Это работает для вас, если вы попробуете это таким образом?

"\\computer.domain.com\C:\app\tools\Sysinternals Suite\psexec.exe" \\computer.domain.com -u "domain\username" -p "passwd" -e -s cmd.exe