Główna » jak » Czy PowerShell działa na innych systemach operacyjnych oprócz Windows?

    Czy PowerShell działa na innych systemach operacyjnych oprócz Windows?

    To może być bardzo frustrujące, gdy twój profesor mówi jedno o PowerShellu, a różne strony internetowe wydają się dowodzić czegoś przeciwnego. Czy PowerShell działa na systemach innych niż Windows, czy nie? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na zaintrygowane pytanie czytelnika.

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Pytanie

    Czytnik SuperUser FredSavage187 chce wiedzieć, czy PowerShell działa w innych systemach operacyjnych oprócz Windows:

    Mój profesor informatyki niedawno przedstawił nam quiz i jedno z pytań brzmiało: "Prawda czy fałsz: PowerShell działa na systemach Windows, Mac i Linux". Poprawną odpowiedzią było "fałsz" i utrzymuje, że PowerShell to rzecz tylko dla Windows. Ale znalazłem kilka stron internetowych, które mówią inaczej:

    PowerShell jest systemem otwartym i jest dostępny w systemie Linux [Microsoft Azure Blog]

    Repozytorium PowerShell [GitHub]

    Który z nich jest rzeczywiście poprawny? Czy PowerShell działa na systemach Linux i Mac OS, a także Windows?

    Czy PowerShell działa na innych systemach operacyjnych poza Windows?

    Odpowiedź

    Pomocnik SuperUser Ben N ma dla nas odpowiedź:

    Tak. Znaczna część PowerShell to .NET, więc może działać na dowolnym systemie operacyjnym z Common Language Runtime (CLR). W systemie Windows jest to .NET Framework. W przypadku innych systemów operacyjnych, w tym systemu Linux, można użyć CoreCLR, open-source, międzyplatformowego podzbioru .NET Framework.

    Jak się nauczyłeś w repozytorium PowerShell na GitHub, obsługiwanych jest sporo systemów operacyjnych i dystrybucji. Na przykład tutaj są instrukcje dla Ubuntu i demonstracja:

    Można argumentować, że nie wszystkie programy PowerShell są dostępne w środowiskach innych niż Windows, ponieważ niektóre funkcje zależą od bibliotek znalezionych tylko w systemie Windows. The ParsedHtml własność na HtmlWebResponseObject typ zwracany przez Invoke-WebRequest, na przykład jest użyteczny tylko w systemie Windows, ponieważ przechowuje obiekt COM pochodzący z niezarządzanej biblioteki, mshtml.dll być konkretnym. Na innych platformach nic tam nie ma. Oczywiście istnieją polecenia cmdlet do zarządzania systemami dostępnymi tylko w systemie Windows, np. Nowoczesne aplikacje (Get-AppxPackage, na przykład).

    Mimo to infrastruktura PowerShell działa doskonale na innych systemach operacyjnych, wiele poleceń cmdlet można wykorzystać w dowolnym miejscu, a obsługa jest tylko coraz lepsza.


    Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.

    Kredyty wizerunkowe: Jeff Hicks (Petri IT Knowledgebase)