Работи ли PowerShell с други операционни системи освен Windows?
Може да е много разочароващо, когато професорът казва, че едно нещо за PowerShell и различни уебсайтове изглежда предлагат солидно доказателство за обратното. В действителност ли PowerShell работи на системи, които не са на Windows или не? Днешната публикация за въпроси и отговори SuperUser има отговор на озадачен въпрос на читателя.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Въпроса
Четецът на SuperUser FredSavage187 иска да знае дали PowerShell работи с други операционни системи освен Windows:
Професорът по компютърни науки наскоро ни даде викторина и един от въпросите беше: „Вярно или невярно: PowerShell работи на Windows, Mac и Linux“. Правилният отговор беше „невярно“ и той твърди, че PowerShell е нещо само за Windows. Но намерих няколко уебсайта, които казват друго:
PowerShell е с отворен код и е наличен на Linux [Блог на Microsoft Azure]
Хранилище PowerShell [GitHub]
Коя е всъщност вярна? Работи ли PowerShell на Linux и Mac OS, както и на Windows?
PowerShell работи ли с други операционни системи освен Windows?
Отговорът
Сътрудникът на SuperUser Бен N има отговор за нас:
Да. Голяма част от PowerShell е .NET, така че може да работи на всяка операционна система, която има Common Language Runtime (CLR). В Windows това е .NET Framework. За други операционни системи, включително Linux, можете да използвате CoreCLR, с отворен код, под-платформа на платформата .NET Framework.
Както научихте в хранилището на PowerShell на GitHub, се поддържат доста операционни системи и дистрибуции. Например, тук са указанията за Ubuntu и демонстрация:
Би могло да се твърди, че не всички PowerShell са налични в среди, които не са на Windows, тъй като някои функции зависят от библиотеки, намиращи се само в Windows. Най- ParsedHtml собственост на HtmlWebResponseObject тип, върнат от Invoke-WebRequest, например, е полезно само за Windows, защото притежава COM обект, който идва от неуправлявана библиотека, mshtml.dll да бъдат конкретни. На други платформи няма нищо. Разбира се, има и кратки команди за управление на системи, които се намират само в Windows, като модерни приложения (Get-AppxPackage, например).
Въпреки това, инфраструктурата на PowerShell работи отлично в други операционни системи, много кратки команди са достъпни навсякъде, а поддръжката се подобрява само.
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.
Image Кредити: Джеф Хикс (Petri IT Knowledgebase)