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