La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di domande e risposte basato sulla comunità.
La domanda
Il lettore SuperUser FredSavage187 vuole sapere se PowerShell funziona su altri sistemi operativi oltre a 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?
PowerShell funziona su altri sistemi operativi oltre a Windows?
La risposta
Il collaboratore di SuperUser Ben N ha la risposta per noi:
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.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.
Crediti immagine: Jeff Hicks (Petri IT Knowledgebase)