Psexec не является внутренней или внешней командой исполняемой программой или пакетным файлом

У меня есть работа, которая должна запускать скрипт на удаленном компьютере. Я делаю это с помощью 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.

  1. cmd.exe не поддерживает UTF-8. Он всегда использует одну из однобайтовых кодировок, часто называемых «OEM» — cp437, cp775 и т.д., В зависимости от региональных настроек системы. (Я ожидал, что он также будет поддерживать UTF-16, но, очевидно, нет; даже если я добавлю спецификацию UTF-16.)
  2. Ваш текстовый редактор добавляет 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

  1. Откройте Visual Studio.
  2. Нажмите Инструменты >Параметры.
  3. Нажмите Текстовый редактор >Расширение файла.
  4. В поле Extension введите bat.
  5. В раскрывающемся меню « Редактор» выберите « Редакторисходного кода (текста) с кодировкой» и нажмите « Добавить».
  6. Нажмите 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

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru