If-Koubou

Käyttääkö PowerShell muissa käyttöjärjestelmissä Windowsin lisäksi?

Käyttääkö PowerShell muissa käyttöjärjestelmissä Windowsin lisäksi? (Miten)

Se voi olla hyvin turhauttavaa, kun professori kertoo PowerShellistä ja eri verkkosivustoista näyttävät tarjoavan vankka todiste päinvastoin. Käyttääkö PowerShell muissa kuin Windows-järjestelmissä vai ei? Tänään SuperUser Q & A -postilla on vastaus hämmentynyt lukijan kysymykseen.

Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Kysymys

SuperUser-lukija FredSavage187 haluaa tietää, toimiiko PowerShell muissa käyttöjärjestelmissä Windowsin lisäksi:

Tietojenkäsittelytieteen professori äskettäin antoi meille tietokilpailun ja yksi kysymyksistä oli "True or False: PowerShell toimii Windowsissa, Macissa ja Linuxissa". Oikea vastaus oli "epätosi" ja hän väittää, että PowerShell on Windows vain asia. Mutta löysin muutamia verkkosivustoja, jotka sanovat toisin:

PowerShell on avoin lähdekoodi ja se on saatavilla Linuxissa [Microsoft Azure Blog]

PowerShell-arkisto [GitHub]

Kumpi oikein on oikein? Onko PowerShell toimiva Linuxissa, Mac OS: ssä ja Windowsissa?

Does PowerShell toimivat Windows-käyttöjärjestelmän lisäksi?

Vastaus

SuperUser-avustaja Ben N: llä on vastaus meille:

Joo. Suuri osa PowerShellistä on .NET, joten se voi toimia millä tahansa käyttöjärjestelmällä, jolla on Common Language Runtime (CLR). Windowsissa, eli .NET Frameworkissä. Muissa käyttöjärjestelmissä, kuten Linuxissa, voit käyttää .NET Framework -puhelimen avoimen lähdekoodin, cross-platform-alihakemistoa.

Kuten olet oppinut GitHubin PowerShell-arkistossa, tuetaan useita käyttöjärjestelmiä ja jakeluja. Esimerkiksi tässä ovat Ubuntun ohjeet ja esittely:

Voidaan väittää, että PowerShell ei ole käytettävissä kaikissa muissa kuin Windows-ympäristöissä, koska jotkin ominaisuudet riippuvat vain Windowsissa olevista kirjastoista. ParsedHtml omaisuus HtmlWebResponseObject tyyppi palautettu Invoke-WebRequest, on hyödyllinen vain Windowsissa, koska sillä on COM-objekti, joka on peräisin hallitsemattomasta kirjastosta, mshtml.dll olla erityisiä. Muilla alustoilla ei ole mitään. Ja tietenkin on olemassa cmdletit järjestelmien hallitsemiseksi vain Windowsissa, kuten Modern-sovellukset (Get-AppxPackage, esimerkiksi).

Silti PowerShell-infrastruktuuri toimii täydellisesti muiden käyttöjärjestelmien kanssa, runsaasti cmdletteja on käytettävissä missä tahansa, ja tuki vain paranee.

Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.

Image Credits: Jeff Hicks (Petri IT-tietopankki)