Windows PowerShell е неразделна част от операционната система Windows. Това е обвивка на командния ред и скриптов език, използвани за автоматизиране на отнемащи време повтарящи се задачи, създаване на персонализирани инструменти за управление и изграждане, тестване и внедряване на решения за различни други проблеми.

Версията на PowerShell по подразбиране, която идва предварително опакована в операционната система Windows, е PowerShell 5.1 или просто Windows PowerShell. Но след като PowerShell 7 вече е пуснат и стабилен, не е ли по-разумно операционната система Windows да използва най-новата версия на PowerShell? Какви предимства предлага PowerShell 7 все пак? И струва ли си ъпгрейда? Нека поговорим за това!

Какво е PowerShell 7?

PowerShell 7 е най-новата LTS версия на PowerShell. Тази версия на PowerShell е разработена чрез по-новата рамка .NET Core, която позволява няколко големи актуализации, които опитните потребители на Windows ще намерят за полезни.

PowerShell 7 е регистриран и лицензиран под лиценза на MIT. Сега е

instagram viewer
софтуер с отворен код, където хората могат свободно да преглеждат, променят и разпространяват собствено копие на изходния код на софтуера. Разработчиците също могат да допринесат за официалните версии на PowerShell, като се присъединят Официалната страница на PowerShell в GitHub.

Със своята поддръжка от общността, тази версия на PowerShell вече е междуплатформена! Което означава, че вече може да се инсталира и използва в Windows, macOS и Linux. Ето списък на поддържаната x64 операционна система:

  • Windows 8.1, 10, 11
  • Windows Server 2012, 2012 R2, 2016 и 2019
  • macOS 10.13+
  • Red Hat Enterprise Linux (RHEL) / CentOS 7
  • Fedora 30+
  • Дебиан 9
  • Ubuntu LTS 16.04+

Alpine Linux 3.8+ PowerShell 7 също се поддържа от различни ARM32 и ARM64 дистрибуции на Debian, Ubuntu и ARM64 Alpine Linux. За тези, които се интересуват, има и неподдържани пакети за Arch и Kali Linux.

Какви са новите функции, включени в PowerShell 7?

Кредит за изображение: Windows/Unplash

Освен че е междуплатформен и с отворен код, PowerShell 7 има много други нови функции, които допълнително подобряват производителността. Ето някои от по-забележителните:

1. Подобрена обратна съвместимост

С разликата в рамката, версиите на Windows PowerShell и PowerShell, използващи рамката .NET Core, ще имат несъвместимост. За да улесни прехода на хората, PowerShell 7 вече интегрира модула WindowsCompatibility. Този модул е ​​проектиран да позволява модули на Windows PowerShell и много други популярни CMD команди за работа в PowerShell 7.

2. Конвейерно паралелизиране с ForEach-Object

PowerShell 7 вече има паралелен параметър. В Windows PowerShell всеки предаван обект, използващ cmdlet ForEach-Object, ще се изпълнява един по един. Но с новия паралелен параметър всички конвейерни обекти вече се изпълняват едновременно. Това драстично подобрява производителността, което може да ви спести време.

3. Троични оператори

Условията на Windows PowerShell се извършват чрез оператори if-else. PowerShell 7 прави това още по-просто, като въвежда троични оператори, които основно са опростени версии на изразите if-else чрез използване на „?“ и „:“ в синтаксиса. Тази функция позволява по-бързо и по-чисто скриптово изживяване.

4. Оператори на тръбопроводни вериги

Конвейерните оператори са важна характеристика на Windows PowerShell. Тя ви позволява да правите сложни изрази, като вземете изхода от cmdlet и го използвате в друг cmdlet. Това обаче е ограничено, тъй като Windows PowerShell не може да обработва условни изрази с помощта на обикновени конвейерни оператори.

PowerShell 7 коригира този проблем, като въвежда оператори за верига на конвейер, които са „&&“ и „||“. Този нов оператор на конвейер позволява на PowerShell да изпълнява команди с условни изрази.

Операторът && се използва за изпълнение на дясната команда за конвейер само ако командата преди оператора е успешна. Докато оператор || ще изпълни командата за десния конвейер само ако командата преди оператора е неуспешна.

Защо PowerShell 7 не е по подразбиране в Windows?

Кредит за изображение: Майк Шинкел/Flickr

PowerShell 7 е междуплатформен софтуер с отворен код, който предоставя функции, които могат драстично да подобрят производителността и скоростта на скриптове. Така че защо Microsoft не го направи PowerShell по подразбиране в Windows?

Текущият PowerShell, който идва предварително инсталиран с по-новите Windows системи, е PowerShell 5.1. Това е последната версия на PowerShell, която използва .NET framework. Въпреки че е вярно, че следващите му версии предоставят по-добри функции, Windows PowerShell все още има едно предимство, което по-новият PowerShell няма – пълна обратна съвместимост.

Първият PowerShell беше пуснат на 14 ноември 2006 г. Това беше, когато Windows Vista и XP все още бяха най-новата операционна система Windows. Според изследване от enlyft, само в Съединените щати има над 46 000 компании, които все още използват Windows XP. Тези компании просто не могат да надстроят до най-новия PowerShell, тъй като това би причинило много проблеми с обратната несъвместимост дори с интегрирания модул WindowsCompatibility на PowerShell 7.

За огромни компании и различни критични инфраструктури (банкомати, енергийни доставчици, железопътни линии, болници и т.н.), забавяне услуга за седмици до месеци само за възстановяване, тестване и внедряване на скриптове, които вече са работили с PowerShell 5.1, просто не е опция. Не обръщайте внимание на всички бъгове, които могат да се появят по време на действителните работни часове.

Тъй като PowerShell 5.1 е най-новият PowerShell, изграден върху. NET framework, гарантира се, че работи с всички предходни версии на PowerShell, дори и тази, издадена през 2006 г.

Трябва ли да надстроите до PowerShell 7?

PowerShell 7 доставя много полезни актуализации, които правят интерфейса на командния ред и скриптовете по-лесни, по-бързи и по-удобни с поддръжката на различни платформи. Обратно, Windows PowerShell осигурява пълна обратна съвместимост с всички наследени PowerShell преди PowerShell 6. И така, трябва ли да продължите да използвате Windows PowerShell или да надстроите до по-новия PowerShell 7?

Хубавото на PowerShell 7 е, че е проектиран да съществува съвместно с Windows PowerShell 5.1. Освен интегрирания модул за WindowsCompatibility, PowerShell 7 също така предоставя отделен път за инсталиране, име на изпълним файл, PSModulePath и регистрационни файлове на събития, за да се гарантира, че няма да пречи на вече инсталирания Windows PowerShell.

Така че за по-голямата част от хората, които искат да изпробват новите функции на PowerShell 7, те със сигурност могат да го направят, като същевременно запазят Windows PowerShell по подразбиране. Ако сте любопитни дали по-новият PowerShell е за вас, определено трябва да изпробвате по-новия PowerShell.

Въпреки че PowerShell 7 осигурява добра обратна съвместимост, винаги ще има някои несъответствия поради различията им в рамката. Ако работите в компания или организация, която силно разчита на персонализирани инструменти и програми, направени от Windows PowerShell, тогава мигрирането на фирмената система към PowerShell 7 може да не е добра идея.

PowerShell 7 предостави много актуализации, но също така премахна доста наследени модули и командлети. Ако сте човек, който вече е доволен от PowerShell по подразбиране, тогава наистина няма причина да мигрирате, особено ако нямате време да прочетете документацията.

PowerShell 7 прави скриптовете по-бързи

PowerShell 7 е една от най-новите стабилни версии на PowerShell с дългосрочна поддръжка (LTS). Той предоставя по-бърз и лесен начин за използване на PowerShell, дори ако използвате други операционни системи като macOS или Linux. Въпреки че може да отнеме известно време, за да прочетете документацията му, в крайна сметка ще спестите повече време, след като станете опитни с новите актуализации.