/ / Funguje PowerShell na jiných operačních systémech kromě Windows?

Funguje PowerShell na jiných operačních systémech kromě Windows?

To může být velmi frustrující, když váš profesorříká, že jedna věc o PowerShell a různých webových stránkách se zdá být solidním důkazem o opaku. Funguje PowerShell ve skutečnosti na jiných systémech než Windows? Dnešní příspěvek SuperUser Q&A má odpověď na zmatenou otázku čtenáře.

Dnešní relace otázek a odpovědí k nám přichází s laskavým svolením SuperUser - členění Stack Exchange, komunitního seskupování Q&A webových stránek.

Otázka

Čtečka SuperUser FredSavage187 chce vědět, jestli PowerShell pracuje na jiných operačních systémech kromě Windows:

Můj profesor informatiky nám nedávno dalkvíz a jednou z otázek bylo: „Pravda nebo nepravda: PowerShell funguje na Windows, Mac a Linux“. Správná odpověď byla „nepravdivá“ a tvrdí, že PowerShell je věcí pouze pro Windows. Ale našel jsem několik webových stránek, které říkají jinak:

PowerShell je otevřený a je k dispozici na Linuxu [Microsoft Azure Blog]

Úložiště PowerShell [GitHub]

Který z nich je ve skutečnosti správný? Funguje PowerShell v systémech Linux a Mac OS i Windows?

Funguje PowerShell na jiných operačních systémech kromě Windows?

Odpověď

Přispěvatel SuperUser Ben N má pro nás odpověď:

Ano. Hodně z PowerShell je.NET, takže může běžet na jakémkoli operačním systému, který má Common Language Runtime (CLR). V systému Windows je to rozhraní .NET Framework. Pro jiné operační systémy, včetně Linuxu, můžete použít CoreCLR, open-source, multiplatformní podmnožinu .NET Framework.

Jak jste se dozvěděli v úložišti PowerShell na GitHubu, je podporováno několik operačních systémů a distribucí. Zde jsou například pokyny pro Ubuntu a ukázka:

Dalo by se argumentovat, že ne všechny PowerShell je k dispozici v prostředích jiných než Windows, protože některé funkce závisí na knihovnách nalezených pouze ve Windows. ParsedHtml majetek na HtmlWebResponseObject typ vrácený uživatelem Invoke-WebRequest, například, je 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í nic. A samozřejmě existují rutiny pro správu systémů, které se nacházejí pouze ve Windows, jako například Moderní aplikace (Get-AppxPackage, například).

Přesto však infrastruktura PowerShell funguje perfektně na jiných operačních systémech, spousta rutin je použitelná kdekoli a podpora se pouze zlepšuje.


Máte něco k vysvětlení? V komentářích zní zvuk. Chcete si přečíst více odpovědí od ostatních technicky zdatných uživatelů zásobníku Exchange? Podívejte se na celou diskusní vlákno zde.

Obrazové kredity: Jeff Hicks (Petri IT Knowledgebase)