Fungerer PowerShell på andre operativsystemer ud over Windows?
Det kan være meget frustrerende, når din professor siger en ting om PowerShell og forskellige websites synes at tilbyde solidt bevis på det modsatte. Fungerer PowerShell faktisk på ikke-Windows-systemer eller ej? Dagens SuperUser Q & A-indlæg har svaret på en forvirret læsers spørgsmål.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læser FredSavage187 vil vide, om PowerShell fungerer på andre operativsystemer udover Windows:
Min computervidenskabsprofessor har for nylig givet os en quiz, og et af spørgsmålene var "True or False: PowerShell virker på Windows, Mac og Linux". Det korrekte svar var "falsk", og han hævder, at PowerShell er en eneste Windows-fil. Men jeg fandt et par hjemmesider, der siger ellers:
PowerShell er åbent og er tilgængelig på Linux [Microsoft Azure Blog]
PowerShell Repository [GitHub]
Hvilken er faktisk korrekt? Fungerer PowerShell på Linux og Mac OS samt Windows?
Fungerer PowerShell på andre operativsystemer ud over Windows?
Svaret
SuperUser bidragyder Ben N har svaret for os:
Ja. Meget af PowerShell er .NET, så det kan køre på ethvert operativsystem, der har Common Language Runtime (CLR). På Windows, det er .NET Framework. For andre operativsystemer, herunder Linux, kan du bruge CoreCLR, en open source, delbaseret undergruppe af .NET Framework.
Som du har lært på PowerShell-depotet på GitHub, understøttes ganske få operativsystemer og distributioner. Her er for eksempel instruktionerne til Ubuntu og en demonstration:
Man kan hævde, at ikke alle PowerShell er tilgængelige i ikke-Windows-miljøer, da nogle funktioner afhænger af biblioteker, der kun findes i Windows. Det ParsedHtml ejendom på HtmlWebResponseObject type returneret af Påberåbe-WebRequest, For eksempel er det kun nyttigt på Windows, fordi det indeholder et COM-objekt, der kommer fra et ustyret bibliotek, Mshtml.dll at være specifik. På andre platforme er der intet der. Og selvfølgelig er der cmdletter til at styre systemer, der kun findes i Windows, ligesom Moderne apps (Get-AppxPackage, for eksempel).
Alligevel fungerer PowerShell-infrastrukturen perfekt på andre operativsystemer, masser af cmdlets kan bruges overalt, og støtten bliver kun bedre.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.
Billedkreditter: Jeff Hicks (Petri IT Knowledgebase)