Ошибка «Имя не распознано как имя командлета, функции, файла или выполняемой программы» в Windows 7 возникает, когда вы пытаетесь использовать команду irm (сокращение от Invoke-RestMethod) в стандартной командной строке (cmd.exe). Причина проста: irm — это псевдоним команды PowerShell, а в Windows 7 он по умолчанию недоступен в обычном терминале. Давайте разберёмся, как это исправить.

irm — удобный инструмент для скачивания файлов прямо из командной строки, но он требует PowerShell версии 3.0 и выше. В Windows 7 по умолчанию установлена PowerShell 2.0, где этой команды нет. Плюс, даже если у вас более новая версия, вы, скорее всего, запускаете не тот терминал. Решений несколько — от простого переключения на PowerShell до обновления системы.

Почему возникает ошибка и что такое irm

Команда irm — это сокращение от Invoke-RestMethod, которая появилась в PowerShell 3.0. Она позволяет загружать данные из интернета (например, JSON, или файлы) прямо в консоли. В Windows 7 по умолчанию стоит PowerShell 2.0, где этой команды нет. Даже если вы обновили PowerShell до 3.0 или выше, ошибка будет появляться, если вы пытаетесь использовать irm в обычной командной строке (cmd.exe).

PowerShell и cmd.exe — это разные оболочки. В cmd.exe работают команды вроде dir, ipconfig или ping, а irm — это исключительно команда PowerShell. Поэтому, если вы видите ошибку «Имя не распознано как имя командлета windows 7», первым делом проверьте, в какой оболочке вы работаете.

💡

Чтобы быстро переключиться между cmd и PowerShell, введите в адресной строке папки powershell и нажмите Enter — откроется PowerShell в текущей директории.

Характеристика cmd.exe PowerShell
Тип оболочки Текстовая, унаследованная от MS-DOS Объектно-ориентированная, на основе .NET
Поддержка irm ❌ Нет ✅ Да (начиная с версии 3.0)
Синтаксис команд Простой, ограниченный (например, dir /s) Мощный, с поддержкой конвейеров и объектов (например, Get-ChildItem | Where-Object { $_.Length -gt 1MB })
Версия по умолчанию в Windows 7 Доступна всегда 2.0 (нужна установка обновлений для 3.0+)

Отличия между cmd.exe и PowerShell в Windows 7

Чтобы понять, почему irm не работает, нужно разобраться в различиях между двумя оболочками. В таблице ниже — ключевые отличия, которые влияют на выполнение команд.

Из таблицы видно, что cmd.exe просто не рассчитан на работу с командами PowerShell. Даже если вы обновите PowerShell до актуальной версии, в стандартной командной строке irm работать не будет.

Как проверить версию PowerShell в Windows 7

Прежде чем искать решение, уточните, какая версия PowerShell установлена в вашей системе. Для этого:

  • Откройте PowerShell (через меню Пуск → Все программы → Стандартные → Windows PowerShell).
  • Введите команду: $PSVersionTable.PSVersion.
  • Посмотрите на вывод. Если версия ниже 3.0, irm не будет работать.

В Windows 7 по умолчанию установлена PowerShell 2.0. Чтобы обновиться до 3.0 или 4.0, потребуется установить Windows Management Framework (WMF) 3.0 или 4.0. Но есть нюанс: для WMF 4.0 нужна Windows 7 SP1. без него обновление не установится.

Способы решения ошибки «Имя не распознано»

Есть несколько способов устранить ошибку. Выберите подходящий в зависимости от ваших задач и возможностей системы.

  1. Используйте PowerShell вместо cmd.exe.
    Самое простое решение — запускать команды, требующие irm, напрямую в PowerShell. Для этого:
    1. Откройте PowerShell (через Пуск или введите powershell в строке поиска).
    2. Попробуйте выполнить команду, например: irm https://example.com/file.json.
    Если версия PowerShell 3.0+, команда сработает.
  2. Обновите PowerShell до версии 3.0 или выше.
    Для этого скачайте и установите Windows Management Framework (WMF) с сайта Microsoft. Учтите, что для WMF 4.0 требуется Windows 7 SP1. Перед установкой проверьте, установлен ли сервис-пак (через Панель управления → Система).
  3. Используйте альтернативы irm в cmd.exe.
    Если вам нужно скачать файл из командной строки, а PowerShell недоступен, воспользуйтесь утилитами вроде curl или wget. В Windows 7 их нет по умолчанию, но можно скачать и добавить в PATH.
⚠️ Внимание: Установка Windows Management Framework может потребовать перезагрузки системы. Перед обновлением сохраните все открытые файлы и закройте важные программы.
Какую оболочку вы испальзуете чаще в Windows 7?
Command Prompt (cmd.exe)
PowerShell
Обе по очереди
Другую (например, Cygwin)

Сравнение альтернатив irm для скачивания файлов

Если вы не хотите переключаться на PowerShell или обновлять его, можно использовать другие инструменты для загрузки файлов из командной строки. В таблице ниже — сравнение популярных альтернатив.

Инструмент Тип Как установить в Windows 7 Пример команды
curl Утилита командной строки Скачать с сайта разработчика и добавить в PATH curl -O https://example.com/file.zip
wget Утилита командной строки Скачать с сайта GNU и добавить в PATH wget https://example.com/file.zip
bitsadmin Встроенная утилита Windows Доступна по умолчанию bitsadmin /transfer myDownloadJob /download /priority normal https://example.com/file.zip %CD%\file.zip

Из таблицы видно, что bitsadmin — единственная встроенная утилита в Windows 7, которая может заменить irm. Однако её синтаксис сложнее, а функционал ограничен. curl и wget удобнее, но их нужно устанавливать отдельно.

Что делать, если PowerShell обновлён, но irm всё равно не работает

Бывает, что PowerShell обновлён до 3.0 или выше, но команда irm всё равно не распознаётся. В этом случае проверьте следующие моменты:

Даже в обновлённом PowerShell команда irm может не работать, если вы запускаете её в cmd.exe — уточните, в какой оболочке вы работаете.

Как проверить, что irm доступен в вашей системе

Введите в PowerShell команду Get-Alias irm. Если псевдоним существует, вы увидите вывод вроде irm -> Invoke-RestMethod. Если нет — значит, версия PowerShell ниже 3.0 или псевдоним отключён.

Пошаговая инструкция: как пользоваться irm в Windows 7

Если вы решили обновить PowerShell и использовать irm, следуйте этой инструкции:

Как настроить irm в Windows 7

Выполнено: 0 / 5

Часто задаваемые вопросы

Можно ли использовать irm в Windows 7 без обновления PowerShell?

Нет. irm — это псевдоним команды Invoke-RestMethod, которая появилась только в PowerShell 3.0. В стандартной PowerShell 2.0 в Windows 7 этой команды нет. Альтернативы: обновите PowerShell или используйте другие утилиты вроде curl, wget или bitsadmin.

Почему после обновления PowerShell команда irm всё равно не работает?

Возможные причины:

  1. Вы запускаете команду в cmd.exe, а не в PowerShell.
  2. Обновление PowerShell не было установлено корректно (проверьте версию командой $PSVersionTable.PSVersion).
  3. Псевдоним irm отключён в вашей сессии (попробуйте использовать полное имя команды: Invoke-RestMethod).
Как скачать файл через командную строку в Windows 7 без irm?

Используйте встроенную утилиту bitsadmin:

bitsadmin /transfer myDownload /download /priority normal https://example.com/file.zip C:\Downloads\file.zip
Или установите curl или wget и добавьте их в переменную PATH, чтобы использовать в cmd.exe.

Можно ли установить PowerShell 5.1 или 7.x в Windows 7?

Да, но с оговорками:

  • PowerShell 5.1 можно установить через Windows Management Framework 5.1, но он требует Windows 7 SP1 и обновления KB3066416.
  • PowerShell 7.x (Core) также поддерживает Windows 7, но его нужно скачивать и устанавливать отдельно с GitHub. Однако он работает параллельно с системным PowerShell и не заменяет его.