29Aug

Ali PowerShell deluje na drugih operacijskih sistemih poleg operacijskega sistema Windows?

Lahko je zelo frustrirajuće, ko vaš profesor pravi eno stvar o PowerShell in različna spletna mesta zdi, da ponujajo trdne dokaze za nasprotno. Ali PowerShell dejansko deluje na sistemih, ki niso Windows, ali ne? Današnji SuperUser Q & Objava ima odgovor na zmedeno bralčevo vprašanje.

Današnje vprašanje &S sejo odgovora prihaja uporaba SuperUserja, ki je razdeljena na Stack Exchange, skupinsko spletno stran Q & A.

Vprašalnik

SuperUser bralnik FredSavage187 želi vedeti, ali PowerShell deluje poleg drugih operacijskih sistemov poleg Windowsa:

Moj profesor računalniške znanosti je pred kratkim dal kviz in eno od vprašanj je bilo: "True ali False: PowerShell deluje na Windows, Mac inLinux ".Pravilni odgovor je bil "napačen", in trdi, da je PowerShell edina stvar za Windows. Ampak sem našel nekaj spletnih strani, ki pravijo drugače:

PowerShell je odprt vir in je na voljo na Linuxu [Microsoft Azure Blog]

Repository PowerShell [GitHub]

Kateri je dejansko pravilen? Ali PowerShell deluje na Linuxu in Mac OS ter v okolju Windows?

Ali PowerShell deluje poleg drugih operacijskih sistemov poleg operacijskega sistema Windows?

Odzivnik

SuperUser, odgovoren za Ben N, ima odgovor za nas:

Da. Veliko PowerShell je. NET, zato se lahko zažene v katerem koli operacijskem sistemu, ki ima skupno jezikovno uro( CLR).V sistemu Windows, to je. NET Framework. Za druge operacijske sisteme, vključno z Linuxom, lahko uporabite CoreCLR, odprtokodno podmnožico z več platformami. NET Framework.

Kot ste se naučili v repozitoriju PowerShell na GitHub, je podprtih kar nekaj operacijskih sistemov in distribucij. Na primer, tukaj so navodila za Ubuntu in demonstracijo:

Lahko trdite, da ni vseh PowerShellov na voljo v okoljih, ki niso v okolju Windows, saj so nekatere funkcije odvisne od knjižnic, ki jih najdemo samo v sistemu Windows. Lastnosti ParsedHtml v Vrsta HtmlWebResponseObject , vrnjen s strani Invoke-WebRequest je na primer uporaben le v operacijskem sistemu Windows, ker ima objekt COM, ki prihaja iz nenadzorovane knjižnice, mshtml.dll je specifičen. Na drugih platformah ni ničesar. In, seveda, obstajajo cmdleti za upravljanje sistemov, ki jih najdemo samo v operacijskem sistemu Windows, na primer Modern apps( Get-AppxPackage , na primer).

Kljub temu, da infrastruktura PowerShell odlično deluje na drugih operacijskih sistemih, je veliko cmdletov uporabno kjerkoli, podpora pa se le še izboljša.

Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.

Image Credit: Jeff Hicks( Petri IT Knowledgebase)