29Aug

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

Pode ser muito frustrante quando seu professor diz que uma coisa sobre o PowerShell e vários sites parece oferecer uma prova sólida do contrário. O PowerShell realmente funciona em sistemas não-Windows ou não? O super-usuário Q & Uma publicação tem a resposta para uma pergunta do leitor perplexo.

Pergunta de hoje e amp;A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.

A pergunta

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

Meu professor de informática recentemente nos deu um questionário e uma das perguntas foi: "Verdadeiro ou Falso: o PowerShell funciona no Windows, Mac eLinux ".A resposta correta foi "falsa" e ele sustenta que o PowerShell é apenas um Windows. Mas eu encontrei alguns sites que dizem o contrário:

PowerShell é aberto e está disponível no Linux [Microsoft Azure Blog]

Repositório PowerShell [GitHub]

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

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

A Resposta

Contribuinte do SuperUser Ben N tem a resposta para nós:

Sim. Muito do PowerShell é o. NET, para que ele possa ser executado em qualquer sistema operacional que tenha Common Language Runtime( CLR).No Windows, é o. NET Framework. Para outros sistemas operacionais, incluindo Linux, você pode usar o CoreCLR, um subconjunto de plataforma aberta e plataforma cruzada do. NET Framework.

Como você aprendeu no repositório do PowerShell no GitHub, são suportados alguns sistemas operacionais e distribuições. 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, já que alguns recursos dependem das bibliotecas encontradas apenas no Windows. A ParsedHtml propriedade no HtmlWebResponseObject tipo retornado por Invoke-WebRequest , por exemplo, só é útil no Windows porque ele contém um objeto COM que vem de uma biblioteca não gerenciada, mshtml.dll para ser específico. Em outras plataformas, não há nada lá.E, é claro, existem cmdlets para gerenciar sistemas encontrados apenas no Windows, como aplicativos modernos( Get-AppxPackage , por exemplo).

No entanto, a infra-estrutura do PowerShell funciona perfeitamente em outros sistemas operacionais, muitos cmdlets são utilizáveis ​​em qualquer lugar, e o suporte só está melhorando.

Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui. Créditos da imagem

: Jeff Hicks( Base de Conhecimento de Petri IT)