Pagina inicial » como » O PowerShell funciona em outros sistemas operacionais além do Windows?

    O PowerShell funciona em outros sistemas operacionais além do Windows?

    Pode ser muito frustrante quando o professor diz que uma coisa sobre o PowerShell e vários sites parecem oferecer provas sólidas do contrário. O PowerShell realmente funciona em sistemas não Windows ou não? A postagem de perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um leitor intrigado.

    A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..

    A questão

    Leitor de SuperUser FredSavage187 quer saber se o PowerShell funciona em outros sistemas operacionais além do Windows:

    Recentemente, meu professor de ciências da computação nos fez um teste e uma das perguntas foi: “Verdadeiro ou falso: o PowerShell funciona em Windows, Mac e Linux”. A resposta correta era "falsa" e ele afirma que o PowerShell é uma coisa só do Windows. Mas encontrei alguns sites que dizem o contrário:

    O PowerShell é de código aberto e está disponível no Linux [Blog do Microsoft Azure]

    Repositório do PowerShell [GitHub]

    Qual deles está correto? O PowerShell funciona no Linux e Mac OS, bem como no Windows?

    O PowerShell funciona em outros sistemas operacionais além do Windows?

    A resposta

    Ben N, o colaborador do SuperUser, tem a resposta para nós:

    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ê aprendeu 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 e uma demonstração:

    Pode-se argumentar que nem todo o PowerShell está disponível em ambientes não-Windows, uma vez que alguns recursos dependem de bibliotecas encontradas apenas no Windows. o ParsedHtml propriedade no HtmlWebResponseObject tipo retornado por Invoke-WebRequest, por exemplo, só é útil 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 os aplicativos modernos (Get-AppxPackage, por exemplo).

    Ainda assim, a infraestrutura do PowerShell funciona perfeitamente em outros sistemas operacionais, muitos dos cmdlets podem ser usados ​​em qualquer lugar e o suporte só está melhorando.


    Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.

    Créditos da Imagem: Jeff Hicks (Petri IT Knowledgebase)