Jedan od najposebnijih uslužnih programa koje je razvio Microsoft je Windows PowerShell koji je ljuska naredbenog retka posebno dizajnirana za administratore sustava zahvaljujući svojim višestrukim značajkama podrške.
Windows PowerShell uključuje interaktivni upit i okruženje skriptiranja koje se može koristiti neovisno ili u kombinaciji s drugim skriptama.
Windows PowerShell izgrađen je na Common Language Runtime (CLR) .NET Framework -u i .NET Framework -u, s kojim prihvaća i vraća objekte iz .NET Framework -a. Na taj način imamo promjenu u okruženju koje nam pruža alati i metode potpuno novi i moderni za konfiguraciju i upravljanje sustavom Windows.
Windows PowerShell temelji se na konceptu cmdleta koji je jednostavan, jednonamjenski alat naredbenog retka ugrađen u ljusku te će biti moguće koristiti svaki cmdlet zasebno ili zajedno s drugima za maksimalnu korist.
Do sada smo u izdanjima sustava Windows 10 vidjeli korištenje Windows PowerShell -a s grafičkim okruženjem kroz koje u potpunosti iskorištavamo upotrebu cmdleta:
POVEĆAJTE
Pa, Microsoft je kroz GitHub razvio novu PowerShell Core platformu, trenutno u svojoj verziji 6.0, koja je kompatibilna za Windows, macOS i Linux sustave, otvorenog je koda i stvorena za heterogena okruženja i hibridni oblak, čime se povećava njezina razina upravljanja i administracije .
1. Razlike između Windows PowerShell -a i PowerShell Core -a
U ovom trenutku mnogi od nas mogu se zapitati što je različito između ova dva izdanja, pa, Solvetic će napraviti usporedbu onoga što imamo u oba uslužna programa.
Windows PowerShellTo je konzola poznata u Windows sustavima koja je već više od 10 godina podrška administratora pored naredbenog retka. Neke od njegovih karakteristika su:
- Zbog svoje ovisnosti o .NET Framework -u, Windows PowerShell dostupan je samo na Windows operativnim sustavima.
- Windows PowerShell pokreće se kao powershell.exe
- Do sada objavljene verzije sustava Windows PowerShell uključuju 1.0, 2.0, 3.0, 4.0, 5.0 i 5.1.
- Windows PowerShell dostupan je kao ugrađena komponenta Windows klijenta i Windows poslužitelja.
- U sustavu Windows PowerShell 5.0 ili 5.1 $ PSVersionTable.PSEdition postavljen je na radnu površinu.
- Svaka upotreba .NET-temeljenih funkcija, kao što su cmdleti C #, Add-Type i pozivanje statičkih .NET metoda, temelji se na .NET Framework vrijeme izvođenja.
- I dalje se podržava putem kritičnih ispravki programskih pogrešaka u najnovijim verzijama sustava Windows i Windows Server.
PowerShell jezgraPowerShell Core je izdanje PowerShell izgrađeno na .NET Core koje također možemo znati i kao CoreCLR. Neke od njegovih karakteristika su:
- PowerShell Core je više platformi, dostupan je u sustavu Windows, macOS i Linux, zbog dizajna .NET Core.
- U PowerShell Coreu $ PSVersionTable.PSEdition postavljeno je na Core.
- PowerShell Core počinje kao pwsh.exe u sustavu Windows i pwsh u sustavima macOS i Linux
- Svaka upotreba .NET-temeljenih funkcija, kao što su cmdleti C #, Add-Type i pozivanje statičkih .NET metoda, ovise o vremenu izvođenja .NET Core.
Platforme koje podržavaju PowerShell CoreNaveli smo da je PowerShell Core multiplatformski uslužni program koji možemo koristiti s potpunom kompatibilnošću na sustavima kao što su:
- Windows 7, 8.1 i 10
- Windows Server 2008 R2, 2012 R2, 2016
- Polugodišnji kanal za 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 (u statusu testiranja)
- Raspbian (rastezanje) (u statusu testiranja)
Moduli dostupni u PowerShell Core 6.0Slijedi popis modula koje možemo koristiti u ovom uslužnom programu PowerShell Core.
- CimCmdlets
- Microsoft.PowerShell.Arhiva
- Microsoft.PowerShell.Dijagnostika
- Microsoft.PowerShell.Host
- Microsoft.PowerShell.Management
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- Microsoft.WSMan.Management
- PaketManagement
- PowerShellGet
- PSDesiredStateConfiguration
- PSDijagnostika
- PSReadLine
2. Što je novo u PowerShell Core 6.0
S ovim novim izdanjem PowerShell Core 6.0 imat ćemo niz novih značajki osmišljenih za optimiziranje zadataka administracije, kontrole, podrške i automatizacije, neke od njih su:
- Dodana podrška za izvorno slaganje naredbi na Unix platformama.
- Što više funkcionalnosti poštuje Linux $ PAGER, što znači da možemo koristiti zamjenske znakove s binarnim datotekama ili izvornim naredbama.
- Obrnuta kosa crta se automatski zanemaruje za izvorne argumente naredbe.
- Paket s man stranicama je dodan.
- Na sustavima macOS, PowerShell Core koristi izvorne API -je os_log za prijavu u Appleov jedinstveni sustav evidentiranja. Na Linuxu PowerShell koristi Syslog.
- Putovi dodijeljeni cmdletima sada su agresivni za kosu crtu, i / i \ funkcioniraju kao separatori direktorija.
- Podrška za nazive datoteka i mapa koji sadrže znak dvotočke na Unixu.
- Podrška za puna imena ili crtice koja imaju zareze.
- Otkriva kada se parametar -LiteralPath koristi za suzbijanje ekspanzije zamjenskih znakova za navigacijske cmdlete.
- Promijenjen je prvi pozicijski parametar iz Command u -File.
- PowerShell Core prihvaća prekidač -i (ili -Interactive) za označavanje interaktivne ljuske.
- Uklonjeni su parametri -importsystemmodules i -psconsoleFile iz pwsh.exe
- Nevažeće poruke o pogrešci argumenta za -File i -Command i Unix standardi dosljedni izlazni kodovi
- PowerShell Core dodaje podršku za Docker
- PowerShell Remote Connection Protocol (PSRP) sada radi sa protokolom Secure Shell (SSH) pored PSRP-a zasnovanog na WinRM-u
- Zadano kodiranje je UTF-8
- Ampersand podrška
- Get-Uptime je dodan u Microsoft.PowerShell.Utility
- Dodajte podršku za provjeru autentičnosti certifikata za web cmdlete
- Dodana je podrška zaglavlja sadržaja web cmdletima
- Zaključivanje tipa poboljšano je dovršetkom tabeliranja na temelju vrijednosti varijabli vremena izvođenja naloga
- Omogućena upotreba davatelja datotečnih sustava s UNC staze
Zatim ćemo vidjeti kako instalirati PowerShell Core na različita izdanja podržanih operativnih sustava.
3. Instalirajte PowerShell Core na Windows 10
Korak 1
Da biste instalirali uslužni program PowerShell Core na klijent sa sustavom Windows ili Windows Server, kao što su Windows 7 SP1, Server 2008 R2 i noviji, bit će potrebno preuzeti MSI paket sa službene stranice GitHub na sljedećoj poveznici:
Korak 2
Tamo ćemo odabrati paket koji najbolje odgovara našoj verziji sustava Windows, u ovom slučaju ćemo preuzeti paket win-x64. Nakon preuzimanja dvaput ćemo kliknuti na instalacijski program i slijediti upute:
Korak 3
Kliknite na "Dalje" i prihvatit ćemo uvjete licence:
Korak 4
Opet kliknemo na Zatim i sada definiramo put na koji se PowerShell Core mora instalirati u sustavu Windows 10:
Korak 5
U sljedećem prozoru možemo započeti postupak instalacije pomoćnog programa:
Korak 6
Nakon instalacije vidjet ćemo sljedeće:
Korak 7
Čarobnjaka možemo zatvoriti i pristupiti PowerShell Coreu s izbornika Start:
Korak 8
Nakon što se dogovorimo, možemo raditi s PowerShell Core -om u skladu s tadašnjim potrebama upravljanja:
POVEĆAJTE
4. Instalirajte PowerShell Core na Linux
U Linux okruženjima PowerShell Core kompatibilan je sa sljedećim distribucijama:
- 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
U ovom primjeru koristit ćemo Ubuntu 17.04, ali Solvetic će objasniti postupak za ostale distribucije Linuxa.
Korak 1
U slučaju Ubuntu 17.04 prvo ćemo uvesti ključeve iz spremišta GPG izvršavanjem sljedeće naredbe:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt -key add -
POVEĆAJTE
Korak 2
Zatim ćemo izvršiti sljedeći redak za registraciju Ubuntu spremišta kod Microsofta:
curl https://packages.microsoft.com/config/ubuntu/17.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
POVEĆAJTE
Korak 3
Kasnije ćemo ažurirati popis paketa:
sudo apt-get ažuriranje
POVEĆAJTE
Korak 4
Instaliramo PowerShell Core izvršavanjem sljedeće linije:
sudo apt -get install -y powershell
POVEĆAJTE
Korak 5
Nakon instalacije pokrećemo PowerShell Core sa sljedećom naredbom:
pwsh
POVEĆAJTE
Korak 6
Sada možemo izvesti uobičajene radnje upravljanja s PowerShell -om:
POVEĆAJTE
Korak 7
Možemo vidjeti odgovarajuće rezultate:
POVEĆAJTE
Korak 8
Osim ovog koraka, drugi način instaliranja PowerShell-a u Ubuntu 17.04 je preuzimanje paketa "powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb" sa stranice GitHub naznačene pri vrhu, a zatim pokrenite sljedeće retke:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb sudo apt-get install -fKorak 9
Za deinstaliranje PowerShell Core u Ubuntu 17.04 izvršavamo sljedeću naredbu:
sudo apt-get remove powershellKorak 10
Sada ćemo vidjeti naredbe koje ćemo koristiti u drugim distribucijama Linuxa.
Ubuntu 16.04 / 16.10
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt -key add - (uvoz GPG ključeva) curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list (registracija Ubuntu spremišta u Microsoftu) sudo apt-get update (paketi ažuriranja) sudo apt-get install -y powershell (PowerShell Core Installation) pwsh (PowerShell Core Home )Alternativno, sa službene web stranice možemo preuzeti paket "powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb", a zatim pokrenuti sljedeće retke:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb sudo apt-get install -fZa deinstaliranje PowerShell Core izvršavamo:
sudo apt-get remove powershell
Debian 9U ovom slučaju izvršit ćemo sljedeće naredbe za instaliranje komponenti sustava:
sudo apt-get update sudo apt-get install curl gnupg apt-transport-httpsZatim uvozimo GPG javne ključeve:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt -key add -Registriramo Microsoftov proizvod:
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 'Ažuriramo proizvode:
sudo apt-get ažuriranjeInstaliramo PowerShell Core:
sudo apt -get install -y powershellPokrećemo uslužni program:
PššKao i prethodna distribucija, možemo preuzeti paket "powershell_6.0.0-rc-1.debian.9_amd64.deb", a zatim pokrenuti sljedeće:
sudo dpkg -i powershell_6.0.0-rc-1.debian.9_amd64.deb sudo apt-get install -fZa deinstaliranje PowerShell Core izvršavamo:
sudo apt-get remove powershell
CentOS 7U slučaju CentOS 7 prvo ćemo registrirati spremište RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoNastavljamo s instaliranjem PowerShell Core:
sudo yum install -y powershellPokrećemo uslužni program:
pwshPo želji možemo preuzeti paket "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" sa službene web stranice, a zatim izvršiti:
sudo yum install powershell-6.0.0_rc-1.rhel.7.x86_64.rpmIli ga možemo instalirati izravno pomoću sljedećeg retka:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmDa bismo ga uklonili, izvršavamo sljedeće:
sudo yum uklonite powershell
RedHat 7Ako smo korisnici RedHata, prvo ćemo registrirati spremište RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoZatim ćemo instalirati PowerShell Core sa sljedećom naredbom:
sudo yum install -y powershellPokrećemo uslužni program:
pwshDruga alternativa je preuzimanje paketa "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm", a zatim pokretanje:
sudo yum install powershell-6.0.0_rc-1.rhel.7.x86_64.rpmIli izravno:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmPowerShell Core možemo ukloniti pokretanjem:
sudo yum uklonite powershell
Fedora 26U slučaju Fedore 26, prvi korak je registriranje Microsoftovog ključa za potpisivanje:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.ascTada ćemo registrirati spremište RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoAžuriramo popis proizvoda:
sudo dnf ažuriranjeInstaliramo komponente sustava:
sudo dnf instalirajte compat-openssl10Nastavljamo s instaliranjem PowerShell Core:
sudo dnf install -y powershellPokrećemo uslužni program:
pwshDruga metoda je preuzimanje paketa "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm", a zatim izvršiti izvršavanje sljedećih redaka:
sudo dnf update sudo dnf install compat-openssl10 sudo dnf install powershell-6.0.0_rc-1.rhel.7.x86_64.rpmZa uklanjanje PowerShell Core u Fedori 26 koristit ćemo sljedeći redak:
sudo dnf ukloniti powershell
Dakle, imamo različite mogućnosti za Linux okruženja.
5. Instalirajte PowerShell Core macOS High Sierra
U slučaju macOS High Sierra imamo dvije mogućnosti instalacije PowerShell Core.
Korak 1
Prvi koristi HomeBrew koji je upravitelj paketa za macOS, u slučaju da nemamo HomeBrew možemo ga instalirati izvršavanjem sljedeće linije u macOS High Sierra terminalu.
/usr/bin/ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Korak 2
Nakon što je HomeBrew instaliran, izvršit ćemo sljedeći redak:
pivo pipa kasina / burad
POVEĆAJTE
Korak 3
Cask je uslužni program koji nam omogućuje instaliranje dodatnih paketa na macOS. Nakon instalacije izvršit ćemo sljedeći redak za instaliranje PowerShell Core:
brew cask install powershell
POVEĆAJTE
Korak 4
Unijet ćemo svoju lozinku i čekati da se proces preuzimanja završi:
POVEĆAJTE
Korak 5
Alternativno, možemo sa službene web stranice preuzeti paket powershell-6.0.0-rc-osx.10.12-x64.pkg, a nakon preuzimanja dvaput ćemo kliknuti gdje će se prikazati sljedeći čarobnjak:
Korak 6
Tamo kliknemo na Nastavi i slijedit ćemo korake čarobnjaka:
Korak 7
Ako ne želimo koristiti grafički pomoćnik, možemo koristiti terminal izvršavanjem sljedeće naredbe:
sudo instalacijski program -pkg powershell-6.0.0-rc-osx.10.12-x64.pkg -ciljni /Korak 8
Nakon instalacije možemo pokrenuti naredbu pwsh za pristup PowerShell Coreu:
Korak 9
Tamo ćemo izvršiti uobičajene naredbe upravljanja:
POVEĆAJTE
Korak 10
Za deinstaliranje PowerShell Core u macOS High Sierra možemo upotrijebiti jednu od sljedećih opcija:
brew cask deinstaliraj powershell sudo rm -rf / usr / local / bin / pwsh / usr / local / microsoft / powershellKao što vidimo, PowerShell Core je dinamičan, jednostavan i moćan uslužni program koji će nam pomoći u izvršavanju svih vrsta zadataka podrške u operativnim sustavima koji se danas najviše koriste.