Microsoft порекомендовала пользоваться инструментом PowerShell вместо классического интерпретатора CMD (cmd.exe). Разработчики не будут заниматься доработкой CMD, но оставят его в системе для обеспечения совместимости.
Что такое CMD
CMD (cmd.exe) – оригинальный интерпретатор командной строки. Он устанавливался по умолчанию во все версии Windows, начиная с Windows NT.
Командная строка – наследие MS-DOS и других систем, появившихся задолго до Windows. Она позволяет взаимодействовать с системой напрямую, устанавливать параметры работы Windows, отдельных служб и приложений, а также выполнять ряд действий, недоступных в оконном интерфейсе. Также в CMD можно вводить простые команды для поиска, перемещения, удаления файлов, запуска скриптов, приложений и т.д.
Вот лишь пара примеров: в CMD можно одной командой tracert отследить путь, который проходят пакеты данных от удаленного сервера до вашего компьютера, а ipconfig покажет все активные подключения. Используя параметры команд, вы можете указать, в каком именно виде представить информацию, как отфильтровать результаты и т.д.
Самый простой способ вызова командной строки – нажать сочетание клавиш Win + R, в появившемся окне ввести cmd. Кроме того, можно открыть файл по адресу C:/Windows/System32, ввести «Командная строка» в окне поиска или найти в меню «Пуск» пункт «Служебные» – «Командная строка» (для Windows 10).
Разработку CMD свернули после выхода Windows 2000. В качестве замены ей представили новый инструмент PowerShell.
Что будет с CMD
Глава проекта Windows Terminal Рич Тернер отметил, что cmd.exe не стоит использовать для взаимодействия с интерактивной оболочкой. Разработчик пояснил, что cmd.exe остается в системе, чтобы обеспечить совместимость со старыми скриптами и ПО, которое нельзя изменить. Но все же будущее – за PowerShell.
Тернер добавил, что Microsoft не намерена выпускать обновления CMD. Инструмент находится в режиме обслуживания. Это означает, что компания будет закрывать только критические уязвимости и реагировать лишь на самые серьезные инциденты, связанные с безопасностью.
Разработчик также признался: каждый раз, когда его команда вносила изменения в код CMD, что-то критическое оказывалось под угрозой. Так, когда создатели отредактировали формат строки с информацией об авторских правах, это привело к серьезным проблемам у OEM-производителей.
Что такое PowerShell
PowerShell – командная оболочка, которую представили в 2006 году. Спустя 10 лет Microsoft открыла исходный код этого интерпретатора команд.
PowerShell дает системным администраторам больше возможности для автоматизации рутинных задач: запуска и остановки сервисов, установки нужных параметров на рабочих станциях пользователей, обслуживания приложений и т.д. Считать его просто очередным интерпретатором не совсем верно – это полноценная оболочка с языком сценариев, построенная на .NET Core.
PowerShell работает с классами .NET, обеспечивает доступ к объектам COM, WMI и ADSI. В оболочке можно использовать хранилища вроде реестра Windows и файловой системы, встраивать исполняемые компоненты в другие приложения, получать доступ к интерфейсам совместимых приложений, настраивать роли и компоненты сервера, управлять процессами и службами.
Чтобы запустить PowerShell в конкретной папке, можно зажать Shift и кликнуть по пустому пространству правой кнопкой мыши, а в появившемся меню выбрать соответствующий пункт. Также инструмент вызывается командой powershell в окне «Выполнить» (открывается сочетанием клавиш Win + R) или в строке поиска.
В свежей версии Windows 10 работает PowerShell 5.1. Эта версия, как и CMD, находится в режиме обслуживания. Microsoft планирует заменить его PowerShell 7, и высока вероятность, что это приведет к проблемам с совместимостью.
Разработчики признают, что существует «разрыв в долгосрочной поддержке (LTS) между .NET и Windows». Пока этот разрыв не будет устранен, и PowerShell 5.1, и CMD будут доступны, но в режиме обслуживания.