Werkt PowerShell ook op andere besturingssystemen behalve Windows?
Het kan heel frustrerend zijn als je professor iets zegt over PowerShell en verschillende websites lijken het bewijs van het tegendeel te bieden. Werkt PowerShell eigenlijk op niet-Windows-systemen of niet? De SuperUser Q & A-post van vandaag heeft het antwoord op de vraag van een verbaasde lezer.
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
De vraag
SuperUser-lezer FredSavage187 wil weten of PowerShell naast Windows ook op andere besturingssystemen werkt:
Mijn professor computerwetenschappen gaf ons onlangs een quiz en een van de vragen was: "Waar of niet waar: PowerShell werkt op Windows, Mac en Linux". Het juiste antwoord was "false" en hij beweert dat PowerShell een Windows-ding is. Maar ik vond een aantal websites die iets anders zeiden:
PowerShell is open source en is beschikbaar op Linux [Microsoft Azure Blog]
PowerShell Repository [GitHub]
Welke is eigenlijk juist? Werkt PowerShell zowel op Linux en Mac OS als op Windows??
Werkt PowerShell naast Windows ook op andere besturingssystemen??
Het antwoord
SuperUser-bijdrager Ben N heeft het antwoord voor ons:
Ja. Een groot deel van PowerShell is .NET, dus het kan worden uitgevoerd op elk besturingssysteem met de Common Language Runtime (CLR). In Windows is dat het .NET Framework. Voor andere besturingssystemen, waaronder Linux, kunt u de CoreCLR gebruiken, een open-source, cross-platform subset van het .NET Framework.
Zoals je hebt geleerd in de PowerShell-repository op GitHub, worden nogal wat besturingssystemen en distributies ondersteund. Hier volgen bijvoorbeeld de instructies voor Ubuntu en een demonstratie:
Men zou kunnen stellen dat niet alle PowerShell beschikbaar is in niet-Windows-omgevingen, omdat sommige functies afhankelijk zijn van bibliotheken die alleen in Windows worden gevonden. De ParsedHtml eigendom op de HtmlWebResponseObject type geretourneerd door Roep-WebRequest, is bijvoorbeeld alleen nuttig op Windows omdat het een COM-object bevat dat afkomstig is van een onbeheerde bibliotheek, mshtml.dll Om specifiek te zijn. Op andere platforms is er niets. En natuurlijk zijn er cmdlets om systemen te beheren die alleen in Windows worden gevonden, zoals moderne apps (Get-AppxPackage, bijvoorbeeld).
Desondanks werkt de PowerShell-infrastructuur uitstekend op andere besturingssystemen, veel van de cmdlets zijn overal bruikbaar en de ondersteuning wordt alleen maar beter.
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.
Afbeeldingscredits: Jeff Hicks (Petri IT Knowledgebase)