Ошибка «psexec не является внутренней или внешней командой, исполняемой программой или пакетным файлом» появляется в командной строке Windows тогда, когда система не может найти исполняемый файл psexec.exe по указанному пути. В подавляющем большинстве случаев причина одна из двух: утилита PsExec из набора Sysinternals PsTools либо вообще не скачана на компьютер, либо лежит в папке, которая не прописана в системной переменной окружения PATH.
Командная строка ищет исполняемые файлы только в текущем каталоге и в папках, перечисленных в PATH. Если psexec.exe находится, например, в «Загрузках», а вы запускаете команду из C:\Windows\System32, Windows его просто не увидит. Ниже разберём, как проверить наличие утилиты, правильно её установить и настроить окружение, чтобы команда работала из любого каталога.
Почему Windows не находит PsExec
PsExec — это не встроенный компонент Windows, а сторонняя утилита из пакета Microsoft Sysinternals PsTools. Она не устанавливается вместе с системой, поэтому до тех пор, пока вы сами не скачаете архив и не распакуете его, команда psexec в принципе не может работать. Это первое, что нужно проверить.
Если утилита на диске есть, но ошибка сохраняется, типичные причины выглядят так:
- 📁 Файл
psexec.exeраспакован в папку, которой нет в переменной PATH; - ⌨️ В имени команды допущена опечатка — например,
psxecилиpsexсс кириллической буквой; - 📦 Архив PsTools не распакован, и вы пытаетесь запустить утилиту прямо из ZIP;
- 🔄 Переменная PATH была изменена, но окно командной строки открыто до изменения и использует старые значения;
- 🛡️ Антивирус удалил или поместил в карантин
psexec.exe— некоторые защитные решения относятся к ней настороженно из-за возможности удалённого исполнения команд.
⚠️ Внимание: скачивайте PsTools только с официального сайта Microsoft (раздел Sysinternals). Сторонние источники нередко подменяют утилиту вредоносными файлами, а антивирусная репутация PsExec и так неоднозначна — подделку вы можете не заметить.
Шаг 1. Проверяем, скачан ли PsExec
Откройте папку, куда вы распаковывали PsTools, и убедитесь, что там действительно лежит файл psexec.exe. Если вы ещё не скачивали набор, загрузите архив PsTools с официальной страницы Microsoft Sysinternals и распакуйте его в постоянную папку — например, C:\Tools\PsTools. Не оставляйте утилиту в «Загрузках»: эту папку часто чистят, и путь к ней неудобно прописывать.
Быстрая проверка наличия файла выполняется прямо из командной строки:
dir C:\Tools\PsTools\psexec.exe
Если файл найден — переходите к следующему шагу. Если команда сообщает, что файл не найден, проверьте путь: возможно, архив распаковался во вложенную папку или вы смотрите не туда.
Шаг 2. Запуск PsExec без настройки PATH
Самый быстрый способ убедиться, что утилита работает, — запустить её с полным путём или из собственной папки. В командной строке перейдите в каталог с утилитой и выполните команду:
cd /d C:\Tools\PsTools
psexec \\имя_компьютера cmd
Либо укажите полный путь к исполняемому файлу:
C:\Tools\PsTools\psexec.exe -accepteula cmd
Обратите внимание на ключ -accepteula: при первом запуске PsExec показывает лицензионное соглашение, и в пакетных сценариях без этого ключа утилита может «зависнуть» в ожидании нажатия кнопки. Если с полным путём команда работает, а без него — нет, проблема точно в переменной PATH, и переходим к её настройке.
Шаг 3. Добавляем папку PsTools в переменную PATH
Чтобы команда psexec работала из любого каталога, добавьте папку с утилитой в системную переменную окружения PATH. Порядок действий в Windows 10 и 11 одинаковый:
- ⚙️ Нажмите
Win + R, введитеsysdm.cplи откройте вкладку «Дополнительно»; - 🌍 Нажмите кнопку «Переменные среды»;
- ✏️ В разделе «Системные переменные» найдите
Path, нажмите «Изменить» → «Создать» и укажите путь, напримерC:\Tools\PsTools; - ✅ Подтвердите все окна кнопкой «ОК» и обязательно закройте и заново откройте командную строку — уже открытые окна не подхватывают новые значения PATH.
☑️ Проверка после настройки PATH
Проверить результат можно командой where psexec — она покажет, какой именно файл находит система. Если выводится путь к вашей папке, настройка завершена. Если команда ничего не находит, перепроверьте запись в PATH: лишний пробел или точка с запятой в конце иногда ломают распознавание.
Альтернатива: копирование в системную папку
Вместо правки PATH некоторые администраторы копируют psexec.exe в каталог, который уже входит в PATH, — чаще всего C:\Windows\System32. Способ рабочий, но у него есть нюансы: нужны права администратора, а при обновлении PsTools легко забыть заменить старую копию. Кроме того, в 64-разрядной Windows при запуске из 32-разрядных процессов возможны перенаправления в SysWOW64, что иногда путает при диагностике.
Сравним оба подхода:
| Критерий | Папка в PATH | Копия в System32 |
|---|---|---|
| Права администратора | Нужны для системной PATH | Обязательны |
| Обновление PsTools | Замена файлов в одной папке | Легко забыть про копию |
| Порядок в системе | Утилиты в отдельном каталоге | Файл попадает в системную папку |
| Риск конфликтов | Минимальный | Возможны дубликаты версий |
Для долгосрочной работы предпочтительнее вариант с отдельной папкой и записью в PATH — так проще обновлять весь набор PsTools и контролировать версии.
Если ошибка сохраняется: дополнительная диагностика
Иногда путь настроен верно, а ошибка остаётся. В этом случае проверьте следующие моменты. Во-первых, откройте новое окно командной строки и выполните echo %PATH% — убедитесь, что ваша папка реально присутствует в выводе. Во-вторых, проверьте карантин антивируса: если psexec.exe был удалён, восстановите файл и добавьте папку PsTools в исключения защитника, если это соответствует политике безопасности вашей организации.
В-третьих, убедитесь, что вы запускаете команду в cmd.exe или PowerShell с корректным синтаксисом. В PowerShell при запуске из текущей папки требуется префикс .\:
.\psexec.exe -accepteula cmd
⚠️ Внимание: не добавляйте в исключения антивируса и не запускайте PsExec, если вы не уверены в происхождении файла. Утилиту нередко используют вредоносные программы для распространения по сети, поэтому источник загрузки должен быть только официальным.
Почему антивирусы реагируют на PsExec
PsExec позволяет выполнять команды на удалённых компьютерах, и этот же механизм используется злоумышленниками для перемещения по корпоративным сетям. Поэтому многие антивирусы классифицируют утилиту как «потенциально нежелательное ПО» или «hacking tool». Это не означает, что файл заражён, — но и игнорировать такие срабатывания без проверки источника нельзя.
Типичные ошибки после запуска
После того как ошибка «не является командой» устранена, могут появиться другие сообщения — уже связанные с самой работой PsExec. Например, ошибка доступа (Access denied) при подключении к удалённой машине означает, что не хватает прав учётной записи, отключён административный общий ресурс ADMIN$ или блокирует брандмауэр. Это отдельная тема, но важно не путать её с исходной проблемой поиска файла.
Также учтите, что для удалённого запуска на целевом компьютере должны быть доступны службы Server и Remote Registry, а учётная запись — иметь права локального администратора. Если PsExec запускается локально, но не подключается к соседней машине, проверяйте именно сетевые настройки, а не PATH.
Часто задаваемые вопросы
PsExec встроен в Windows 10 или 11?
Нет. PsExec входит в бесплатный набор Sysinternals PsTools от Microsoft, но не поставляется вместе с операционной системой. Его нужно скачать и распаковать отдельно.
Я добавил папку в PATH, но ошибка не исчезла. Что делать?
Закройте все окна командной строки и откройте новое — изменения PATH применяются только к вновь запущенным процессам. Затем проверьте командой where psexec, видит ли система файл.
Можно ли запускать PsExec без прав администратора?
Локальный запуск простых команд иногда возможен, но для большинства задач — установка службы, удалённое выполнение, работа с системными процессами — требуются права администратора. Запускайте командную строку от имени администратора.
Антивирус удалил psexec.exe. Это вирус?
Сам по себе PsExec — легитимная утилита Microsoft, но антивирусы часто помечают её как потенциально опасную из-за возможности удалённого исполнения кода. Если файл скачан с официального сайта Sysinternals, его можно восстановить из карантина и добавить в исключения в соответствии с политикой безопасности вашей организации.
В PowerShell команда psexec не работает, а в cmd работает. Почему?
В PowerShell исполняемые файлы из текущего каталога запускаются только с префиксом .\, например .\psexec.exe. Если папка добавлена в PATH, команда должна работать и без префикса — проверьте, что окно PowerShell открыто после изменения PATH.