29Aug
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? Postul SuperUser Q & A de astăzi are răspunsul la o întrebare nedumerită a cititorului.
Întrebarea de astăzi &Sesiunea de răspuns vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.
Întrebarea
Cititorul SuperUser FredSavage187 dorește să știe dacă PowerShell funcționează și 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: "True or False: PowerShell funcționează pe Windows, Mac șiLinux“.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 de fapt corectă?Functioneaza PowerShell pe Linux si Mac OS, precum si pe Windows?
Funcționează PowerShell pe alte sisteme de operare în afară de Windows?
Răspunsul la răspunsul
Contribuitor 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 învățat 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:
Se poate argumenta că nu toate PowerShell-urile sunt disponibile în medii non-Windows, deoarece unele funcții depind de bibliotecile găsite numai în Windows. Proprietatea ParsedHtml de pe HtmlWebResponseObject tipul returnat de Invoke-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 imagine: Jeff Hicks( Petri IT Knowledgebase)