Скриптовете на пакетни файлове стигат чак до времето, когато през 1981 г. MS-DOS е издаден като операционна система за лични компютри на IBM. По същество това беше клон на CP / M на Digital Research, една от първите операционни системи за микрокомпютър. Microsoft го накара да работи на IBM персонални компютри, действащи както като ядро, така и като черупка заедно с някои допълнителни функции на други черупки. Microsoft пусна няколко версии на DOS във времето, като впоследствие разшири пакетните файлове по много начини. След това идва Windows, който бързо еволюира от приложение към операционна система с пълна защита. Microsoft включи интерпретатора на командния ред, наречен „Command Prompt“ (или „cmd“) в своята линия Windows NT от операционни системи, която използваше основно същите команди на Command.com, но с допълнителни функции.
За разлика от по-ранните версии, които биха позволили на .BAT файл да се изпълнява само в MS-DOS подкана, този подобрен 32-битов интерпретатор на команден ред направи партидния език по-полезен поради множеството подобрения и допълнителни функции. Интерпретаторът на командния ред обаче не беше в състояние да осигури последователност, тъй като те не можеха да се използват за автоматизиране на многостранни функционалности на графичния потребителски интерфейс. Не беше достатъчно мощен, за да задоволи захранващите потребители. Така че Microsoft започна работа по нов подход в управлението на командния ред и накрая пусна нов подобрен CLI, наречен „Monad“ през 2002 г. Той успя да преодолее недостатъците на своя предшественик. До 2005 г. Microsoft вече пусна три версии на Monad. През 2006 г. името беше официално променено на „Windows PowerShell“, което се сбогува с скриптовия пакетен файл на старата школа.
Командният ред или cmd е интерпретаторът на командния ред за операционни системи Microsoft Windows, използван за автоматизиране на различни системни задачи с помощта на скриптове и пакетни файлове. Често наричан cmd.exe, това е програма за Windows, която издава команди на системата като команди за управление на файлове като копиране, поставяне и изтриване. Той емулира повечето от възможностите на командния ред, налични в MS-DOS, чрез интерфейса на командния ред. Първоначално е пусната като интерпретатор на командния ред (CLI) за семейството на операционните системи на Windows NT и е разработена от Тереза Стоуел. CMD имат вградени команди за изпълнение на различни задачи, повечето от които могат да се изпълняват като администратор. Можете да получите достъп до командния ред чрез неговия пряк път, който се намира в менюто "Старт" или чрез командата cmd Run. Предлага се в почти всички версии на Windows.
PowerShell е по-напреднала версия на cmd, използвана за стартиране на външни програми като ping или копиране и автоматизиране на много различни задачи за системна администрация, които не са достъпни от cmd.exe. Доста прилича на cmd, освен че е по-мощен и използва напълно различни команди. Това е нещо повече от черупка; това е сценарийна среда, създадена специално за системните администратори да изпълняват административни задачи на множество операционни системи. Това е инструмент за команден ред, базиран на задачи и език за скриптове, изграден на .Net рамката. Той извиква много богат набор от команди в контекста на скриптове за автоматизация, наречени „cmdlets“, което дава възможност за администриране в Windows системи. Те са лесни за използване със стандартизиран синтаксис, което ги прави лесни за създаване на мощни скриптове. Това е много по-мощен интерпретатор на команден ред от командния ред, който може да интерпретира както командите Batch, така и PowerShell.
Както cmd, така и PowerShell са мощни инструменти за команден ред, използвани за автоматизиране на задачи за системно администриране чрез писане на скрипт / пакетен файл. Въпреки това, cmd има ограничени възможности за администриране в сравнение с PowerShell, който, от друга страна, е по-напреднала и модерна имплементация с допълнителни функции и подобрения. PowerShell е специално проектиран за системни администратори за контрол и автоматизиране на администрирането на Windows системи.
PowerShell се използва най-вече от системните администратори за управление на мрежата, както и системите и приложенията, които са част от тази мрежа. Той може ефективно да интерпретира командите Batch и PowerShell, докато cmd може да интерпретира само Batch команди. Командният ред осигурява средство за взаимодействие с компютърната програма с помощта на издадени от потребителя команди.
За разлика от командния ред, който може да изпраща само потоци от текст, изходът, генериран от командлет, е повече от просто поток от текст; те изпращат обекти между cmdlets, което им позволява да споделят по-сложни данни между cmdlets.
PowerShell използва много по-мощни функции, наречени „cmdlets“, което представлява богат набор от команди за изпълнение на по-мощни заявки с по-добър изход, отколкото се намира в командния ред на Windows. Функциите на PowerShell са много по-сложни, но мощни от традиционния команден ред и те много добре могат да се използват със стандартизирания синтаксис.
PowerShell е нещо повече от черупка; това е мощна сценарийна среда, базирана на рамката .Net, която може да се използва за по-лесно и ефективно изпълнение на сложни скриптове за системна администрация на Windows, отколкото при командния ред. Освен това PowerShell включва няколко подобрения и допълнителни функции, които разширяват използването му, което в крайна сметка подобрява неговата използваемост.
И PowerShell, и Command Prompt са базирани на задачи инструменти за команден ред, използвани за бързо автоматизиране на задачите за системно администриране, но има значителни разлики между двете по отношение на функционалност и използваемост. CMD е основна обвивка на командния ред, въведена със семейството на операционните системи на Windows NT със същия стандартизиран синтаксис и функционалност като DOS. PowerShell, от друга страна, е базирана на задачи обвивка на команден ред и език за скриптове, базиран на рамката .Net, използвана за автоматизиране на обработката на партиди и създаване на инструменти за управление на системата. За разлика от cmd, той използва богат набор от команди, наречени cmdlets, за да изпълнява задачи за системно администриране.