Unul dintre cele mai speciale utilitare dezvoltate de Microsoft este Windows PowerShell, care este un shell de linie de comandă special conceput pentru administratorii de sistem datorită multiplelor caracteristici de asistență.
Windows PowerShell include un prompt interactiv și un mediu de scriptare care poate fi utilizat fie independent, fie în combinație cu alte scripturi.
Windows PowerShell este construit pe Common Language Runtime (CLR) din .NET Framework și .NET Framework, cu care acceptă și returnează obiecte din .NET Framework. În acest fel, avem o schimbare în mediul care ne oferă instrumente și metode complet noi și moderne pentru configurarea și gestionarea Windows.
Windows PowerShell se bazează pe conceptul de cmdlet, care este un instrument simplu, cu o singură funcție, din linia de comandă, încorporat în Shell și va fi posibil să utilizați fiecare cmdlet separat sau împreună cu altele în beneficiul său maxim.
Până acum, în edițiile Windows 10 am văzut utilizarea Windows PowerShell cu mediul grafic prin care exploatăm pe deplin utilizarea cmdleturilor:
MARI
Ei bine, Microsoft a dezvoltat prin GitHub noua platformă PowerShell Core, în prezent în versiunea sa 6.0, care este compatibilă cu sistemele Windows, macOS și Linux, fiind open source și creată pentru medii eterogene și cloud hibrid, crescând astfel nivelurile sale de gestionare și administrare .
1. Diferențe între Windows PowerShell și PowerShell Core
În acest moment, mulți dintre noi ne putem întreba ce este diferit între aceste două ediții, ei bine, Solvetic va face o comparație a ceea ce avem în ambele utilități.
Windows PowerShellEste consola cunoscută în sistemele Windows care este de mai bine de 10 ani fiind suportul administratorilor lângă promptul de comandă. Unele dintre caracteristicile sale sunt:
- Datorită dependenței sale de .NET Framework, Windows PowerShell este disponibil numai pe sistemele de operare Windows.
- Windows PowerShell pornește ca powershell.exe
- Versiunile lansate de Windows PowerShell până în prezent includ 1.0, 2.0, 3.0, 4.0, 5.0 și 5.1.
- Windows PowerShell este disponibil ca o componentă încorporată a clientului Windows și Windows Server.
- În Windows PowerShell 5.0 sau 5.1, $ PSVersionTable.PSEdition este setat la Desktop.
- Orice utilizare a funcționalității bazate pe .NET, cum ar fi cmdleturile C #, Add-Type și invocarea metodelor statice .NET, se bazează pe runtime .NET Framework.
- Acesta continuă să fie acceptat prin remedieri de erori critice în cele mai recente versiuni de Windows și Windows Server.
PowerShell CorePowerShell Core este ediția PowerShell construită pe .NET Core pe care o putem cunoaște și sub denumirea CoreCLR. Unele dintre caracteristicile sale sunt:
- PowerShell Core este multiplataforma, disponibil pe Windows, macOS și Linux, datorită designului său .NET Core.
- În PowerShell Core, $ PSVersionTable.PSEdition este setat la Core.
- PowerShell Core începe ca pwsh.exe pe Windows și pwsh pe macOS și Linux
- Orice utilizare a funcționalității bazate pe .NET, cum ar fi cmdleturile C #, Add-Type și invocarea metodelor statice .NET, depind de .NET Core runtime.
Platforme care acceptă PowerShell CoreAm indicat că PowerShell Core este un utilitar multiplatform pe care îl putem folosi cu compatibilitate deplină pe sisteme precum:
- Windows 7, 8.1 și 10
- Windows Server 2008 R2, 2012 R2, 2016
- Canal semestrial Windows Server
- Ubuntu 14.04, 16.04 și 17.04
- Debian 8.7+ și 9
- CentOS 7
- RedHat Enterprise Linux 7
- OpenSUSE 42.2
- Fedora 25, 26
- macOS 10.12+
- Arch Linux
- Kali Linux
- AppImage
- Windows ARM32 / ARM64 (în stare de testare)
- Raspbian (Stretch) (În stare de testare)
Module disponibile în PowerShell Core 6.0Următoarea este lista modulelor pe care le putem utiliza în acest utilitar PowerShell Core.
- CimCmdlets
- Microsoft.PowerShell.Archive
- Microsoft.PowerShell.Diagnostics
- Microsoft.PowerShell.Host
- Microsoft.PowerShell.Management
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- Microsoft.WSMan.Management
- Managementul pachetului
- PowerShellGet
- PSDesiredStateConfiguration
- PSDiagnostic
- PSReadLine
2. Noutăți în PowerShell Core 6.0
Cu această nouă ediție a PowerShell Core 6.0 vom avea o serie de funcții noi concepute pentru a optimiza sarcinile de administrare, control, asistență și automatizare, unele dintre ele fiind:
- S-a adăugat suport pentru comanda nativă pe platformele Unix.
- Cu cât funcționalitatea respectă Linux $ PAGER, ceea ce înseamnă că putem folosi metacaractere cu binare sau comenzi native.
- Barba inversă este ignorată automat pentru argumentele de comandă native.
- A fost adăugat pachetul de pagină manuală.
- Pe sistemele macOS, PowerShell Core folosește API-urile native os_log pentru a se conecta la sistemul de înregistrare unificat Apple. Pe Linux, PowerShell folosește Syslog.
- Căile alocate cmdleturilor sunt acum slash-agnostice, ambele / și \ funcționează ca separatoare de directoare.
- Suport pentru numele fișierelor și folderelor care conțin caracterul colon pe Unix.
- Suport pentru nume complete de căi sau cratime care au virgule.
- Detectează când parametrul -LiteralPath este utilizat pentru a suprima extinderea wildcard pentru cmdleturile de navigare.
- S-a schimbat primul parametru pozițional din Command în -File.
- PowerShell Core acceptă comutatorul -i (sau -Interactive) pentru a indica un shell interactiv.
- S-au eliminat parametrii -importsystemmodules și -psconsoleFile din pwsh.exe
- Mesaje de eroare nevalide ale argumentelor pentru codurile de ieșire coerente ale standardelor -File și -Comand și Unix
- PowerShell Core adaugă suport pentru Docker
- PowerShell Remote Connection Protocol (PSRP) funcționează acum cu protocolul Secure Shell (SSH) pe lângă PSRP bazat pe WinRM
- Codificarea implicită este UTF-8
- Suport Ampersand
- Get-Uptime adăugat la Microsoft.PowerShell.Utility
- Adăugați suport pentru autentificarea certificatului pentru cmdleturile web
- S-a adăugat suport pentru anteturile de conținut în cmdleturile web
- Inferența de tip a fost îmbunătățită la finalizarea tabelării pe baza valorilor variabilelor de runtime ale comenzilor
- Utilizarea activată a furnizorului de sistem de fișiere de pe calea UNC
În continuare, vom vedea cum se instalează PowerShell Core pe diferite ediții ale sistemelor de operare acceptate.
3. Instalați PowerShell Core pe Windows 10
Pasul 1
Pentru a instala utilitarul PowerShell Core pe un client Windows sau Windows Server, cum ar fi Windows 7 SP1, Server 2008 R2 și ulterior, va fi necesar să descărcați pachetul MSI de pe pagina oficială GitHub la următorul link:
Pasul 2
Acolo vom selecta pachetul care se potrivește cel mai bine versiunii noastre de Windows, în acest caz vom descărca pachetul win-x64. Odată descărcat, vom face dublu clic pe programul de instalare și vom urma instrucțiunile:
Pasul 3
Faceți clic pe „Următorul” și vom accepta termenii licenței:
Pasul 4
Din nou facem clic pe În continuare și acum definim calea în care trebuie instalat PowerShell Core în Windows 10:
Pasul 5
În fereastra următoare putem începe procesul de instalare a utilitarului:
Pasul 6
Odată instalat vom vedea următoarele:
Pasul 7
Putem închide vrăjitorul și accesa PowerShell Core din meniul Start:
Pasul 8
Odată ce suntem de acord, putem lucra cu PowerShell Core în funcție de nevoile de management la momentul respectiv:
MARI
4. Instalați PowerShell Core pe Linux
În mediile Linux, PowerShell Core este compatibil cu următoarele distribuții:
- Ubuntu 14.04
- Ubuntu 16.04
- Ubuntu 17.04
- Debian 8
- Debian 9
- CentOS 7
- Red Hat Enterprise Linux (RHEL) 7
- OpenSUSE 42.2
- Fedora 25
- Fedora 26
- Arch Linux
- Linux AppImage
În acest exemplu vom folosi Ubuntu 17.04, dar Solvetic va explica procesul pentru celelalte distribuții Linux.
Pasul 1
În primul rând în Ubuntu 17.04, vom importa cheile din depozitul GPG executând următoarea comandă:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
MARI
Pasul 2
Apoi, vom executa următoarea linie pentru a înregistra depozitul Ubuntu la Microsoft:
curl https://packages.microsoft.com/config/ubuntu/17.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
MARI
Pasul 3
Mai târziu, vom actualiza lista pachetelor:
sudo apt-get update
MARI
Pasul 4
Instalăm PowerShell Core executând următoarea linie:
sudo apt-get install -y powershell
MARI
Pasul 5
Odată instalat, rulăm PowerShell Core cu următoarea comandă:
pwsh
MARI
Pasul 6
Acum putem efectua acțiuni normale de gestionare cu PowerShell:
MARI
Pasul 7
Putem vedea rezultatele respective:
MARI
Pasul 8
În plus față de acest pas, un alt mod de a instala PowerShell în Ubuntu 17.04 este să descărcați pachetul „powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb” din pagina GitHub indicată în partea de sus și apoi să rulați următoarele linii:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb sudo apt-get install -fPasul 9
Pentru a dezinstala PowerShell Core în Ubuntu 17.04 executăm următoarea comandă:
sudo apt-get remove powershellPasul 10
Acum, vom vedea comenzile de utilizat în celelalte distribuții Linux.
Ubuntu 16.04 / 16.10
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - (importul cheilor GPG) curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list (înregistrare depozit Ubuntu la Microsoft) sudo apt-get update (actualizare pachete) sudo apt-get install -y powershell (PowerShell Core Installation) pwsh (PowerShell Core Home )Alternativ, putem descărca pachetul „powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb” de pe site-ul oficial și apoi putem rula următoarele linii:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb sudo apt-get install -fPentru a dezinstala PowerShell Core executăm:
sudo apt-get remove powershell
Debian 9În acest caz, vom executa următoarele comenzi pentru a instala componentele sistemului:
sudo apt-get update sudo apt-get install curl gnupg apt-transport-httpsApoi importăm cheile publice GPG:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -Înregistrăm produsul Microsoft:
sudo sh -c 'echo "deb [arch = amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main"> /etc/apt/sources.list.d/microsoft.list 'Actualizăm produsele:
sudo apt-get updateInstalăm PowerShell Core:
sudo apt-get install -y powershellExecutăm utilitarul:
PwshLa fel ca distribuția anterioară, putem descărca pachetul „powershell_6.0.0-rc-1.debian.9_amd64.deb” și apoi putem rula următoarele:
sudo dpkg -i powershell_6.0.0-rc-1.debian.9_amd64.deb sudo apt-get install -fPentru a dezinstala PowerShell Core executăm:
sudo apt-get remove powershell
CentOS 7În cazul CentOS 7 vom înregistra mai întâi depozitul RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoProcedăm la instalarea PowerShell Core:
sudo yum instala -y powershellExecutăm utilitarul:
pwshOpțional, putem descărca pachetul „powershell-6.0.0_rc-1.rhel.7.x86_64.rpm” de pe site-ul oficial și apoi putem executa:
sudo yum instalați powershell-6.0.0_rc-1.rhel.7.x86_64.rpmSau îl putem instala direct folosind următoarea linie:
instalați sudo yum https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmPentru a-l elimina executăm următoarele:
sudo yum elimina powershell
RedHat 7Dacă suntem utilizatori RedHat, mai întâi vom înregistra depozitul RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoApoi vom instala PowerShell Core cu următoarea comandă:
sudo yum instala -y powershellExecutăm utilitarul:
pwshO altă alternativă este să descărcați pachetul „powershell-6.0.0_rc-1.rhel.7.x86_64.rpm” și apoi să rulați:
sudo yum instalați powershell-6.0.0_rc-1.rhel.7.x86_64.rpmSau direct:
instalați sudo yum https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmPutem elimina PowerShell Core executând:
sudo yum elimina powershell
Fedora 26În cazul Fedora 26, primul pas este să înregistrați cheia de semnare Microsoft:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.ascApoi vom înregistra depozitul RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoActualizăm lista produselor:
actualizare sudo dnfInstalăm componente de sistem:
sudo dnf install compat-openssl10Procedăm la instalarea PowerShell Core:
sudo dnf install -y powershellPornim utilitarul:
pwshCealaltă metodă este să descărcați pachetul „powershell-6.0.0_rc-1.rhel.7.x86_64.rpm” și apoi să efectuați executarea următoarelor linii:
sudo dnf update sudo dnf install compat-openssl10 sudo dnf install powershell-6.0.0_rc-1.rhel.7.x86_64.rpmPentru a elimina PowerShell Core în Fedora 26 vom folosi următoarea linie:
sudo dnf elimina powershell
Deci, avem diferite opțiuni pentru mediile Linux.
5. Instalați PowerShell Core macOS High Sierra
În cazul macOS High Sierra, avem două opțiuni de instalare PowerShell Core.
Pasul 1
Primul este utilizarea HomeBrew, care este un manager de pachete pentru macOS, în cazul în care nu avem HomeBrew, îl putem instala executând următoarea linie în terminalul macOS High Sierra.
/ usr / bin / ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Pasul 2
Odată instalat HomeBrew, vom executa următoarea linie:
brew robinet caskroom / butoi
MARI
Pasul 3
Cask este un utilitar care ne permite să instalăm pachete suplimentare pe macOS. Odată instalat, vom executa următoarea linie pentru a instala PowerShell Core:
brew butoi instalează Powershell
MARI
Pasul 4
Vom introduce parola noastră și vom aștepta finalizarea procesului de descărcare:
MARI
Pasul 5
Alternativ, putem descărca pachetul powershell-6.0.0-rc-osx.10.12-x64.pkg de pe site-ul oficial și odată descărcat, vom face dublu clic pe unde va fi afișat următorul expert:
Pasul 6
Acolo facem clic pe Continuare și vom urma pașii vrăjitorului:
Pasul 7
Dacă nu dorim să folosim asistentul grafic, putem folosi terminalul executând următoarea comandă:
sudo installer -pkg powershell-6.0.0-rc-osx.10.12-x64.pkg -target /Pasul 8
Odată instalat putem rula comanda pwsh pentru a accesa PowerShell Core:
Pasul 9
Acolo vom efectua executarea comenzilor normale de gestionare:
MARI
Pasul 10
Pentru a dezinstala PowerShell Core în macOS High Sierra putem folosi una dintre următoarele opțiuni:
brew cask dezinstalează powershell sudo rm -rf / usr / local / bin / pwsh / usr / local / microsoft / powershellDupă cum putem vedea, PowerShell Core este un utilitar dinamic, simplu și puternic care ne va ajuta să realizăm tot felul de sarcini de asistență în sistemele de operare cele mai utilizate astăzi.