PowerShell pracuje na iných operačných systémoch okrem systému Windows?
Môže to byť veľmi frustrujúce, keď váš profesor hovorí, že jedna vec týkajúca sa PowerShell a rôznych internetových stránkach sa zdá, že ponúkajú pevný dôkaz o opaku. PowerShell skutočne funguje na iných ako Windows systémoch alebo nie? Dnešný príspevok typu SuperUser Q & A má odpoveď na otázku čitateľov.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Otázka
Čítačka SuperUser FredSavage187 chce vedieť, či PowerShell funguje na iných operačných systémoch okrem Windows:
Môj profesor počítačovej vedy nedávno nám dal kvíz a jedna z otázok bola: "Pravda alebo nepravda: PowerShell funguje na Windows, Mac a Linux". Správna odpoveď bola "falošná" a tvrdí, že PowerShell je len vec Windows. Našiel som však pár webových stránok, ktoré hovoria inak:
PowerShell je otvorený zdroj a je k dispozícii na Linuxe [Microsoft Azure Blog]
Úložisko PowerShell [GitHub]
Ktorý je skutočne správny? Pracuje PowerShell v systémoch Linux a Mac OS, rovnako ako v systéme Windows?
Pracuje PowerShell na iných operačných systémoch okrem Windows?
Odpoveď
Sponzor SuperUser Ben N má odpoveď pre nás:
Áno. Veľká časť PowerShellu je .NET, takže môže fungovať na ľubovoľnom operačnom systéme, ktorý má Common Language Runtime (CLR). Vo Windows je to .NET Framework. Pre ostatné operačné systémy, vrátane Linuxu, môžete použiť CoreCLR, podskupinu open-source, cross-platform platformu .NET Framework.
Ako ste sa naučili v úložisku PowerShell na GitHub, pomáhajú pomerne málo operačných systémov a distribúcií. Tu sú napríklad pokyny pre Ubuntu a ukážku:
Dalo by sa tvrdiť, že nie všetky zariadenia PowerShell sú k dispozícii v prostrediach, ktoré nie sú v systéme Windows, pretože niektoré funkcie závisia od knižníc nachádzajúcich sa len v systéme Windows. ParsedHtml majetok na HtmlWebResponseObject typ vrátený Vyvolať-WebRequest, je napríklad užitočný iba v systéme Windows, pretože obsahuje objekt COM, ktorý pochádza z nekontrolovanej knižnice, Mshtml.dll byť špecifické. Na iných platformách nie je tu nič. Samozrejme existujú aj cmdlety na správu systémov, ktoré sa nachádzajú iba v systéme Windows, ako sú napríklad Moderné aplikácie (Get-AppxPackage, napríklad).
Napriek tomu infraštruktúra PowerShell funguje dokonale na iných operačných systémoch, veľa rutín je použiteľná kdekoľvek a podpora sa len zlepšuje.
Máte niečo doplniť vysvetlenie? Znie to v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.
Kredity obrázkov: Jeff Hicks (Petri IT Knowledgebase)