29Aug

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 prova del contrario. PowerShell funziona effettivamente su sistemi non Windows o no? Oggi il post di SuperUser Q & A ha la risposta alla domanda di un lettore perplesso.

Today's Question &La sessione di risposta ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A basato su community.

La domanda

SuperUser reader 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 era "Vero o Falso: PowerShell funziona su Windows, Mac eLinux”.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 [Blog di Microsoft Azure]

Repository PowerShell [GitHub]

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

PowerShell funziona su altri sistemi operativi oltre a Windows?

La risposta

SuperUser contributor Ben N ha la risposta per noi:

Sì.Gran parte di PowerShell è. NET, quindi può essere eseguito su qualsiasi sistema operativo che abbia 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 imparato nel repository PowerShell su GitHub, sono supportati diversi 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 che si trovano solo in Windows. La proprietà ParsedHtml sul tipo HtmlWebResponseObject restituita da Invoke-WebRequest , ad esempio, è utile solo su Windows perché contiene un oggetto COM proveniente da una libreria non gestita, mshtml.dll specifico. Su altre piattaforme, non c'è niente lì.E, naturalmente, ci sono dei cmdlet per gestire i sistemi che si trovano solo in Windows, come le app Modern( ad esempio Get-AppxPackage ).

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)