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 SuperUser FredSavage187 quer saber se o PowerShell funciona em outros sistemas operacionais além do Windows:
My computer science professor recently gave us a quiz and one of the questions was, “True or False: PowerShell works on Windows, Mac, and Linux”. The correct answer was “false” and he maintains that PowerShell is a Windows only thing. But I found a couple of websites that say otherwise:
PowerShell is open sourced and is available on Linux [Microsoft Azure Blog]
PowerShell Repository [GitHub]
Which one is actually correct? Does PowerShell work on Linux and Mac OS as well as 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:
Yes. Much of PowerShell is.NET, so it can run on any operating system that has the Common Language Runtime (CLR). On Windows, that is the.NET Framework. For other operating systems, including Linux, you can use the CoreCLR, an open-source, cross-platform subset of the.NET Framework.
As you learned at the PowerShell repository on GitHub, quite a few operating systems and distributions are supported. For example, here are the instructions for Ubuntu and a demonstration:
One could argue that not all of PowerShell is available in non-Windows environments since some features depend on libraries found only in Windows. The ParsedHtml property on the HtmlWebResponseObject type returned by Invoke-WebRequest, for example, is only useful on Windows because it holds a COM object that comes from an unmanaged library, mshtml.dll to be specific. On other platforms, there is nothing there. And, of course, there are cmdlets to manage systems found only in Windows, like Modern apps (Get-AppxPackage, for example).
Still though, the PowerShell infrastructure works perfectly well on other operating systems, plenty of the cmdlets are usable anywhere, and support is only getting better.
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)