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

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

Professori voi olla hyvin turhauttavaasanoo yhden asian PowerShellistä ja useat verkkosivustot näyttävät tarjoavan vankan todistuksen päinvastaisesta. Toimiiko PowerShell todella muissa kuin Windows-järjestelmissä vai ei? Tämän päivän SuperUser Q&A -viestissä on vastaus hämmentyneen lukijan kysymykseen.

Tämän päivän kysymys- ja vastausistunto on meille SuperUser-palvelun myötä - Stack Exchange -yksikön alaosasto, joka on yhteisön vetämä Q & A-verkkosivustojen ryhmittely.

Kysymys

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

Tietotekniikan professori antoi äskettäin meille atietokilpailu ja yksi kysymyksistä oli ”totta tai vääriä: PowerShell toimii Windowsissa, Macissa ja Linuxissa”. Oikea vastaus oli ”väärä” ja hän väittää, että PowerShell on ainoa Windows-asia. Mutta löysin pari verkkosivustoa, jotka sanovat toisin:

PowerShell on avoin lähde ja se on saatavana Linuxissa [Microsoft Azure Blog]

PowerShell-arkisto [GitHub]

Mikä niistä on oikein? Toimiiko PowerShell Linuxissa ja Mac OS: ssä sekä Windowsissa?

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

Vastaus

SuperUser-avustaja Ben N on meille vastaus:

Joo. Suuri osa PowerShellistä on.NET, joten se voi toimia missä tahansa käyttöjärjestelmässä, jolla on Common Language Runtime (CLR). Windowsissa se on .NET-kehys. Muille käyttöjärjestelmille, mukaan lukien Linux, voit käyttää CoreCLR-ohjelmaa, avoimen lähdekoodin, .NET Framework -ympäristön alajoukkoa.

Kuten opit PowerShell-arkistossa GitHubilla, tuetaan melko monia käyttöjärjestelmiä ja jakelua. Tässä on esimerkiksi Ubuntun ohjeet ja esittely:

Voidaan väittää, että kaikkea PowerShelliä ei ole saatavana muissa kuin Windows-ympäristöissä, koska jotkin ominaisuudet riippuvat vain Windowsissa olevista kirjastoista. ParsedHtml omaisuus HtmlWebResponseObject tyyppi palautti Invoke-WebRequest, esimerkiksi, on hyödyllinen vain Windowsissa, koska siinä on COM-objekti, joka tulee hallitsemattomasta kirjastosta, mshtml.dll olla tarkka. Muilla alustoilla siellä ei ole mitään. Ja tietysti on olemassa pienoisohjelmia, jotka hallitsevat vain Windowsista löytyviä järjestelmiä, kuten Nykyaikaiset sovellukset (Get-AppxPackage, esimerkiksi).

Siitä huolimatta, että PowerShell-infrastruktuuri toimii erinomaisesti muissa käyttöjärjestelmissä, runsaasti cmdlet-sovelluksia voidaan käyttää missä tahansa, ja tuki vain paranee.


Onko jotain lisättävää selitykseen? Kuuntele kommentteja. Haluatko lukea lisää vastauksia muilta teknisesti hyödyllisiltä Stack Exchange -käyttäjiltä? Katso koko keskusteluketju täältä.

Kuvalainat: Jeff Hicks (Petri IT-tietokanta)