Pagrindinis » kaip » Ar „PowerShell“ dirba su kitomis operacinėmis sistemomis be „Windows“?

    Ar „PowerShell“ dirba su kitomis operacinėmis sistemomis be „Windows“?

    Tai gali būti labai varginantis, kai jūsų profesorius sako, kad vienas dalykas apie „PowerShell“ ir įvairios interneto svetainės siūlo tvirtą priešingą įrodymą. Ar „PowerShell“ faktiškai dirba ne „Windows“ sistemose, ar ne? Šiandienos „SuperUser“ atsakymų ir atsakymų atsakymas yra neaiškus skaitytojo klausimas.

    Šiandienos „Klausimų ir atsakymų“ sesija mums suteikiama pagal „SuperUser“ - „Stack Exchange“ padalinį, bendruomenės sukurtą „Q&A“ svetainių grupavimą.

    Klausimas

    „SuperUser“ skaitytuvas FredSavage187 nori sužinoti, ar „PowerShell“ veikia ne tik „Windows“, bet ir kitose operacinėse sistemose:

    Mano kompiuterių mokslų profesorius neseniai davė mums viktoriną, o vienas iš klausimų buvo „True or False:„ PowerShell “veikia„ Windows “,„ Mac “ir„ Linux “. Teisingas atsakymas buvo „klaidingas“ ir teigia, kad „PowerShell“ yra vienintelis „Windows“ dalykas. Bet radau keletą svetainių, kurios sako kitaip:

    „PowerShell“ yra atviras ir prieinamas „Linux“ [„Microsoft Azure“ tinklaraštyje)

    „PowerShell“ saugykla [GitHub]

    Kuris iš tiesų yra teisingas? Ar „PowerShell“ veikia „Linux“ ir „Mac OS“, taip pat „Windows“?

    Ar „PowerShell“ veikia ne tik „Windows“, bet ir kitas operacines sistemas?

    Atsakymas

    „SuperUser“ autorius Ben N turi atsakymą:

    Taip. Didžioji „PowerShell“ dalis yra .NET, todėl ji gali veikti bet kurioje operacinėje sistemoje, turinčioje bendrą kalbos mokėjimo laiką (CLR). „Windows“, tai yra .NET Framework. Kitoms operacinėms sistemoms, įskaitant „Linux“, galite naudoti „CoreCLR“, atviro kodo, „cross-platform“ .NET Framework pogrupį.

    Kaip jūs sužinojote „PowerShell“ saugykloje „GitHub“, palaikoma nemažai operacinių sistemų ir paskirstymų. Pavyzdžiui, čia pateikiamos Ubuntu instrukcijos ir demonstracija:

    Galima teigti, kad ne visi „PowerShell“ yra prieinami ne „Windows“ aplinkose, nes kai kurios funkcijos priklauso nuo bibliotekų, kurios randamos tik „Windows“. The ParsedHtml nuosavybė HtmlWebResponseObject tipas grąžintas Invoke-WebRequest, pvz., yra naudinga tik „Windows“ sistemoje, nes ji turi COM objektą, gaunamą iš nevaldomos bibliotekos, mshtml.dll būti konkretūs. Kitose platformose nėra nieko. Ir, žinoma, yra „cmdlet“, skirtos valdyti sistemas, kurios randamos tik „Windows“, pvz., Šiuolaikinės programos („Get-AppxPackage“, pavyzdžiui).

    Vis dėlto „PowerShell“ infrastruktūra puikiai veikia ir kitose operacinėse sistemose, daugybė cmdlet yra tinkami naudoti bet kur, o palaikymas tik gerėja.


    Ar ką nors papildyti paaiškinimu? Garsas išjungtas komentaruose. Norite perskaityti daugiau atsakymų iš kitų „tech-savvy Stack Exchange“ vartotojų? Čia rasite visą diskusijų temą.

    Vaizdo kreditai: Jeff Hicks („Petri IT“ žinių bazė)