29Aug
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 vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.
De vraag
SuperUser-lezer FredSavage187 wil weten of PowerShell naast Windows ook op andere besturingssystemen werkt:
Mijn professor computerwetenschappen heeft ons onlangs een quiz gegeven en een van de vragen was: "Waar of niet waar: PowerShell werkt op Windows, Mac enLinux”.Het juiste antwoord was "false" en hij beweert dat PowerShell een Windows-ding is. Maar ik vond een aantal websites die iets anders zeggen:
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:
. U zou kunnen beweren dat niet alle PowerShell beschikbaar zijn in niet-Windows-omgevingen omdat sommige functies afhankelijk zijn van bibliotheken die alleen in Windows worden gevonden. De ParsedHtml -eigenschap op het HtmlWebResponseObject -type geretourneerd door Invoke-WebRequest , bijvoorbeeld, is 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).
Toch werkt de PowerShell-infrastructuur uitstekend op andere besturingssystemen, veel cmdlets kunnen overal worden gebruikt en de ondersteuning wordt alleen maar beter.
Heeft u 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 de volledige discussiethread hier.
afbeelding Credits: Jeff Hicks( Petri IT Knowledgebase)