Microsoft молча удаляет команды, которые входили в Windows уже два десятилетия. WMIC был удален в 2024 году, и каждый следующий выпуск удаляет еще несколько. Если скрипт, старший чем 2015 год, все еще запускает ваши резервные копии, восстановление или задачи подключения, то это время истекает. Хорошая новость в том, что замены уже здесь и, в большинстве случаев, они лучше. Мы выбрали семь инструментов, которые покрывают почти все, что делали устаревшие команды, плюс еще кое-что, что они никогда не могли.
На что обратить внимание при выборе замены
Правильный инструмент зависит от того, для чего была нужна старая команда. Ищите эти характеристики при планировании миграции.
- Доступны на каждом выпуске Windows, который еще используется в вашей системе
- Работают без присмотра, так как многие устаревшие команды находились внутри запланированных задач
- Предсказуемый результат, который скрипт может разобрать без ручной настройки
- Поддержка как интерактивного, так и конвейерного использования, чтобы человек тоже мог это прочитать
- Совместимость со способом подписания и распределения скриптов сегодня
- Будущее, которому вы доверяете: некоторые из перечисленных ниже замен уже пережили один цикл удаления
Быстрое сравнение
| Приложение | Лучше всего для | Бесплатный план | Выдающаяся особенность |
|---|---|---|---|
| PowerShell 7 | Все, что делали WMIC, systeminfo и net | Да | Структурированные объекты вместо разбираемых строк |
| Windows Terminal | Хост, в котором должны работать большинство из них | Да | Вкладки, разделения и современный рендеринг |
| PSTools | Удаленное администрирование и диагностика | Да | psexec все еще спасает положение |
| Nushell | Современные скрипты, где PowerShell кажется тяжелым | Да | Конвейеры, ориентированные на данные |
| WSL2 | Всё, что лучше делается с помощью Unix-инструментов | Да | Настоящий bash и grep на Windows |
| Git Bash | Легкие утилиты Linux для скриптов | Да | Знакомые инструменты Linux без WSL |
| PowerToys Command Palette | Интерактивные задачи, уходящие из Run | Да | Поставляется с поддерживаемой моделью расширения |
Приложения
1. PowerShell 7 — лучшая замена для WMIC и большинства устаревших инструментов CMD
PowerShell 7 — это современная оболочка, которую Microsoft готова продолжать обновлять. Get-CimInstance покрывает подавляющее большинство того, что раньше делал WMIC, Get-ComputerInfo обрабатывает то, что производил systeminfo, а остальные встроенные командлеты заменяют net use, net user и sc.exe. Результатом являются объекты, а не текст, который нужно обрабатывать.
Где это не работает: Время запуска медленнее, чем CMD. Некоторые очень старые скрипты полагаются на особенности Windows PowerShell 5.1, которые PowerShell 7 вежливо отклоняет.
Платформы: Windows, Linux, macOS.
Цена: Бесплатно, лицензия MIT.
Загрузить: github.com/PowerShell/PowerShell
Итог: Целевой инструмент по умолчанию для любого скрипта старше 2020 года. Выполняйте миграцию постепенно.
2. Windows Terminal — лучший хост для всего остального
Windows Terminal — это хост терминала, в котором удобно работают все остальные инструменты из этого списка. Вкладки, разделенные панели, шрифты для каждого профиля и конфигурация JSON означают, что вы можете иметь PowerShell, WSL, Git Bash и Nushell рядом, не покидая одну программу. Это замена для хоста CMD, а не для самого CMD.
Где это не работает: Нет встроенной последовательной консоли или управления профилями SSH. Сторонние обертки закрывают пробел.
Платформы: Windows 10 1903 или новее, Windows 11.
Цена: Бесплатно, лицензия MIT.
Загрузить: github.com/microsoft/terminal
Итог: Установите один раз и забудьте о conhost.
3. PSTools — лучше всего для удаленных частей старого инструментария
PSTools от Sysinternals никуда не исчезли. psexec, psloglist, psinfo и pskill по-прежнему делают то, что ничто другое не делает так чисто. Они заполняют пробел для удаленных административных задач, которые раньше выполнял WMIC, и инструменты остаются подписанными и поддерживаемыми.
Где это не работает: Нет выходных данных в стиле PowerShell. Современные инструменты SOC будут помечать psexec, потому что его используют и злоумышленники.
Платформы: Windows, плюс ограниченные порты для Linux.
Цена: Бесплатно, EULA от Microsoft.
Загрузить: learn.microsoft.com/sysinternals/downloads/pstools
Итог: Правильный выбор, когда скрипту нужно достичь другой машины без агента.
4. Nushell — лучше всего для структурированных, небольших скриптов
Nushell рассматривает данные как таблицы с самого начала. Строка вроде ps | where cpu > 10 | sort-by mem | first 5 читает список процессов, фильтрует его, сортирует и берет первые пять, все это со структурированными данными. Где PowerShell кажется тяжелым, Nushell кажется больше похожим на электронную таблицу.
Где это не работает: Экосистема меньше, чем у PowerShell. Некоторая интеропертность Windows COM пока недоступна.
Платформы: Windows, macOS, Linux.
Цена: Бесплатно, лицензия MIT.
Загрузить: nushell.sh
Итог: Стоит учиться, когда вы обнаружите, что хотели бы, чтобы PowerShell был более похож на Unix.
5. WSL2 — лучше всего, когда Unix-инструмент — правильный ответ
WSL2 поставляется с настоящим ядром Linux рядом с Windows. Когда духовная замена устаревшей команды — это awk, sed, curl или конкретный скрипт Python или Node, WSL2 — это то место, где они находятся. Интеропертность с файловыми системами Windows достаточно быстра для написания скриптов в любом направлении.
Где это не работает: Наблюдатели файлов через границу могут быть медленными. Групповая политика в некоторых организациях может его блокировать.
Платформы: Windows 10 21H2 и новее.
Цена: Бесплатно.
Загрузить: Включите функцию “Windows Subsystem for Linux” или запустите wsl --install.
Итог: Любой скрипт, эквивалент Linux которого — это однострочник, принадлежит сюда.
6. Git Bash — лучшие легкие утилиты Linux
Git Bash поставляется как часть Git для Windows и добавляет работающий bash, grep, awk, sed и find в одном установщике. Для скриптов, которым нужно всего пара инструментов Unix без веса WSL, это самый маленький вариант.
Где это не работает: Нет менеджера пакетов. То, что поставляется с Git для Windows, — это все, что вы получаете.
Платформы: Windows.
Цена: Бесплатно, GPL-2.0.
Загрузить: git-scm.com/download/win
Итог: Правильный выбор, когда скрипт нуждается в трех инструментах Unix и больше ничего.
7. PowerToys Command Palette — лучшая замена для интерактивного Run
PowerToys Command Palette — это средство запуска, управляемое с клавиатуры, которое заменило Run и Search для многих администраторов. Он поставляется с моделью расширения, которая позволяет вам создавать скрипты с новыми командами, поэтому единовременные вызовы wmic, которые жили в мышечной памяти, могут переместиться сюда.
Где это не работает: Это не оболочка. Это запускает вещи; это не составляет конвейеры.
Платформы: Windows 10 22H2 или новее.
Цена: Бесплатно, лицензия MIT.
Загрузить: learn.microsoft.com/windows/powertoys/command-palette
Итог: Правильное место для интерактивных однострочников, которые больше не принадлежат CMD.
Как выбрать правильный инструмент
- Если устаревшая команда была WMIC,
netилиsysteminfo: PowerShell 7 - Если устаревшая команда была интерактивной из Run: PowerToys Command Palette
- Если устаревшая команда достигала других машин: PSTools
- Если замена лучше написана как Unix-конвейер: WSL2 для тяжелой работы, Git Bash для небольшого скрипта
- Если командлеты PowerShell кажутся слишком многословными: Nushell
- Все работает в Windows Terminal
Часто задаваемые вопросы
Какие команды Windows были фактически удалены? WMIC был удален по умолчанию начиная с Windows 11 24H2. Другие перешли в режим “устаревшие”, что обычно означает еще одно обновление функций перед удалением. Собственный индекс непрерывности Microsoft — это источник истины.
Должны ли я переписать все скрипты сразу? Нет. Запускайте PowerShell 7 рядом с Windows PowerShell 5.1 во время миграции; оба поддерживаются. Перемещайте скрипты по мере того, как конвейеры CI и запланированные задачи их касаются.
Также ли устаревший Windows PowerShell 5.1? Microsoft обязалась сохранить 5.1 в Windows для совместимости с устаревшим ПО, но новые функции появляются только в PowerShell 7. Рассматривайте 5.1 как только для обслуживания.
Что происходит со скриптами, вызывающими WMIC после 24H2? Они получат “command not found”. Feature-on-demand устанавливает инструмент обратно на время, но эта дорога не является долгосрочным планом.
Должен ли я перейти на Nushell для всего? Только если вам это нравится. PowerShell 7 охватывает больше специфичного для Windows и имеет более широкую экосистему. Nushell отлично подходит для ежедневной работы с данными.
Работают ли эти инструменты через PowerShell Remoting? PowerShell 7 работает из коробки через WinRM или SSH. WSL2 и Git Bash являются локальными. PSTools остаются классическим ответом для удаленной работы, когда Remoting не включена.