2

Я достиг предела своих знаний о PSExec; Я работаю с программным стеком, который использует его для запуска некоторых пакетных файлов и сценариев Perl на удаленных машинах, но что-то не так с одной из машин, и мы не уверены, что попробовать. Я получаю следующее:

PsExec не удалось запустить explorer.exe на [имя компьютера отредактировано]:

Система не может найти указанный файл.

при запуске следующей команды:

psexec -i -u [имя пользователя отредактировано] -p [пароль отредактировано] \[имя компьютера отредактировано] explorer.exe C:\TestAutomation \RunScript.pl

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

explorer.exe C:\TestAutomation\RunScript.pl

И это прекрасно работает. У меня есть C:\Windows, общий доступ как ADMIN $. Если я подключаю удаленный рабочий стол к машине, я получаю сообщение "Нет процесса на другом конце канала", что, по-видимому, является общей проблемой, когда PSExec не понимает RDP; однако, если я сначала запускаю команду net use (что и делает наш обычный программный стек), я возвращаюсь к полученной выше ошибке.

Куда мне обратиться отсюда в процессе устранения неполадок?

ETA:

C:> psexec -i -u [имя пользователя отредактировано] -p [пароль отредактирован] \[имя компьютера отредактировано] C:\Windows \explorer.exe C:\TestAutomation \RunScript.pl

имеет точно такой же результат (не могу найти файл)

C:> psexec -i -u [имя пользователя отредактировано] -p [пароль отредактирован] \[имя машины отредактировано] ping [имя второго компьютера отредактировано]

работает просто отлично.

C:> psexec -i -u [имя пользователя отредактировано] -p [пароль отредактирован] \[имя компьютера отредактировано] C:\Windows \explorer C:\TestAutomation \RunScript.pl

получает меня

PsExec не удалось запустить C:\Windows\explorer на [имя компьютера отредактировано]:

В доступе отказано.

в то время как

C:> psexec -i -u [имя пользователя отредактировано] -p [пароль отредактирован] \[имя компьютера отредактировано] проводник C:\TestAutomation \RunScript.pl

получает меня

PsExec не удалось запустить проводник на [имя машины отредактировано]:

Система не может найти указанный файл.

Так что мне интересно, если у меня нет нескольких проблем? Проблема пути и проблема доступа? Я использую имя пользователя на удаленной машине.

2 ответа2

2

psexec не ищет исполняемые файлы в переменной PATH целевого компьютера. и (поправьте меня, если я неправ) насколько я знаю, я не разрешаю переменные окружения.

поэтому вам просто нужно указать полный путь к файлу, который вы хотите запустить. в вашем случае используйте

C:\Windows\explorer.exe

вместо

explorer.exe

как в примере с techie007s, но без% windir% (также system32 не так):

psexec -i -u [username redacted] -p [password redacted] \[machine name redacted] C:\Windows\explorer.exe C:\TestAutomation\RunScript.pl
0

Это была проблема с разрешениями. Я проверил разрешения для C:\Windows полдюжины раз, но наконец-то проверил разрешения для C:\Windows\explorer.exe и заметил, что они разные. Добавление группы "Все" с разрешением "Полный доступ" позволяет PsExec работать очень хорошо. Несмотря на наличие определенных сообщений об ошибках для проблем с разрешениями, PsExec решил использовать файл, не найденный в этом экземпляре по неизвестной причине.

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