Domovská » jak » Pracuje PowerShell na jiných operačních systémech kromě systému Windows?

    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)