Homepage » come » PowerShell funziona su altri sistemi operativi oltre a Windows?

    PowerShell funziona su altri sistemi operativi oltre a Windows?

    Può essere molto frustrante quando il tuo professore dice una cosa su PowerShell e vari siti web sembrano offrire una solida dimostrazione del contrario. PowerShell funziona effettivamente su sistemi non Windows o no? Il post di Q & A di SuperUser di oggi ha la risposta alla domanda di un lettore perplesso.

    La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.

    La domanda

    Lettore SuperUser FredSavage187 vuole sapere se PowerShell funziona su altri sistemi operativi oltre a Windows:

    Il mio professore di informatica ha recentemente tenuto un quiz e una delle domande è stata "Vero o Falso: PowerShell funziona su Windows, Mac e Linux". La risposta corretta era "false" e lui sostiene che PowerShell è una cosa di Windows. Ma ho trovato un paio di siti web che dicono diversamente:

    PowerShell è open source ed è disponibile su Linux [Microsoft Azure Blog]

    PowerShell Repository [GitHub]

    Qual è effettivamente corretto? PowerShell funziona su Linux, Mac OS e Windows?

    PowerShell funziona su altri sistemi operativi oltre a Windows?

    La risposta

    Il collaboratore di SuperUser Ben N ha la risposta per noi:

    Sì. Gran parte di PowerShell è .NET, quindi può essere eseguito su qualsiasi sistema operativo con Common Language Runtime (CLR). Su Windows, questo è .NET Framework. Per altri sistemi operativi, incluso Linux, è possibile utilizzare CoreCLR, un sottoinsieme open-source e multipiattaforma di .NET Framework..

    Come hai appreso nel repository PowerShell su GitHub, sono supportati numerosi sistemi operativi e distribuzioni. Ad esempio, ecco le istruzioni per Ubuntu e una dimostrazione:

    Si potrebbe sostenere che non tutto PowerShell è disponibile in ambienti diversi da Windows poiché alcune funzionalità dipendono da librerie trovate solo in Windows. Il ParsedHtml proprietà sul HtmlWebResponseObject tipo restituito da Invoke-WebRequest, ad esempio, è utile solo su Windows perché contiene un oggetto COM proveniente da una libreria non gestita, Mshtml.dll essere specifici. Su altre piattaforme, non c'è niente lì. E, naturalmente, ci sono i cmdlet per gestire i sistemi che si trovano solo in Windows, come le app moderne (Get-AppxPackage, per esempio).

    Tuttavia, l'infrastruttura PowerShell funziona perfettamente su altri sistemi operativi, molti dei cmdlet sono utilizzabili ovunque e il supporto sta migliorando.


    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)