Fungerar PowerShell på andra operativsystem förutom Windows?
Det kan vara väldigt frustrerande när din professor säger att en sak om PowerShell och olika webbplatser tycks erbjuda solida bevis motsatsen. Fungerar PowerShell faktiskt på andra Windows-system eller inte? Dagens SuperUser Q & A-post har svaret på en förbryllad läsarens fråga.
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsare FredSavage187 vill veta om PowerShell fungerar på andra operativsystem förutom Windows:
Min datorvetenskapliga professor gav oss nyligen en frågesport och en av frågorna var "True or False: PowerShell fungerar på Windows, Mac och Linux". Det korrekta svaret var "falskt" och han hävdar att PowerShell är enbart Windows. Men jag hittade ett par webbplatser som säger något annat:
PowerShell är öppet och finns på Linux [Microsoft Azure Blog]
PowerShell Repository [GitHub]
Vilken är faktiskt korrekt? Fungerar PowerShell på Linux och Mac OS samt Windows?
Fungerar PowerShell på andra operativsystem förutom Windows?
Svaret
SuperUser-bidragsgivare Ben N har svaret för oss:
Ja. Mycket av PowerShell är .NET, så det kan köras på alla operativsystem som har Common Language Runtime (CLR). På Windows, det är .NET Framework. För andra operativsystem, inklusive Linux, kan du använda CoreCLR, en öppen källkod, underplattformsundergrupp av .NET Framework.
Som du lärde dig i PowerShell-förvaret på GitHub, stöds ett flertal operativsystem och distributioner. Till exempel, här är instruktionerna för Ubuntu och en demonstration:
Man kan hävda att inte alla PowerShell är tillgängliga i andra Windows-miljöer, eftersom vissa funktioner är beroende av bibliotek som bara finns i Windows. De ParsedHtml egendom på HtmlWebResponseObject typ returneras av Åberopa-WebRequest, till exempel, är bara användbart på Windows eftersom det har ett COM-objekt som kommer från ett obestridd bibliotek, mshtml.dll att vara specifik. På andra plattformar finns det inget där. Och det finns naturligtvis cmdlets att hantera system som bara finns i Windows, som Moderna appar (Get-AppxPackage, till exempel).
PowerShell-infrastrukturen fungerar dock fortfarande bra på andra operativsystem, massor av cmdlets kan användas var som helst och stödet blir bara bättre.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.
Bildkrediter: Jeff Hicks (Petri IT Knowledgebase)