Да.
Большая часть PowerShell - это .NET, поэтому он может работать в любой операционной системе, имеющей Common Language Runtime (CLR). В Windows это .NET Framework. Для других операционных систем (включая Linux!) Вы можете использовать CoreCLR, кроссплатформенное подмножество с открытым исходным кодом .NET Framework.
Как вы обнаружили в репозитории PowerShell на GitHub, поддерживается довольно много операционных систем и дистрибутивов. Например, вот инструкция для Ubuntu. Демонстрация (исходная страница):
Можно утверждать, что не все PowerShell доступны в средах, отличных от Windows. Некоторые функции зависят от библиотек, доступных только в Windows. ParsedHtml
свойство ParsedHtml в типе HtmlWebResponseObject
возвращаемое Invoke-WebRequest
, полезно только в Windows, поскольку оно содержит COM-объект, который поступает из неуправляемой библиотеки, а именно , mshtml.dll
. На других платформах там ничего нет. И, конечно же, есть командлеты для управления системами, которые есть только в Windows, например, современные приложения (Get-AppxPackage
и друзья).
Тем не менее, инфраструктура PowerShell отлично работает в других операционных системах. Множество командлетов можно использовать где угодно, а поддержка только улучшается.