Pracuje PowerShell na jiných operačních systémech kromě systému Windows?
Může to být velmi frustrující, když váš profesor říká, že jedna věc o PowerShell a různých internetových stránkách se zdají být solidním důkazem o opaku. Pracuje PowerShell na jiných systémech než Windows? Dnešní příspěvek typu SuperUser Q & A má odpověď na otázku zmateného čtenáře.
Dnešní zasedání Otázky a odpovědi nás přichází s laskavým svolením SuperUser - podřízené rozdělení Stack Exchange, které je založeno na komunitě prostřednictvím skupin webových stránek.
Otázka
Čtečka SuperUser FredSavage187 chce vědět, zda PowerShell funguje na jiných operačních systémech kromě Windows:
Můj profesor počítačové vědy nám nedávno dal kvíz a jedna z otázek byla: "Pravda nebo nepravda: PowerShell pracuje na systémech Windows, Mac a Linux". Správná odpověď byla "falešná" a tvrdí, že PowerShell je jen věc Windows. Našel jsem ale pár webů, které říkají jinak:
PowerShell je otevřený zdroj a je k dispozici na Linuxu [Microsoft Azure Blog]
Úložiště PowerShell [GitHub]
Který z nich je skutečně správný? Pracuje PowerShell v systémech Linux a Mac OS, stejně jako Windows?
Pracuje PowerShell na jiných operačních systémech kromě Windows?
Odpověď
Příspěvek SuperUser Ben N má pro nás odpověď:
Ano. Většina PowerShell je .NET, takže může fungovat na libovolném operačním systému, který má Common Language Runtime (CLR). V systému Windows je to .NET Framework. Pro ostatní operační systémy, včetně Linuxu, můžete použít CoreCLR, podskupinu open-source, cross-platformu .NET Framework.
Jak jste se dozvěděli v repozitáři PowerShell na GitHubu, podporují se poměrně málo operačních systémů a distribucí. Například zde jsou pokyny pro Ubuntu a ukázku:
Dalo by se tvrdit, že ne všechny zařízení PowerShell jsou k dispozici v prostředích jiných než Windows, neboť některé funkce závisí na knihovnách nalezených pouze v systému Windows. The ParsedHtml vlastnictví na HtmlWebResponseObject typ vrácený Invoke-WebRequest, je například užitečný pouze v systému Windows, protože obsahuje objekt COM, který pochází z nespravované knihovny, mshtml.dll být konkrétní. Na jiných platformách není tam nic. A samozřejmě existují i cmdlety pro správu systémů, které se nacházejí pouze ve Windows, jako jsou moderní aplikace (Get-AppxPackage, například).
I když infrastruktura PowerShell funguje dokonale i na jiných operačních systémech, spousta cmdlet je použitelná kdekoliv a podpora se jen zlepšuje.
Musíte něco přidat k vysvětlení? Vyjměte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.
Kredity obrázku: Jeff Hicks (Petri IT Knowledgebase)