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 Q & A.
Cititorul de super-aplicații FredSavage187 dorește să știe dacă PowerShell funcționează și pe alte sisteme de operare, pe lângă 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]
Reședință PowerShell [GitHub]
Care dintre ele este corectă? Functioneaza PowerShell pe Linux si Mac OS, precum si pe Windows?
PowerShell funcționează și pe alte sisteme de operare în afară de Windows?
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 Common Language Runtime (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 .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, aici sunt 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 care provine 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 și suportul devine mai bun.
Aveți ceva de adăugat la explicație? Sunați în comentarii. 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)