Functioneaza PowerShell pe alte sisteme de operare pe langa Windows?
Poate fi foarte frustrant atunci când profesorul tău spune că un lucru despre PowerShell și diverse site-uri web pare să ofere dovada solidă a contrariului. PowerShell funcționează efectiv pe sisteme non-Windows sau nu? Postarea de astăzi SuperUser Q & A are răspunsul la o întrebare nedumerită a cititorului.
Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.
Intrebarea
Cititorul de super-aplicații FredSavage187 dorește să știe dacă PowerShell funcționează pe alte sisteme de operare în afară de Windows:
Profesorul meu de informatică ne-a dat recent un test și una dintre întrebări a fost: "Adevărat sau fals: PowerShell funcționează pe Windows, Mac și Linux". Răspunsul corect a fost "fals" și el susține că PowerShell este un lucru numai pentru Windows. Dar am găsit câteva site-uri care spun altfel:
PowerShell este deschis și este disponibil pe Linux [Microsoft Azure Blog]
Depozit PowerShell [GitHub]
Care dintre ele este corect? PowerShell funcționează pe Linux și Mac OS, precum și pe Windows?
PowerShell funcționează pe alte sisteme de operare în afară de Windows?
Răspunsul
Contribuabilul SuperUser Ben N are răspunsul pentru noi:
Da. O mare parte din PowerShell este .NET, deci poate rula pe orice sistem de operare care are Limba de rutare comună (CLR). Pe Windows, acesta este .NET Framework. Pentru alte sisteme de operare, inclusiv Linux, puteți utiliza CoreCLR, un subset open-source, cross-platform al platformei .NET Framework.
După cum ați aflat la depozitul PowerShell de pe GitHub, sunt suportate câteva sisteme de operare și distribuții. De exemplu, iată instrucțiunile pentru Ubuntu și o demonstrație:
S-ar putea argumenta că nu toate PowerShell-urile sunt disponibile în medii non-Windows, deoarece unele funcții depind de bibliotecile găsite numai în Windows. ParsedHtml proprietate pe HtmlWebResponseObject tip întors de Invocați-WebRequest, de exemplu, este utilă numai pentru Windows deoarece deține un obiect COM provenit dintr-o bibliotecă neadministrată, Mshtml.dll a fi specific. Pe alte platforme, nu există nimic acolo. Și, desigur, există cmdleturi pentru a gestiona sistemele găsite numai în Windows, cum ar fi aplicațiile moderne (Get-AppxPackage, de exemplu).
Totuși, infrastructura PowerShell funcționează perfect pe alte sisteme de operare, o mulțime de cmdlet-uri sunt utilizabile oriunde, iar suportul devine mai bun.
Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.
Credite de imagine: Jeff Hicks (Petri IT Knowledgebase)