Fungerer PowerShell på andre operativsystemer i tillegg til Windows?
Det kan være veldig frustrerende når professoren din sier en ting om PowerShell og ulike nettsteder synes å gi solid bevis på det motsatte. Fungerer PowerShell faktisk på ikke-Windows-systemer eller ikke? Dagens SuperUser Q & A-innlegg har svaret på en forvirret leserens spørsmål.
Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.
Spørsmålet
SuperUser leser FredSavage187 vil vite om PowerShell fungerer på andre operativsystemer i tillegg til Windows:
Computervitenskapelig professor ga oss nylig en quiz og et av spørsmålene var "True or False: PowerShell fungerer på Windows, Mac og Linux". Det riktige svaret var "falskt" og han hevder at PowerShell er en eneste Windows-fil. Men jeg fant et par nettsteder som sier ellers:
PowerShell er åpen og er tilgjengelig på Linux [Microsoft Azure Blog]
PowerShell Repository [GitHub]
Hvilken er faktisk riktig? Fungerer PowerShell på Linux og Mac OS, samt Windows?
Fungerer PowerShell på andre operativsystemer i tillegg til Windows?
Svaret
SuperUser-bidragsyter Ben N har svaret for oss:
Ja. Mye av PowerShell er .NET, så det kan kjøre på alle operativsystem som har Common Language Runtime (CLR). På Windows, det er .NET Framework. For andre operativsystemer, inkludert Linux, kan du bruke CoreCLR, en åpen kildekode-undergruppe av .NET Framework.
Som du har lært på PowerShell-depotet på GitHub, støttes ganske mange operativsystemer og distribusjoner. For eksempel, her er instruksjonene for Ubuntu og en demonstrasjon:
Man kan hevde at ikke alle PowerShell er tilgjengelige i ikke-Windows-miljøer, siden noen funksjoner er avhengige av biblioteker som bare finnes i Windows. De ParsedHtml eiendom på HtmlWebResponseObject type returnert av Påkall-WebRequest, for eksempel, er bare nyttig på Windows fordi det har et COM-objekt som kommer fra et ustyrt bibliotek, mshtml.dll for å være spesifikk. På andre plattformer er det ingenting der. Og selvfølgelig er det cmdletter å administrere systemer som bare finnes i Windows, som Moderne apper (Get-AppxPackage, for eksempel).
Likevel fungerer PowerShell-infrastrukturen perfekt på andre operativsystemer, mange av cmdletene kan brukes hvor som helst, og støtten blir bare bedre.
Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.
Image Credits: Jeff Hicks (Petri IT Knowledgebase)