Toimiiko PowerShell muiden käyttöjärjestelmien kanssa Windowsin lisäksi?
Se voi olla hyvin turhauttavaa, kun professori sanoo, että yksi asia PowerShellistä ja eri verkkosivustot näyttävät tarjoavan vankan osoituksen päinvastaisesta. Onko PowerShell todella käytössä muissa kuin Windows-järjestelmissä? Tämän päivän SuperUser Q&A -postissa on vastaus hämmentyneeseen lukijakysymykseen.
Nykypäivän Kysymys- ja vastaus -istunto tulee meille suotuisasti SuperUserin - Stack Exchange -alueen, yhteisöpohjaisen Q & A-sivustojen ryhmittymän - kautta..
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 "väärä" ja hän väittää, että PowerShell on vain Windows-asia. Mutta löysin muutamia sivustoja, jotka sanovat toisin:
PowerShell on avoin ja se on saatavana Linuxissa [Microsoft Azure Blog]
PowerShell-arkisto [GitHub]
Kumpi on oikeassa? Toimiiko PowerShell Linux- ja Mac OS -käyttöjärjestelmissä sekä Windowsissa?
Toimiiko PowerShell muiden käyttöjärjestelmien lisäksi myös Windows?
Vastaus
SuperUserin avustaja Ben N: llä on vastaus meille:
Joo. Suuri osa PowerShellistä on .NET, joten se voi toimia missä tahansa käyttöjärjestelmässä, jossa on Common Language Runtime (CLR). Windowsissa .NET Framework. Muissa käyttöjärjestelmissä, kuten Linuxissa, voit käyttää CoreCLR: ää, avointa lähdekoodia, .NET Framework -alustaa..
Kuten opit GitHubin PowerShell-tietovarastossa, tuetaan useita käyttöjärjestelmiä ja -jakeluja. Esimerkiksi tässä on Ubuntu-ohjeet ja esittely:
Voidaan väittää, että kaikki PowerShell ei ole käytettävissä muissa kuin Windows-ympäristöissä, koska jotkin toiminnot riippuvat vain Windowsista löytyvistä kirjastoista. ParsedHtml omaisuutta HtmlWebResponseObject tyyppi palautetaan Invoke-WebRequest, esimerkiksi on hyödyllinen vain Windowsissa, koska sillä on hallitsemattomasta kirjastosta tuleva COM-objekti, mshtml.dll olla erityisiä. Muilla alustoilla ei ole mitään. Ja tietysti on olemassa vain cmdlet-tiedostoja, joita käytetään vain Windowsissa olevien järjestelmien hallintaan, kuten modernit sovellukset (Get-AppxPackage, esimerkiksi).
PowerShell-infrastruktuuri toimii silti erinomaisesti muissa käyttöjärjestelmissä, ja paljon cmdlet-sovelluksia voidaan käyttää kaikkialla, ja tuki paranee vain.
Onko jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta tech-savvy Stack Exchange -käyttäjiltä? Tutustu koko keskusteluketjuun täällä.
Kuvaluotot: Jeff Hicks (Petri IT -tietokanta)