Разное

Powershell cmd: 404 — Содержимое не найдено

29.09.2005

Содержание

Сравнение CMD и PowerShell

Командная строка долгое время является неотъемлемой частью Windows, и за это время для нее было создано множество различных утилит. PowerShell задумывался в том числе и как альтернатива командной строке, однако сможет ли он полностью заменить ее ?

Для примера я взял наиболее распространенные утилиты командной строки, применяемые в администрировании, и попробовал подобрать им замену в PowerShell. Вот что из этого получилось.

Ping

На замену утилите ping в PowerShell пришел командлет Test-Connection, входящий в состав модуля Microsoft.PowerShell.Management. Для примера пропингуем сервер SRV3 командой:

Test-Connection -ComputerName SRV3

Можно указать для проверки сразу несколько серверов, например перечислив их через запятую:

Test-Connection -ComputerName SRV3, SRV4

или считав из файла:

Test-Connection -ComputerName (Get-Content serverlist.txt)

Еще командлет умеет запускать проверку сразу с нескольких точек. Например, для проверки сервера SRV4 с локального компьютера и с сервера SRV3 воспользуемся следующей командой:

Test-Connection -Source localhost, SRV3 -ComputerName SRV4

Параметр -Source появился только в PS 3.0. В некоторых случаях очень удобно, однако при его использовании может понадобится ввести учетные данные:

Test-Connection -Source localhost, SRV3 -ComputerName SRV4 -Credential Contoso\administrator

 

Примечание. Командлет использует класс Win32_PingStatus, поэтому для проверки соединения можно воспользоваться командой Get-WmiObject Win32_PingStatus, ее действие аналогично команде Test-Connection.

Tracert

Следующее средство, обычно применяемое после ping — это трассировка с помощью утилиты tracert. В PowerShell для этих целей можно задействовать командлет Test-NetConnection из модуля NetTCPIP. Не смотря на похожее название, по функционалу он довольно сильно отличается от предыдущего командлета, хотя включает в себя и его возможности. Кроме проверки TCP соединения вывод может включать в себя список IP интерфейсов, разрешение DNS-имен (DNS lookup), правила IPsec и проверку возможности установления соединения. В самом простом варианте команда выглядит так:

Test-NetConnection -ComputerName ya.ru

Для пошагового вывода в стиле tracert можно сделать так:

Test-NetConnection -ComputerName ya.ru -TraceRoute

Также можно указать определенный порт и сделать детализованный вывод:

Test-NetConnection -ComputerName ya.ru -Port 80 -InformationLevel Detailed

IPConfiig

Первое, для чего используют Ipconfig — это просмотр сетевых настроек. В PowerShell для этих целей можно воспользоваться командлетом Get-NetIPConfiguration. Так для подробного вывода настроек для всех сетевых интерфейсов (аналог ipconfig /all) введем команду:

Get-NetIPConfiguration -All -Detailed

 

Для операций с клиентом DNS воспользуется командлетами PowerShell из модуля DNSClient. Для очистки содержимого локального кеша DNS вместо ipconfig /flushdns выполним команду Clear-DnsClientCache, для перерегистрации вместо ipconfig /registerdns — команду Register-DnsClient. Вывести содержимое кеша (ipconfig /displaydns) можно командой Get-DnsClientCache. Также можно выводить не все содержимое кеша, а посмотреть только определенную запись, например:

Get-DnsClientCache -Entry www.bing.ru

Nslookup

Для проверки DNS имен вместо nslookup можно воспользоваться командлетом Resolve-DnsName, входящий в состав модуля DNSClient. Синтаксис у них похожий, например:

Resolve-DnsName -Name SRV3

Можно указать тип записи (A, PTR, SRV), указать, откуда брать данные и выбрать определенный DNS-сервер, отличный от дефолтного:

Resolve-DnsName -Name SRV3 -Type A -DNSOnly -Server 192.168.0.1

Netstat

Утилита Netstat — еще один инструмент сетевой диагностики, показывающий сетевые подключения. Заменим ее командлетом Get-NetTCPConnection. Следующая команда выведет все подключения к интернету, имеющие статус установленных (Established):

Get-NetTCPConnection -State Established -AppliedSettings Internet | ft -auto

Route

Для управления маршрутизацией вместо утилиты Route воспользуемся несколькими командлетами из модуля NetTCPIP. Для примера попробуем добавить новый постоянный маршрут до сети 172.16.0.0 с маской 255.255.0.0 и шлюзом 192.168.0.1 для интерфейса с номером 3. Вот так это можно сделать с помощью Route:

Route -p add 172.16.0.0 mask 255.255.0.0 192.168.0.1 -if 3

А вот так при использовании PowerShell:

New-NetRoute -DestinationPrefix ″172.16.0.0/16″ -InterfaceIndex 3 -NextHop 192.168.0.1

Для просмотра таблицы маршрутизации вместо route print возьмем командлет Get-NetRoute.  Выведем все маршруты для протокола IPv4 командой:

Get-NetRoute -AddressFamily IPv4 | ft -auto

 

В PS 4.0 появился интересный командлет Find-NetRoute, с помощью которого можно вывести маршрут для одного конкретного  IP-адреса, например:

Find-NetRoute -RemoteAddress 10.0.0.1

Для удаления маршрута (вместо route delete) также есть отдельный командлет Remove-NetRoute, например:

Remove-NetRoute -DestinationPrefix ″172.16.0.0/16″ -InterfaceIndex 3 -NextHop 192.168.0.1 -Confirm:$false

Для изменения уже созданного маршрута вместо route change можно воспользоваться связкой Remove-NetRoute&New-NetRoute.

Netsh

Утилита Netsh (Network shell) предназначена для выполнения различных задач по настройке сети. Поскольку функционал ее достаточно широк, для сравнения возьмем одну из типичных задач по настройке сетевого интерфейса.  Предположим, нам необходимо проверить настройки сетевого интерфейса, и если включен DHCP — отключить его и настроить статическую адресацию. С помощью netsh это будет выглядеть следующим образом:

Netsh interface IPv4 show addresses
Netsh interface IP set address ″Ethernet″ static 192.168.0.11 255.255.255.0 192.168.0.1

Netsh interface IP add DNSServers ″Ethernet″ 8.8.8.8

И тоже самое, но уже с помощью PowerShell:

Get-NetIPAddress -InterfaceIndex 3 -AddressFamily IPv4
Set-NetIPInterface -InterfaceIndex 3 -Dhcp disabled
New-NetIPAddress -InterfaceIndex 3 -IPAddress 192.168.0.11 -PrefixLength 24 -DefaultGateway 192.168.0.1
Set-DNSClientServerAddress -InterfaceIndex3 -ServerAddresses (″8.8.8.8″)

 

Что интересно, для изменения сетевых настроек придется их удалить и создать заново. Например IP-адрес можно изменить так:

Remove-NetIPAddress -InterfaceIndex 3 -IPAddress 192.168.0.11 -PrefixLength 24 -DefaultGateway 192.168.0.1 -Confirm:$false

New-NetIPAddress -InterfaceIndex 3 -IPAddress 192.168.0.12 -PrefixLength 24 -DefaultGateway 192.168.0.1 -Confirm:$false

 

Примечание. Для изменения IP-адреса логично было бы воспользоваться специально предназначенным для этого командлетом Set-NetIPAddress, но не тут-то было 🙂 При попытке изменить настройки этот командлет стабильно выдает ошибку. Как выяснилось, этот командлет не может изменить сам IP-адрес, а только некоторые его свойства.

Gpupdate и Gpresult

Для обновления групповых политик вместо Gpupdate в модуле GroupPolicy есть командлет Invoke-GPUpdate. Синтаксис у них практически один и тот же, например принудительное обновление политик пользователя выполняется командой:

Gpupdate /target:user /force
Invoke-GPUpdate -Target user -force

Ну и посмотреть результирующие политики вместо Gpresult можно командлетом Get-GPResultantSetOfPolicy. Осуществить вывод результатов в HTML-файл можно командой:

Get-GPResultantSetOfPolicy -ReportType Html -Path C:\gpo.html

CMD vs PowerShell

Как видите, PowerShell вполне в состоянии заменить большинство утилит командной строки. Однако остается еще один вопрос —  зачем это нужно.

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

Из недостатков — большинство описанных в статье команд требуют PowerShell 3.0, а некоторые вообще есть только в четвертой версии. Также некоторые командлеты (напр. Set-NetIPAddress) работают криво не совсем так, как должны.

Ну а на стороне CMD проверенный временем функционал, который есть в любой версии Windows. Кроме того, для простых задач администрирования cmd использовать привычнее, а где-то и удобнее.

Итак, что же лучше — CMD или PowerShell ? Не знаю как вы, а я не готов однозначно ответить на этот вопрос. Впрочем, ничто не мешает нам пользоваться и тем и другим.

PowerShell против командной строки | Лучшие 14 различий, которые вы должны знать

Разница между PowerShell и командной строкой

Командная строка или cmd — это приложение по умолчанию для окон, которое используется для взаимодействия с любыми объектами Windows в ОС Windows. Это позволяет пользователям напрямую взаимодействовать с системой. Он наиболее широко используется для выполнения командных файлов или запуска простых утилит. PowerShell — это более продвинутая версия cmd. Это не только интерфейс, но и язык сценариев, который используется для более простого выполнения административных задач. Большинство команд, выполняемых в cmd, также можно запускать в PowerShell. В этом посте мы подробно обсудим разницу между Powershell и командной строкой.

Сравнение лицом к лицу PowerShell с командной строкой (инфографика)

Ниже приведены 14 основных отличий PowerShell от командной строки:

Основные различия между PowerShell и командной строкой

Давайте обсудим некоторые основные различия между PowerShell и командной строкой:

  • Основное различие между PowerShell и командной строкой заключается в понимании того, что команда или командлет делает для обычного пользователя. Обычный пользователь сможет угадать, что должен делать командлет PowerShell, просто взглянув на командлет, поскольку большинство командлетов очень легко интерпретировать, поскольку они следуют простому соглашению глагола, за которым следует существительное.
  • Командлеты следуют соглашению глагол-существительное, первая часть любого командлета будет указывать тип действия, которое будет выполнять командлет, т. е. получать, устанавливать или добавлять, и поскольку после него следует существительное, оно будет обозначать, какое действие будет выполнено.
  • PowerShell имеет команду Get-help, которая поможет пользователю со всеми доступными командами, их синтаксисом и псевдонимами. Некоторыми примерами командлетов являются Add-Content, Get-Content, Get-Command. Обычному пользователю легче понять, что будут выполнять вышеприведенные командлеты, просто взглянув на них. С другой стороны, давайте посмотрим на некоторые из запросов драйвера команд cmd, cipher, assoc. Команды не легко узнаваемы для обычного пользователя.
  • Другое различие между PowerShell и cmd заключается в их использовании. Cmd используется в основном для выполнения пакетных команд, для устранения некоторых основных проблем, тогда как PowerShell может использоваться для выполнения пакетных команд, а также в административных целях.
  • Сценарии также могут быть написаны в PowerShell для автоматизации задач. PowerShell также имеет ISE, который облегчает написание и отладку сценариев. Cmd нельзя использовать для взаимодействия с системными объектами в ядре, а поскольку PowerShell построен на платформе .net, он может взаимодействовать с объектами Windows даже на уровне ядра.
  • Cmd работает только с текстом. PowerShell похож на Linux и работает с конвейерами. Это означает, что вывод одного командлета может быть передан другому командлету. Это гарантирует, что взаимодействие между различными программами в системе возможно или даже взаимодействие между различными системами, подключенными к сети.
  • PowerShell предоставляет пользователю возможность создавать псевдонимы для командлетов или сценариев, что позволяет им переключаться между ними, казалось бы, легко. Вывод в PowerShell является объектом.

Сравнительная таблица PowerShell и командной строки

Давайте обсудим лучшее сравнение между PowerShell и командной строкой:

PowerShellКомандная строка
PowerShell был представлен в 2006 году.CMD был введен в 1981 году.
Его можно открыть из запуска, набрав PowerShell.Его можно открыть из запуска, набрав cmd.
Он может работать как с пакетными командами, так и с командлетами PowerShell.Может работать только с пакетными командами.
Он предоставляет возможность создавать псевдонимы для командлетов или скриптов. Это может помочь пользователю легко перемещаться между функциями.Он не поддерживает создание псевдонимов команд.
Выходные данные из командлета могут быть переданы другим командлетам.Вывод команды не может быть передан другим командам.
Вывод в виде объектаВывод команды — это просто текст.
Может выполнить последовательность командлетов, собранных в сценарии.В cmd команда должна быть завершена до запуска следующей команды.
Команда справки доступна для получения информации о любых командлетах.Нет такой опции справки для информации о командах.
У него есть ISE.Есть только интерфейс командной строки, нет отдельного ISE.
Он имеет доступ к программным библиотекам, так как построен на основе .net.Нет такого доступа к библиотекам.
Он может интегрироваться напрямую с WMI.Нужен внешний плагин для взаимодействия WMI.
Я могу подключиться к облачным продуктам Microsoft.У этого нет возможности соединиться с продуктами онлайн MS.
Поддерживает системы Linux.Он не поддерживает системы Linux.
Он может быть использован для запуска всех типов программ.Он может запускать только программы консольного типа.

Примеры PowerShell и командной строки

Давайте рассмотрим некоторые основные операции, которые можно выполнить с помощью cmd и PowerShell с их синтаксисом.

1. Чтобы изменить местоположение каталога
  • Команда Cmd : cd / d D: \ testfolder
  • Командлет Powershell : Set-Location ”D: \ testfolder”

Вывод : обе команды изменяют местоположение из текущего каталога в тестовую папку на диске D.

2. Чтобы вывести список всех файлов в каталоге
  • Команда cmd : dir
  • Командлет Powershell: Get-Childitem

Вывод: выше будет отображаться файлы, которые присутствуют в текущем каталоге

3. Переименование файла
  • Команда Cmd : переименовать c: \ old.txt new.txt
  • Командлет Powershell : переименование-элемент «c: \ file.txt» -NewName «new.txt»

Вывод: вышеприведенные команды переименуют нужный файл.

4. Доступ к справочной команде
  • Команда Cmd: help (имя команды) (/?)
  • Командлет Powershell: Get-Help «Имя командлета »

Вывод: оба отображают синтаксис и полезную информацию, относящуюся к упомянутой команде / командлету.

5. Остановить процесс
  • Команда Cmd: Stop-Process -Name «ProcessName»
  • Командлет Powershell: Stop-Process -Name «ProcessName»

Вывод: Оба останавливает запуск упомянутого процесса.

6. Отключение локальной системы
  • Команда Cmd: выключение / с
  • Командлет Powershell: Stop-Computer

Вывод: оба выключают локальную систему

7. Перезагрузите локальную систему
  • Команда Cmd: выключение / r
  • Командлет Powershell: перезагрузка компьютера

Вывод: оба перезагружают локальную систему

8. Получить IP-адрес
  • Команда Cmd: ipconfig
  • Командлет Powershell: Test-Connection -ComputerName (имя хоста)

Вывод: оба возвращают IP-адрес системы

Вывод

Таким образом, статья охватила различные аспекты командной строки и PowerShell. В более широком плане было бы лучше начать изучать PowerShell, поскольку он является относительно новым по сравнению с командной строкой, и Microsoft работает над улучшением функций PowerShell. Powershell построен на основе .net, поэтому он имеет доступ к нескольким библиотекам, что облегчает соединение с несколькими системами. Наконец, PowerShell — это инструмент для администраторов, который помогает автоматизировать различные повседневные задачи.

Рекомендуемые статьи

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

  1. РОЛАП против МОЛАП против ХОЛАП
  2. SSH против SSL
  3. MariaDB против MySQL
  4. Data Scientist vs Software Engineer

Windows PowerShell против CMD — в чем разница

Большинство из вас, должно быть, использовали командную строку в какой-то момент времени — будь то просто ради эксперимента или решения проблемы, такой как восстановление данных после заражения ярлыком вируса. Но как насчет PowerShell, который появился позже? В чем разница между PowerShell и cmd?

Что ж, я уверен — если вы не являетесь опытным пользователем со знанием программирования, вам даже не придется открывать PowerShell. Но можно ли его использовать в качестве замены командной строки? Это только для программистов или с ним легко познакомиться?

У нас есть все, что вам нужно знать о них обоих. Чтобы упростить задачу, мы не будем углубляться в корни их различий, а в этой статье будет выделено только существенное различие между PowerShell и cmd, чтобы помочь вам выбрать, какой из них использовать.

История

1. Командная строка

Командная строка — это интерпретатор командной строки. Он существует в Windows с тех пор, как введение Windows 95. В то время она называлась не «Командная строка», а просто «cmd.exe», которая позволяла пользователям взаимодействовать с операционной системой с помощью определенных команд. А затем с Windows NT это было названо — «Командная строка».

Что ж, теоретически это было почти то же самое, что и COMMAND.COM (или более известное как MS-DOS), с множеством улучшений.

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

2. PowerShell

Чтобы преодолеть недостатки командной строки, Microsoft начал разработку оболочки под названием Monad, которая была намного мощнее командной строки (могла выполнять множество основных административных задач, которые CMD не могла).

Позже, в 2006 году, он был переименован в Microsoft PowerShell. А недавно (в 2016 году) PowerShell был сделан с открытым исходным кодом с кроссплатформенной поддержкой.

Технические функции

Технические различия будут иметь значение только для тех, кто хочет управлять и автоматизировать определенные задачи, взаимодействуя с ОС через интерфейс командной строки. Если вы понятия не имеете, что такое язык программирования, знание технических различий вам не поможет.

PowerShell использует другой набор команд, известный как командлеты. С его помощью вы можете попробовать управлять множеством задач системного администрирования. Однако вы не можете получить доступ к тому же через командную строку. PowerShell также позволяет вам использовать — «каналы» — что является просто способом облегчить передачу информации из одной программы в другую — это делает PowerShell еще более мощным.

Кроме того, как указано выше, с помощью PowerShell вы можете создавать сложные сценарии, но этого не произойдет в командной строке.

Короче говоря, PowerShell — это улучшенная среда командной строки по сравнению с командной строкой.

CMD против Powershell: команды

Если вы собираетесь использовать какой-либо из них большую часть времени, вам следует внимательно изучить их документацию здесь:

Документация по PowerShell

Документация по командной строке

Если вы просто хотите узнать основную разницу в их командах, то вот что:

Когда вы наблюдаете такую ​​команду, как cd / dir / переименовать (команды из одного слова), это командная строка для вас. Вот почему это по-прежнему самый простой инструмент командной строки.

Однако с Powershell вы получите более выразительные команды (описывающие их работу), например:

Set-Location/Get-children/Rename-item

Windows PowerShell против командной строки: какую из них использовать?

Учитывая, что PowerShell — это гораздо более продвинутая среда командной строки, она подходит только для системных администраторов Windows.

Если вы знаете о создании сценариев, управлении задачами автоматического администрирования в Windows и хотите сделать это с большей расширяемостью, тогда PowerShell для вас. Кроме того, если вы знаете язык программирования C #, это отлично подойдет.

Однако, если вы не программист и понятия не имеете, что делают системные администраторы, вам следует придерживаться командной строки. Он не устареет. Командная строка по-прежнему будет использоваться многими пользователями (включая программистов) для выполнения менее сложных, но важных вещей, таких как очистка жесткого диска, преобразование диска из GPT в MBR, восстановление после ярлыка вируса и т. д.

Вы бы не захотели использовать PowerShell, если хотите исправить незначительные проблемы или просто проверить данные ping.

Подводя итог

Теперь, когда вы знаете о разнице между PowerShell и CMD, вы можете выбрать любого, кого хотите, в соответствии с задачей, которую вы хотите решить. Среди этих двух нет ничего лучше или хуже, все зависит от того, чего хочет пользователь.

Все еще не понимаете, чем PowerShell отличается от командной строки? Поделитесь с нами своими мыслями в комментариях ниже.

Выполнить команду в cmd.exe с помощью PowerShell

PowerShell, как и любая оболочка, может выполнять консольные приложения напрямую, синхронно, при этом стандартные потоки приложения подключаются к потокам PowerShell.

Всегда используйте Start-Process только если вы хотите запустить программу в новом окне [1] ; также обратите внимание, что Start-Process по умолчанию является асинхронным .

Ниже показано, как запустить команду createDbsQuery напрямую и синхронно из PowerShell, используя PowerShell для временного изменения рабочего каталога и записи результатов команды в файл:

  $somefile = "C:\ProgramFiles\сайт.текст"

$createdbs = "C:\PowerShell\createDBsQuery"

# Перейдите в каталог, требуемый сценарием $createdbs.
# и сохранить текущий каталог.
Пуш-местоположение «C:\ProgramFiles\Infor\Tools»

# Запускаем скрипт и записываем его стандартный вывод в файл $somefile
# Поскольку путь к команде хранится в переменной, для
# вызвать его.
# Обратите внимание, что в Windows PowerShell `>
` по умолчанию создает файлы Unicode (UTF-16LE). # В PowerShell [Core] 6+ используется кодировка UTF-8 без спецификации. # Чтобы управлять кодировкой, подключитесь к Set-Content; е.грамм.: # & $созданобб | Set-Content $someFile-Кодировка Utf8 & $createdbs > $somefile # Восстановить предыдущий каталог. Поп-местоположение

Как видите, нет необходимости задействовать cmd.exe (но если $createdbs окажется пакетным файлом , ( *.bat , *.cmd ), cmd. exe будет неявно выполняться ), учитывая, что PowerShell, как самостоятельная оболочка, предлагает те же функции, что и cmd.exe и многие другие.


[1] Существует также параметр -NoNewWindow , но он редко требуется, учитывая, что прямой вызов обеспечивает не только синхронное выполнение в том же окне по умолчанию, но также соединяет стандартные потоки вывода вызываемой программы с потоками PowerShell, включение захвата и перенаправления вывода. -NoNewWindow в первую очередь полезен с -Wait для временного устранения неполадок Start-Process вызывает вызовы, предназначенные для запуска в новом окне, если это окно закрывается (слишком) быстро из-за ошибки, чтобы увидеть, какой вывод произведен там.

Все ли команды CMD доступны в powershell?

Те команды, которые встроены в cmd.exe (например, dir , type ) не могут быть вызваны напрямую 5 через сеанс PowerShell 90, но вы можете вызвать их 50 /60 cmd 90 через сеанс PowerShell 90 в … ; например:

  PS> cmd /c вер
  

Однако вы обнаружите, что большинство таких команд имеют более мощные аналоги PowerShell.
Для облегчения перехода некоторые команды PowerShell (называемые командлетами ) имеют псевдонимы , названные в честь их предшественников cmd.exe (например, dir имеет псевдоним Get-CommandItem

5 ; используйте name>

, чтобы узнать, к какой команде относится данное имя).

Обратите внимание, что PowerShell также обеспечивает превосходную замену внешних утилит ; например, PowerShell Select-String является превосходной альтернативой findstr.ехе .
В отличие от встроенных команд cmd.exe , такие внешние утилиты можно вызывать напрямую из PowerShell .

Вы можете запустить where.exe <имя> , чтобы определить, относится ли данное имя команды к встроенной команде cmd.exe или к внешней утилите : если это последняя, ​​печатается ее полный путь.
(Этот метод работает как с cmd.exe , так и с PowerShell , но в PowerShell вы должны включить .exe , потому что просто , где означает нечто другое: это псевдоним командлета Where-Object .)

Во всех этих случаях важно понимать, что синтаксис PowerShell работает совсем по-другому и что передаваемые вами аргументы будут интерпретироваться PowerShell сначала :

  • Get-Help about_Parsing предоставляет общий обзор .

  • Примечательно, что PowerShell имеет гораздо больше метасимволов, чем cmd.exe (больше символов имеют особое синтаксическое значение).

  • Особый интерес при вызове cmd /c или вызове внешней утилиты представляет PSv3+ символ остановки анализа , --% , который обрабатывает оставшуюся часть команды, как если бы она была вызвана из cmd .exe ; например:
    cmd /c --% echo %windir%

PowerShell против CMD: раскрытие возможностей Windows

PowerShell был представлен как более надежная и многофункциональная оболочка командной строки для замены CMD.исполняемый. Это позволяет ИТ-администраторам более эффективно управлять компьютерами нескольких пользователей одновременно и может использоваться как удаленными группами поддержки, так и внутренними ИТ-отделами.

Это кроссплатформенный инструмент автоматизации, который сочетает в себе язык сценариев и оболочку командной строки, позволяя выполнять такие задачи, как автоматизация процессов и управление конфигурацией машин в организациях. Microsoft PowerShell работает в Windows, Linux и macOS, а также может использоваться для управления компьютерами в облачных средах, таких как Microsoft Azure.

CMD.exe — это пример интерфейса командной строки (CLI), который был популярен на заре администрирования Windows, но за годы до выпуска PowerShell придумывались замены. Представленный в Windows NT примерно в 1993 году, CMD.exe был преемником command.com, но его замена началась в 2002 году с проекта под названием Monad — Microsoft Shell. После серии бета-версий Monad была переименована в «Windows PowerShell» и запущена несколько лет спустя, в сентябре 2006 года.

PowerShell и CMD.exe до сих пор используются в вычислительной технике, хотя и не взаимозаменяемы. Возможности PowerShell значительно превосходят возможности CMD.exe и включают более 130 основных инструментов командной строки. Powershell теперь является командной оболочкой по умолчанию в Windows, приняв мантию CMD.exe в 2017 году, и пользователи могут получить к ней доступ через проводник.

Так почему переход на PowerShell?

PowerShell значительно мощнее и богаче по сравнению с CMD.exe; он может управлять сотнями машин на разных платформах, тогда как CMD.exe способен выполнять гораздо более простые задачи в меньшем масштабе.

CMD.exe никогда не предназначался для решения таких сложных вычислительных задач, и именно здесь может вмешаться PowerShell. Эта платформа может умело управлять устройствами в облаке Azure, обрабатывать создание и мониторинг виртуальных машин (ВМ), а также настраивать облачное хранилище.

Джеффри Сновер, глава проектной группы PowerShell, разработал этот инструмент как недостающее звено между административными инструментами Microsoft на основе графического интерфейса пользователя и богатым набором интерфейсов прикладного программирования (API), которые раскрывают возможности компании .NET Framework.

Сновер был автором оригинального технического описания Monad от 2022 года и сказал в интервью 2017 года, что проект родился из-за желания перенести инструменты UNIX в Windows, но основные архитектурные различия оказались слишком серьезным камнем преткновения для достижения этой цели.

Он хотел единый инструмент командной строки для поддержки как разработчиков, так и администраторов. В этом смысле PowerShell был одним из первых набегов на то, что стало DevOps, практикой, которая способствует сотрудничеству между разработчиками и операционными командами.

Что может PowerShell?

В отличие от CMD.exe, PowerShell — это объектно-ориентированный инструмент. Объекты — это представления элементов, таких как файлы и каталоги, которые имеют свои собственные свойства и действия, которые вы можете вызывать в CLI. PowerShell понимает все в Windows как объекты, но также позволяет создавать собственные типы объектов.

PowerShell позволяет администраторам получать доступ к этим объектам с помощью более сложных команд, чем в CMD.exe. Одним из ключевых нововведений инструмента является использование командлетов (CMDlets).Это небольшие программы (всего дюжина строк кода), которые могут выполнять определенные задачи, используя API-интерфейсы .NET. Они могут выполнять методы объекта, запрашивать и изменять его атрибуты и возвращать объекты в качестве результатов.

CMDlets имеют простую форму глагола и существительного и позволяют быстро выполнять задачи. Например, если ввести Get-Member , вы получите информацию об объекте, такую ​​как его свойства или атрибуты.

Get-Member сам по себе мало что может сделать. Вам нужен конвейер, еще одна вещь, которой не было в CMD.исполняемый. Пользователи Unix и Linux пользовались конвейерами на протяжении десятилетий, и это всего лишь одна команда, которую PowerShell поддерживает из оболочки Bash, которая является общей для этих систем.

Конвейер позволяет вам брать выходные данные одной команды и передавать их другой команде, которая принимает их в качестве входных данных. Вы изображаете конвейер, используя |. Скажем, вы хотите создать объект в PowerShell:

$message = Write-Output ‘PowerShell — это круто’

Вы только что использовали CMDlet Write-Output для назначения некоторого текста тому, что многие языки называют переменной.За исключением PowerShell, это не переменная; это объект со своими методами и свойствами. Вы можете перечислить их все, передав объект $message в Get-Member: `$message | Get-Member’

Вы можете объединить множество CMDlet для создания разветвленных цепочек команд, подобно конвейерной ленте рабочих, которые что-то адаптируют и передают следующему человеку.

Помимо конвейера, этот вид объектно-ориентированного программирования будет знаком разработчикам, работающим с такими языками, как Python.Вы даже можете заставить объект выдать определенную информацию о себе, используя имя объекта, точку и имя свойства. Например: $message.Length возвращает 21

Вы можете самостоятельно создавать CMDlet на различных языках, включая собственный C# от Microsoft. Альтернативным подходом к созданию собственных программ PowerShell является написание сценариев, представляющих собой наборы команд PowerShell, собранных вместе в файл, который вы можете запустить. Хотя cmd.exe также поддерживает сценарии, PowerShell предоставляет собственную интерактивную среду сценариев (PowerShell ISE) с рядом дополнительных функций, таких как Intellisense, которая предоставляет контекстно-зависимые методы и параметры свойств при вводе текста.

Есть еще одна вещь, которую PowerShell дает вам, чего не дает cmd.exe: возможность создавать модули. Это пакеты связанных скриптов и/или CMDlet, которые взаимодействуют друг с другом для выполнения более крупной задачи. Вы можете легко обмениваться множеством дополнительных скриптов и CMDlet в виде модуля. Совместное использование — большая часть истории PowerShell. Например, есть галерея PowerShell, содержащая тысячи скриптов и модулей от разработчиков.

PowerShell продолжает развиваться

В 2016 году исходный код PowerShell был открыт как PowerShell Core, и с тех пор он был перенесен на Linux и macOS в качестве альтернативы обычной оболочке Bash.Однако, если вы планируете установить PowerShell не на Windows, а на чем-то другом, вам также придется поднять .NET Core (эквивалент Windows .NET с открытым исходным кодом) в систему. Также важно помнить, что некоторые функции не будут перенесены — например, они не будут поддерживать среду сценариев ISE.

PowerShell с годами обновлялся и расширялся, добавляя новые функции и поддержку классов (объектов, которые можно использовать в качестве шаблонов для создания других объектов), а также интеграцию с такими вещами, как Visual Studio Code, которая доступна для как собственные версии Windows, так и версии с открытым исходным кодом.

Итак, теперь вы знаете его историю и то, как он работает, возникает вопрос: стоит ли его использовать?

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

Избранные ресурсы

Аналитика Oracle для чайников

Свобода от перегрузки данными

Загрузить сейчас

Будущее ресторанов

Стимулирование клиентов к большему

Скачать бесплатно

Автоматизация современного хранилища данных

Свобода от ограничений на ваши данные

3 Скачать бесплатно2

3 Скачать бесплатно2 Стратегия современной платформы данных Oracle

Свобода от ручного управления данными

Загрузить сейчас

PowerShell и CMD: в чем разница

В Windows 10 «традиционная» командная строка, которую мы использовали в течение многих лет (точнее, десятков лет), была заменена PowerShell.Конечно, вы по-прежнему можете вызывать старый добрый cmd.exe, но все меню и горячие клавиши теперь по умолчанию содержат PowerShell, а не CMD. Давайте разберемся: почему так произошло и в чем разница между этими консольными приложениями?

Подожди немного и послушай.

Что такое CMD?

CMD, или командная строка, возникла из оболочки командной строки Microsoft MS-DOS и использовалась не только системными администраторами, но и конечными пользователями.(Однако разделительная линия между этими двумя категориями была, как вы помните, едва заметна.) Позже, когда Microsoft представила Windows NT, она поставлялась с cmd.exe — приложением командной строки, которое напоминало своего предшественника для DOS и было совместимо с ним. с ним, но также имел дополнительные функции. Это было в 1987 году. С тех пор cmd.exe является встроенным приложением для всех операционных систем Windows.

Что такое PowerShell?

PowerShell — это больше, чем просто «мощная оболочка».После выпуска в 2006 году эта полноценная объектно-ориентированная среда сценариев быстро получила широкое распространение среди системных администраторов, которым понравилась ее простота и функциональность. PowerShell основан на CMD, но намного опережает его с точки зрения полезности. С помощью PowerShell вы можете автоматизировать различные задачи; например, управление Active Directory или реализация уровней доступа пользователей.

Удаленные оповещения PowerShell

В этом документе вы найдете сценарий PowerShell, который проверяет состояние перечисленных ниже служб и отправляет оповещение по электронной почте, если какая-либо из них отключена:

  • Брандмауэр Windows
  • Защитник Windows
  • Служба обновления Windows
  • Любой установленный сторонний антивирус

PowerShell и командная строка: сравнение

Прежде чем говорить о различиях, стоит обсудить общие характеристики CMD и PowerShell.Во-первых, у них схожие предки: телетайпы 19 века. Эти машины использовались так же, как и все командные строки в наши дни. Несмотря на стремительное развитие технологий, пользователь по-прежнему вводит символы на машине и получает результат после того, как эти символы будут интерпретированы и обработаны этой машиной – как и много лет назад. Еще один момент заключается в том, что CMD и PowerShell кажутся вложениями в консоль Windows. Ни один из них не является консолью; это просто дополнения.

И эта функциональность — мы, наконец, подошли к техническому сравнению PowerShell и CMD — сильно отличается. Поскольку CMD является дочерним элементом командной строки MS-DOS, он унаследовал простые пакетные команды, которые помнит любой бывший пользователь DOS, например «cd» или «dir». Эти команды можно использовать для создания сценариев, и иногда эти сценарии должны быть очень сложными, чтобы справиться с данной задачей. В PowerShell нет команд; вместо этого администраторы используют командлеты («командлеты») — небольшие скрипты с понятными именами.Один командлет PowerShell может заменить длинную последовательность команд CMD. Вот несколько примеров:

Изменение каталога:

Командная строка

Windows PowerShell

Получение последнего типа резервной копии из журналов и его отображение

Сценарий командной строки

Обратите внимание: этот скрипт не работает из самой командной строки, его нужно запускать как .bat-файл

Windows PowerShell

Расчет даты:

Сценарий командной строки

Обратите внимание: этот скрипт не работает из самой командной строки, его нужно запускать как .bat файл

Windows PowerShell

Еще одно отличие состоит в том, что команды CMD возвращают текст, и, если пользователю нужны какие-то данные, он должен разобрать этот текст, чтобы получить требуемую информацию.Командлеты PowerShell возвращают объекты, которые можно использовать для прямого управления. Для передачи этих объектов между командлетами используются каналы; они направляют все данные, чтобы их можно было использовать в любом количестве командлетов. Также в CMD количество переменных ограничено и вы должны передавать их в команды в строгом порядке. PowerShell не имеет таких ограничений.

Более того, PowerShell основан на .NET framework и может взаимодействовать с любыми объектами Windows, даже с основными, в отличие от командной строки, которая не предназначена для системного администрирования.Взаимодействуя с этими объектами, администратор может создавать собственные командлеты в PowerShell для автоматизации повседневных задач. При этом администраторы могут использовать встроенную справочную систему (доступ к ней можно получить через командлет Get-Help) или тестировать свои творения. В командной строке нет возможности протестировать скрипт; вы должны ввести все правильно с первого раза, иначе он не будет работать должным образом, и вы даже можете потерять некоторые важные данные. Таким образом, PowerShell безопаснее.

Все это значительно повышает производительность и удобство использования скриптов; с PowerShell вы можете делать все, что позволяет CMD, и многое другое.CMD более обратная; Microsoft хочет, чтобы он был совместим со всеми старыми версиями. Таким образом, CMD может получать некоторые обновления, но не много. Соответственно, Microsoft перешла на PowerShell, который получает регулярные обновления и улучшения и имеет сильное и активное сообщество.

Однако обратите внимание, что вам необходимо обновить PowerShell вручную и, если ваша ОС устарела, могут возникнуть проблемы с совместимостью.

Когда использовать CMD

Если вы привыкли к CMD, конечно, вы можете остаться с ним; он по-прежнему подходит для несложных задач.Это как ретро-автомобиль — ни автоматики, ни комфорта, но ты помнишь, как он был полезен десятки лет назад и в его баке еще есть топливо. Но что, если вы хотите путешествовать по шоссе?

Когда использовать PowerShell

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

Заключение

Как видите, PowerShell и командная строка сильно различаются, и это относится не только к их функциональности, но и к их назначению. Они могут показаться похожими, но на самом деле PowerShell и CMD похожи на космический шаттл и паровую машину.

Командная строка, когда-то крайне полезная, теперь ушла в прошлое. PowerShell полностью заменяет его и способен обрабатывать задачи, о которых администраторы 1980-х и мечтать не могли. Итак, если вы все еще задаетесь вопросом, какой инструмент использовать, есть определенный ответ: PowerShell, конечно.

Как удаленно управлять своими серверами с помощью PSRemoting и вызывать команды PowerShell

  • Создание нового правила брандмауэра
  • Перезапуск сервера или компьютера
  • Переустановка некоторых служб
  • Проверка статуса службы и многое другое

9 способов открыть командную строку или PowerShell в Windows

Командная строка — это интерпретатор командной строки, который помогает автоматизировать задачи, выполнять административные функции и устранять неполадки в системе.Чтобы запустить этот инструмент, вам просто нужно ввести правильные команды.

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

Если вам интересно, как открыть эти инструменты, мы вам поможем. В этой статье рассматриваются девять способов открытия командной строки и PowerShell.

Меню быстрого доступа предлагает невероятно простой способ открытия различных функций Windows.Чтобы получить доступ к командной строке или PowerShell с помощью этого инструмента, вы можете сделать следующее:

  1. Нажмите Win + X , чтобы открыть меню быстрого доступа.
  2. Нажмите Командная строка или Командная строка (администратор) из вариантов. В зависимости от вашей версии Windows вы также можете увидеть параметры Windows PowerShell и Windows PowerShell (Admin) .

Связано: Быстрые и простые способы восстановления отсутствующих функций Windows

Нужен быстрый способ открывать приложения Windows? Затем попробуйте строку поиска в меню «Пуск».

Вот как вы можете открыть командную строку или PowerShell с помощью панели поиска:

  1. Щелкните значок в строке поиска меню «Пуск» и введите Command Prompt или PowerShell .
  2. Выберите вариант Лучшее совпадение из результатов.

3. Используйте диалоговое окно «Выполнить команду»

Диалоговое окно «Выполнить команду» — это один из лучших инструментов, которые можно использовать для быстрого доступа к приложениям Windows.

Вот как вы можете открыть командную строку через диалоговое окно «Выполнить команду»:

  1. Нажмите Win + R , чтобы открыть диалоговое окно «Выполнить команду».
  2. Введите CMD и нажмите OK , чтобы открыть командную строку.

Чтобы открыть PowerShell с помощью диалогового окна «Выполнить команду», вы можете сделать следующее:

  1. Нажмите Win + R , чтобы открыть диалоговое окно «Выполнить команду».
  2. Введите PowerShell и нажмите OK .

Чтобы открыть командную строку или PowerShell с правами администратора, вы можете сделать следующее:

  1. Откройте диалоговое окно «Выполнить команду» в соответствии с предыдущими шагами.
  2. Введите CMD или PowerShell в поле поиска.
  3. Нажмите Ctrl + Shift + Enter , чтобы открыть командную строку или PowerShell с правами администратора.

Доступ к большинству программ для Windows можно получить с помощью панели поиска в меню «Пуск». Чтобы получить доступ к командной строке или PowerShell с помощью этого инструмента, вы можете сделать следующее:

  1. Щелкните значок Windows на экране или нажмите клавишу Windows .
  2. Выберите Все программы и разверните папку Системные инструменты .
  3. Щелкните командную строку или PowerShell из вариантов. Чтобы открыть каждый инструмент с правами администратора, щелкните правой кнопкой мыши конкретное приложение и выберите Запуск от имени администратора .

5. Используйте адресную строку File Explorer

Адресная строка File Explorer упрощает поиск пути к файлу. Но знаете ли вы, что вы можете запускать различные инструменты Windows, используя адресную строку проводника?

Вот как вы можете открыть командную строку через проводник:

  1. Нажмите Win + E , чтобы открыть проводник.
  2. Введите CMD в адресной строке и нажмите . Введите , чтобы открыть командную строку .

Чтобы открыть PowerShell с помощью Проводника, вы можете сделать следующее:

  1. Нажмите Win + E , чтобы открыть проводник.
  2. Введите Powershell в адресной строке и нажмите Введите .

Связанный: Как найти потерянные или неуместные файлы и документы в Windows

6. Используйте исполняемый файл командной строки или PowerShell

. Вы также можете получить доступ к командной строке или PowerShell, используя их исполняемые (EXE) файлы. Вот как:

  1. Введите This PC в строку поиска Start Menu и выберите Best match .
  2. Щелкните Локальный диск (C:) справа и перейдите к Windows > System32 .
  3. Прокрутите вниз и выберите файл cmd.exe или powershell.exe .

Чтобы запустить каждый инструмент с правами администратора, щелкните инструмент правой кнопкой мыши и выберите Запуск от имени администратора .

7. Используйте диспетчер задач

Вы всегда можете положиться на диспетчер задач для мониторинга производительности системы. Но это еще не все — диспетчер задач также может помочь вам запустить командную строку или PowerShell.

Вот как вы можете открыть командную строку с помощью диспетчера задач:

  1. Нажмите Ctrl + Shift + Esc , чтобы открыть диспетчер задач.
  2. Перейдите на вкладку Файл в верхнем левом углу и выберите Запустить новую задачу .
  3. В следующем окне введите CMD и нажмите OK , чтобы открыть командную строку.

Чтобы получить доступ к PowerShell через диспетчер задач, вам нужно сделать следующее:

  1. Нажмите Ctrl + Shift + Esc , чтобы открыть диспетчер задач.
  2. Перейдите на вкладку Файл в верхнем левом углу и выберите Запустить новую задачу .
  3. В следующем окне введите Powershell и нажмите OK , чтобы открыть командную строку.

Вы также можете открыть командную строку или PowerShell, используя контекстное меню папки. Вот как:

  1. Нажмите Win + E , чтобы открыть проводник.
  2. Нажмите Shift , а затем щелкните правой кнопкой мыши любую папку.
  3. Выберите Открыть окно PowerShell здесь или Открыть окно командной строки здесь из вариантов.

9. Создайте ярлык командной строки/PowerShell на рабочем столе

Если вам нравится использовать ярлыки, вы можете создать их для командной строки и PowerShell. Это поможет вам получить доступ к этим инструментам всего одним щелчком мыши!

Чтобы начать, вот как вы можете создать ярлык для командной строки:

  1. Нажмите Win + D , чтобы перейти прямо к рабочему столу.
  2. Щелкните правой кнопкой мыши пустое место на рабочем столе, выберите New в контекстном меню, а затем выберите Shortcut .
  3. Введите C:\Windows\System32\cmd.exe в поле адреса . Нажмите Далее , чтобы продолжить.

В следующем окне введите подходящее имя для этого ярлыка.Вы можете переименовать его как ярлык командной строки или что-то подобное. Нажмите Готово , чтобы завершить процесс.

Чтобы закрепить этот ярлык на панели задач, щелкните его правой кнопкой мыши и выберите Закрепить на панели задач .

Вот как вы можете создать ярлык для PowerShell:

  1. Перейдите на рабочий стол в соответствии с предыдущими шагами.
  2. Щелкните правой кнопкой мыши пустое место на рабочем столе, выберите New, и затем выберите Shortcut .
  3. Введите C:\Windows\System32\powershell.exe в поле адреса . Нажмите Далее , чтобы продолжить.
  4. В следующем окне введите подходящее имя, например ярлык PowerShell или что-то подобное. Нажмите Готово , чтобы завершить процесс.

Наконец, закрепите ярлык на панели задач, как описано выше.Теперь вы можете легко получить доступ к командной строке или PowerShell, щелкнув их значки на панели задач.

Управление и автоматизация задач с помощью командной строки/PowerShell

Командная строка и PowerShell упрощают автоматизацию задач или устранение неполадок Windows. Если вам нужны советы о том, как получить доступ к этим инструментам, ознакомьтесь с методами, которые мы рассмотрели.

7 приемов командной строки Windows, о которых вы, возможно, еще не знали

Читать Далее

Об авторе

Модиша Тлади (опубликовано 110 статей)

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

Более От Модиши Тлади
Подпишитесь на нашу рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться

Как переключаться между CMD и PowerShell в Windows Terminal

При запуске Windows Terminal по умолчанию открывается оболочка Windows PowerShell .Тем не менее, Windows Terminal поддерживает множество приложений с интерфейсом командной строки, в том числе почтенную Command Prompt ( CMD ). Если вы хотите переключиться на CMD в Windows Terminal или если вы хотите сделать CMD оболочкой по умолчанию для Windows Terminal , вот как это сделать:

ПРИМЕЧАНИЕ. Это руководство применимо как к Windows 10, так и к Windows 11.В Windows 11 Терминал Windows является приложением по умолчанию для инструментов и оболочек командной строки. Если у вас Windows 10 и приложение не установлено по умолчанию, вы можете получить его бесплатно из Microsoft Store . Подробнее читайте здесь: Как получить приложение Windows Terminal.

Изменение оболочки в Терминале Windows с помощью клавиатуры

Для того, чтобы сменить оболочку в Windows Terminal , сначала нужно запустить программу. По умолчанию Терминал начинается с одной вкладки, Windows PowerShell .Однако вы можете оказаться в ситуации, когда команды, которые вам нужно ввести, предназначены для Command Prompt , поэтому вам нужно переключить оболочки. Самый простой способ изменить CMD — использовать сочетания клавиш. Нажмите Ctrl + Shift + 2 , пока окно Terminal находится в фокусе. Откроется новая вкладка с оболочкой командной строки .

Сочетание клавиш по умолчанию для открытия CMD в терминале Windows

Теперь вы можете закрыть первую вкладку и начать работу, используя CMD .Чтобы закрыть первую вкладку, нажмите кнопку X рядом с именем вкладки Windows PowerShell .

После открытия CMD вы можете закрыть другие вкладки

СОВЕТ: Если вы не очень разбираетесь в технических вопросах и хотите узнать больше о оболочках, терминалах и консолях, я настоятельно рекомендую эту статью: В чем разница между консолью, терминалом и оболочкой?

Изменение оболочки в Терминале Windows с помощью меню приложения

После открытия Windows Terminal нажмите или коснитесь кнопки в виде буквы V, расположенной в верхней части окна рядом с текущей вкладкой.Откроется меню Terminal . В этом меню выберите Командная строка .

Откройте вкладку командной строки с помощью меню терминала Windows

Это действие открывает новую вкладку с оболочкой командной строки . Теперь закройте первую вкладку, нажав кнопку Закрыть вкладку (X) рядом с именем вкладки Windows PowerShell .

Запуск Windows Terminal с помощью CMD или Windows PowerShell

При желании вы можете запустить Windows Terminal непосредственно с нужной вам оболочкой.Для этого нажмите кнопку Start , а затем введите «windows terminal» для поиска приложения. Не нажимайте Введите , вместо этого ищите нужную оболочку в правой панели списка результатов поиска. Нажмите или коснитесь одного из вариантов, и Windows Terminal загрузит выбранную вами оболочку.

Используйте функцию поиска, чтобы запустить Терминал с выбранной оболочкой

СОВЕТ: Дополнительные сведения см. в разделе Как использовать поиск в Windows 11.

Как установить CMD по умолчанию вместо PowerShell в терминале Windows?

Если вы используете Command Prompt или любую другую оболочку, кроме Windows PowerShell , вы можете изменить оболочку по умолчанию в Terminal . Это означает, что выбранная оболочка открывается автоматически при каждом запуске Windows Terminal .

Чтобы установить CMD по умолчанию вместо PowerShell в Windows Terminal , нажмите кнопку с буквой V в верхней части окна Terminal .Затем выберите Настройки .

Как получить доступ к настройкам терминала Windows

На следующем экране убедитесь, что на левой панели выбран Startup (значок с экраном и стрелкой). Если левая панель не видна, нажмите кнопку гамбургера ( Открыть навигацию ) в верхнем левом углу окна.

Теперь перейдите к Профилю по умолчанию с правой стороны и нажмите кнопку под ним.

Нажмите кнопку в разделе «Профиль по умолчанию» в Startup

Откроется раскрывающийся список, в котором можно выбрать нужную оболочку.Нажмите Командная строка , затем нажмите кнопку Сохранить , расположенную в правом нижнем углу окна.

Выберите CMD в качестве оболочки по умолчанию и нажмите Сохранить

Вы можете сделать это для любой из установленных оболочек. В следующий раз, когда вы запустите Windows Terminal , он автоматически откроет окно с командной строкой (или оболочкой, которую вы выбрали).

Используете ли вы Windows PowerShell или командную строку? Какой из них вы предпочитаете?

Командная строка существует с начала восьмидесятых.Это по-прежнему наш любимый инструмент командной строки, но Windows PowerShell обладает большей функциональностью, большей совместимостью и большими возможностями подключения, так что это явно лучший выбор на будущее. Какой инструмент командной строки вы используете чаще? Кроме того, какой из двух вы установили по умолчанию для Windows Terminal ? Мы будем рады услышать ваши мысли в разделе комментариев.

Windows Powershell и CMD: различия и сходства

В этом Itechguide Виктор объясняет различия и сходства между Windows PowerShell и CMD (командной строкой Windows).Руководство охватывает историю и природу двух инструментов, их формат имен команд и возможности сценариев.

В оставшейся части этого руководства я буду использовать PowerShell, Windows PowerShell и PS попеременно. Я также буду использовать CMD и командную строку попеременно.

Чем отличается Windows PowerShell от CMD?

Windows PowerShell — это основанная на задачах оболочка командной строки и язык сценариев, созданный на основе .NET. PowerShell помогает автоматизировать задачи с помощью сценариев PowerShell.

CMD (Command Prompt) — это интерпретатор командной строки Windows, используемый для выполнения команд CMD. CMD также можно использовать для автоматизации задач с помощью пакетных сценариев.

В следующих 3 разделах я буду сравнивать PowerShell и CMD в 3 различных областях: история, формат имени команды и их сравнение для упрощения автоматизации задач (скриптов).

Windows PowerShell и CMD: история

CMD были частью операционной системы Windows, в то время как PowerShell появился относительно недавно.PowerShell версии 1 был выпущен 26 сентября 2006 г.

Другое существенное различие между PS и CMD заключается в том, как они построены. В то время как CMD является родным консольным приложением Windows, PowerShell построен на .NET Framework.

Совет
18 августа 2016 года Microsoft представила .NET Core и сделала PowerShell инструментом с открытым исходным кодом.

Windows PowerShell и CMD: формат имени команды

Еще один способ различить CMD и PS — формат имени команды.Команды командной строки обычно состоят из одного слова, а команды PowerSell — из двух слов.

Команды PS структурированы в формате глагол-существительное и называются командлетами . Первая часть командлета PowerShell обычно представляет собой глагол, а вторая часть — существительное.

Примером команды PS является Get-Help . В CMD это просто Help . Другой пример — команда Dir CMD. В PowerShell это Get-ChildItem .

Windows PowerShell и CMD: возможности сценариев

Для сценариев можно использовать как PowerShell, так и CMD.Но обладают ли они одинаковым уровнем возможностей написания сценариев? Нет. Я писал сценарии как в CMD, так и в PowerShell, и могу с уверенностью сказать, что PS дает вам больше возможностей. Я сказал больше вариантов ? Нет, так лучше!

PS даже позволяет создавать собственные функции и модули . Это дает вам возможность выйти за рамки написания сценариев (набора команд PowerShell). Пакетные сценарии очень ограничены по сравнению со сценариями PowerShell.

Windows PowerShell и CMD: команды PS для общих команд CMD

Если вы хотите начать работу с базовыми командами PS, ниже приведены некоторые распространенные команды CMD и их эквивалент PowerShell.

S / N CMD Команда Что делает PS Эквивалент
1 CD Change Directory Set-Location
2 ПЕРЕИМЕНОВАТЬ переименовывает файл Rename-Item
3 DIR Список файлов и папок в каталоге Get-ChildItem
4 ПОМОЩЬ Содержит справочную информацию для Windows, команды. *GET-HELP
5 Формат Форматы A Disk для использования с Windows Format-Volume

*The Get-Het-Hephel-HephelsLEL-HEL-HERSLELL.

Чтобы узнать больше о PowerShell, посетите нашу страницу Windows PowerShell.

Windows PowerShell и CMD: выполнение команд

В этом разделе я сравню возможность запуска команд PowerShell в оболочке CMD или команд CMD в оболочке PowerShell.

Вы можете запускать команды CMD в PowerShell, но НЕ МОЖЕТЕ запускать команды PowerShell в CMD.

Однако, если вы уже находитесь в CMD, вы можете запустить PowerShell, набрав powershell , а затем нажмите Enter. Более того, если вы уже находитесь в PowerShell, вы можете запустить командную строку, набрав cmd , а затем нажмите Enter.

Чтобы проиллюстрировать первый пункт, откройте CMD, введите приведенный ниже командлет PowerShell и нажмите клавишу ввода.

 Процесс получения 

CMD вернет сообщение об ошибке « ‘Get-Process’ не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.». Вы не можете запускать команды PowerShell в командной строке.

Чтобы протестировать выполнение команд CMD из PowerShell, откройте PowerShell, введите приведенную ниже команду и нажмите Enter.

 ДИРЕКЦИЯ 

PowerShell успешно выполняет команду. Это демонстрирует, что вы можете запускать команды CMD из PowerShell, но НЕ МОЖЕТЕ запускать команды PowerShell в CMD.

Второе сравнение — можно ли открыть PowerShell в CMD или открыть CMD в PowerShell. Чтобы проверить это, в командной строке Windows введите powershell и нажмите Enter.

После запуска этой команды CMD откроет оболочку PowerShell в командной строке. Один из способов подтвердить, что вы сейчас используете PowerShell, — это отобразить «Windows PowerShell»

.

Еще один способ подтвердить, что вы сейчас находитесь в PowerShell (в CMD), — запустить команду PowerShell — введите Get-Process в приглашении и нажмите Enter. На этот раз командная строка успешно выполняет команду PowerShell:

.

Наконец, при сравнении Windows PowerShell и CMD, чтобы убедиться, что вы можете открыть CMD из PowerShell, из оболочки PowerShell введите cmd, и нажмите Enter.

Командная строка запустит CMD в оболочке PowerShell.

Чтобы еще раз подтвердить, что вы больше не находитесь в PowerShell, выполните команду Get-Process . Он вернет сообщение об ошибке.

Windows PowerShell и CMD: сводка

В таблице ниже приведены различия между PowerShell и CMD:

Если вы сравниваете PowerShell и CMD, чтобы решить, что лучше, у вас есть ответ.CMD — это здорово, но PowerShell выводит автоматизацию задач на новый уровень. Каждый администратор Windows должен знать PS!

Я надеюсь, что этот Itechguide был вам полезен.

Кроме того, вы можете задать вопрос, оставить комментарий или оставить отзыв с помощью формы «Оставить ответ», расположенной в конце этой страницы.

Наконец, для получения дополнительных руководств по PowerShell и CMD посетите нашу страницу с объяснением PowerShell и CMD.

Добавить комментарий

Ваш адрес email не будет опубликован.

S / N Характеристика CMD PowerShell
1 История были вокруг с момента запуска ОС Windows * Стала доступна 2006
2 Название команды формат Одно слово команды команд из двух слов (в формате Глагол-Существительное)
4 сценариев возможности Ограниченные возможности Обеспечивает более расширенные возможности сценариев, включая возможность создания функций и модулей PS
5 Сборка Собственное приложение Windows Построено на платформе Microsoft .NET Framework и более поздние версии .NET Core
6 Запуск команд Вы НЕ МОЖЕТЕ запускать команды PowerShell в CMD Вы можете запускать команды CMD в PowerShell.
7 Открытие одного из другого Вы можете открыть PowerShell из оболочки CMD Вы также можете открыть CMD из оболочки PowerShell