У меня есть работа, которая должна запускать скрипт на удаленном компьютере. Я делаю это с помощью psexec через «Выполнить пакетную команду Windows»:
C:PsExec.exe \computername -u username -p password -accepteula c:xxx.exe
Когда я запускаю работу, я получаю следующую ошибку:
c:PsExec.exe is not recognized as an internal or external command
** PsExec.exe находится под c:
user7888823 30 апр ’17 в 07:30 2017-04-30 07:30
2017-04-30 07:30
3 ответа
Сначала определите путь к psexec.exe в переменной среды PATH или же поместите файл psexec.exe в C:WindowsSystem32
user9349890 06 сен ’18 в 12:59 2018-09-06 12:59
2018-09-06 12:59
Я вижу возраст этого вопроса, и мой ответ может не относиться к этой теме, поскольку я технически пытался решить другую проблему, но, возможно, это поможет другим людям, которые застряли.
c: PsExec.exe не распознается как внутренняя или внешняя команда
Я пытался отключить Конфигуратор обслуживания с помощью PSExec (моя проблема заключается в бесконечной ошибке обслуживания) и продолжал работать с той же ошибкой, что и OP, НО я получил PSexec64 для выполнения этой команды:
PsExec Tool
C: PsExec64.exe -s schtasks / change / tn> » Microsoft Windows TaskScheduler Конфигуратор обслуживания» /DISABLE
Установив флажок «Запустить эту программу от имени администратора» в разделе «Параметры совместимости» для PsExec64.exe
Не знаю, решило ли это мою проблему, но я думаю, что ОП смог бы запустить его процесс, если бы он это сделал. Уважаемый ОП, вы когда-нибудь решали это?
Источник: stackru.com
╗┐╗┐ ‘не распознается как внутренняя или внешняя команда
При выполнении определенных файлов (в основном пакетных) с использованием PsExec я получаю эти странные символы перед моей командой. Сначала я думал, что я использую неправильную кодировку, но после проверки я понял, что все мои файлы используют UTF-8.
изменён miestasmia 256
задан miestasmia 256
4 ответа 4
Я получаю эти странные символы до моей команды […] все мои файлы использовали UTF-8.
- cmd.exe не поддерживает UTF-8. Он всегда использует одну из однобайтовых кодировок, часто называемых «OEM» — cp437, cp775 и т.д., В зависимости от региональных настроек системы. (Я ожидал, что он также будет поддерживать UTF-16, но, очевидно, нет; даже если я добавлю спецификацию UTF-16.)
- Ваш текстовый редактор добавляет UTF-8 «метку порядка байтов» (байты EF BB BF ) в начало всех файлов UTF-8. Когда cmd.exe читает ваш сценарий, он не знает, что делать с меткой, — видит в спецификации три обычных символа cp437 ’ ╗ ┐ и пытается использовать их как часть имени команды.
Сконфигурируйте ваш редактор, чтобы прекратить добавлять спецификацию в файлы в кодировке UTF-8. (Это имеет смысл только в UTF-16 и очень бесполезно в UTF-8.)
PsExec.Exe System Account Windows 10 Troubleshooting
Решит ли проблема компиляция командных файлов в исполняемый файл?
изменён grawity 239k
ответ дан grawity 239k
- Откройте Visual Studio.
- Нажмите Инструменты >Параметры.
- Нажмите Текстовый редактор >Расширение файла.
- В поле Extension введите bat.
- В раскрывающемся меню « Редактор» выберите « Редакторисходного кода (текста) с кодировкой» и нажмите « Добавить».
- Нажмите OK, чтобы сохранить и выйти.
Теперь, когда вы открываете файл .bat из Visual Studio, вы сначала получите запрос:
Вы захотите детально изучить опции, пока не перейдете к опции DOS на своем языке:
Нажмите OK, чтобы завершить открытие файла.
Хорошо, даже если в этот момент это должно быть достаточно очевидно, если вы видите символы ∩╗┐ в начале вашего файла, вам следует удалить их и сохранить файл, теперь с правильной кодировкой. Это то, что мешает вам снова получить запрос в следующий раз.
Имея все это на своем месте, вы будете рады узнать, что теперь вы можете просматривать, редактировать и сохранять ваши файлы .bat из Visual Studio, чтобы cmd.exe больше не давал вам вышеупомянутую ужасную ошибку:
«∩╗┐» не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.
Источник: poweruser.guru
Как запустить PsExec из C++ приложения с отображением окна консоли?
Делаю программу для себя (С++, RAD Studio) , я админ, не программист.
Не получается реализовать доступ к компьютеру удаленному через psexec по нажатию на кнопку.
Такой вариант через Win+R работает: cmd.exe /k C:WindowsSystem32PsExec.exe \COMP cmd.exe
Но в коде воплотить не удается. Например
ShellExecute(NULL,L»open»,L»C:\Windows\System32\cmd.exe»,L»/k C:\Windows\System32\PsExec.exe \\COMP cmd.exe»,0,SW_SHOWNORMAL);
выдает что «C:WindowsSystem32PsExec.exe» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. PsExec там точно лежит, копирую путь правой клавишей + Shift.
Пробовал делать через system, WinExec, путь писать с кавычками, просто запускать psexec — либо просто пустое окно CMD, либо ошибка выше. ipconfig из кода при этом работает: окно с выполненной командой появляется и можно писать команды дальше. Как будто при запуске весь путь воспринимается как название программы и идет поиск в системных переменных.
- Вопрос задан более двух лет назад
- 275 просмотров
Источник: qna.habr.com