PsExec не является внутренней или внешней командой: как исправить ошибку в CMD
-
Часто при работе в командной строке Windows возникает ошибка: psexec не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Это мешает запускать утилиту PsExec для удаленного выполнения команд. В этой статье разберем причины и покажем простые способы решения.
Знание этих методов сэкономит время системным администраторам и разработчикам. Вы научитесь быстро находить и запускать PsExec, настраивать PATH и проверять системные переменные. Проблема решается за минуты, если знать последовательность шагов.
Почему возникает ошибка с PsExec
Ошибка появляется, когда командная строка не может найти исполняемый файл psexec.exe. Система сначала ищет его в текущей папке, потом в директориях из переменной PATH. Если PsExec не установлен или путь к нему не добавлен, CMD выдает стандартное сообщение об отсутствии команды.
Например, вы скачиваете PsExec с официального сайта Sysinternals, распаковываете в любую папку, но при вводе psexec \компьютер cmd ничего не происходит. Это типичная ситуация для новичков в администрировании. Система не различает внутренние команды вроде dir от внешних утилит, требующих полного пути или настройки окружения.
Другая причина - отсутствие прав администратора или поврежденные системные файлы. PsExec часто используется для запуска процессов под SYSTEM, но без правильной настройки он просто не виден CMD. Логично перейти к проверке и исправлению путей.
Вот основные шаги диагностики:
- Откройте CMD и введите echo %PATH% - проверьте, есть ли там путь к PsExec.
- Перейдите в папку с psexec.exe командой cd C:\путь\к\psexec и попробуйте запустить.
- Убедитесь, что файл имеет расширение .exe и не заблокирован антивирусом.
Как добавить PsExec в PATH
Добавление пути к PsExec в системную переменную PATH - самый удобный способ. После этого команда будет работать из любой папки CMD. Это стандартная практика для всех внешних утилит вроде pip или git.
Процесс простой: правой кнопкой на Этот компьютер > Свойства > Дополнительные параметры системы > Переменные среды. В системных переменных найдите PATH, нажмите Изменить и Добавьте путь к папке с psexec.exe. Не забудьте перезапустить CMD после изменений - иначе новые пути не подхватятся.
Пример: если PsExec лежит в C:\Tools\Sysinternals, добавьте именно эту строку. Теперь psexec -s cmd запустит CMD от SYSTEM без ошибок. Если PATH переполнен, используйте инструмент вроде Path Editor для удобства.
Действие Описание Примечание Открыть переменные среды Пуск > sysdm.cpl > Дополнительно Быстрый доступ через Win+R Добавить путь Выделить PATH > Изменить > Новый Используйте ; как разделитель Перезапуск CMD Закройте и откройте заново Обязательно для применения Важно: не добавляйте полный путь к psexec.exe, только к папке.
Проверка и установка PsExec
PsExec - часть пакета Sysinternals от Microsoft, скачать можно бесплатно. Если утилита не установлена, ошибка неизбежна. Скачайте архив, распакуйте psexec.exe в удобную папку, например, C:\Windows\System32 для глобального доступа (требует админ-прав).
После распаковки протестируйте локально: psexec.exe -h -s cmd. Ключ -h повышает права, -s запускает от SYSTEM. Если появляется окно CMD с whoami nt authority\system - все работает. Проблемы возникают, если антивирус блокирует файл или расширение .exe не распознается.
Проверьте переменную PATHEXT: она должна содержать .COM;.BAT;.EXE и т.д. Если нет - добавьте вручную в переменных среды. Это решает проблемы с выполнением файлов без указания расширения.
- Скачайте PsExec с сайта Microsoft Sysinternals.
- Распакуйте в System32 или свою папку.
- Запустите от администратора: cmd /k psexec.exe.
- Для удаленного: psexec \target -u user -p pass cmd.
Проблема Решение Время Файл не найден Добавить в PATH 2 мин Нет прав Запуск от админа 1 мин Антивирус Добавить исключение 3 мин Дополнительные причины и обходные пути
Иногда ошибка маскирует системные сбои: поврежденный System32 или отключенные псевдонимы в Windows. Проверьте, работают ли встроенные команды вроде sfc /scannow. Если и они выдают ошибку - восстанавливайте систему через DISM или сброс.
Для PsExec специфично: служба PSEXESVC может не установиться на удаленной машине. Убедитесь в сетевом доступе к Admin$ и правах. Альтернатива - WinRM или PowerShell remoting для современных задач.
- Включите псевдонимы: Настройки > Приложения > Псевдонимы приложений.
- Проверьте SFC.exe в C:\Windows\System32.
- Используйте полный путь: C:\Tools\psexec.exe всегда работает.
Что еще влияет на работу команд в CMD
Ошибки с PsExec часто связаны с общими проблемами CMD, но есть нюансы. В PowerShell ошибка другая: Имя не распознано как имя командлета. Переходите на pwsh для современных сценариев.
Подумайте о контейнеризации или WSL для сложных задач - там PATH настраивается проще. Остается экспериментировать с ключами PsExec вроде -i для интерактивного режима или -d для фонового запуска.
© 2024 - 2026 ExLends, Inc. Все права защищены.