Sim.
Grande parte do PowerShell é .NET, portanto, ele pode ser executado em qualquer sistema operacional que tenha o Common Language Runtime (CLR). No Windows, esse é o .NET Framework. Para outros sistemas operacionais (incluindo o Linux!), Você pode usar o CoreCLR , um subconjunto de código aberto e plataforma cruzada do. NET Framework.
Como você encontrou no repositório do PowerShell no GitHub, vários sistemas operacionais e distribuições são suportados. Por exemplo, aqui estão as instruções para o Ubuntu . Demonstração ( página de origem ):
Pode-se argumentar que nem todos do PowerShell estão disponíveis em ambientes não-Windows. Alguns recursos dependem de bibliotecas encontradas apenas no Windows. A propriedade ParsedHtml
no tipo HtmlWebResponseObject
retornado por Invoke-WebRequest
, por exemplo, é útil apenas no Windows porque contém um objeto COM proveniente de uma biblioteca não gerenciada, mshtml.dll
para ser específico. Em outras plataformas, não há nada lá. E, claro, há cmdlets para gerenciar sistemas encontrados apenas no Windows, como aplicativos modernos ( Get-AppxPackage
e amigos).
Ainda assim, a infraestrutura do PowerShell funciona perfeitamente bem em outros sistemas operacionais. Muitos cmdlets podem ser usados em qualquer lugar, e o suporte só está melhorando.