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)