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)