Jednym z najbardziej specjalnych narzędzi opracowanych przez Microsoft jest Windows PowerShell, który jest powłoką wiersza poleceń specjalnie zaprojektowaną dla administratorów systemu dzięki wielu funkcjom wsparcia.
Program Windows PowerShell zawiera interaktywny monit i środowisko skryptów, których można używać niezależnie lub w połączeniu z innymi skryptami.
Windows PowerShell jest zbudowany na Common Language Runtime (CLR) .NET Framework i .NET Framework, za pomocą których akceptuje i zwraca obiekty z .NET Framework.W ten sposób mamy zmianę w środowisku, które zapewnia nam zupełnie nowe i nowoczesne narzędzia i metody do konfiguracji i zarządzania Windows.
Program Windows PowerShell opiera się na koncepcji polecenia cmdlet, które jest prostym, jednofunkcyjnym narzędziem wiersza polecenia wbudowanym w powłokę i będzie można używać każdego polecenia cmdlet osobno lub w połączeniu z innymi w celu uzyskania maksymalnych korzyści.
Do tej pory w edycjach Windows 10 widzieliśmy wykorzystanie Windows PowerShell ze środowiskiem graficznym, dzięki któremu w pełni wykorzystujemy użycie cmdletów:
POWIĘKSZAĆ
Otóż Microsoft opracował za pośrednictwem GitHub nową platformę PowerShell Core, obecnie w wersji 6.0, która jest kompatybilna z systemami Windows, macOS i Linux, będąca open source i stworzona dla środowisk heterogenicznych i chmury hybrydowej, zwiększając tym samym jej poziomy zarządzania i administracji .
1. Różnice między Windows PowerShell a PowerShell Core
W tym momencie wielu z nas może się zastanawiać, czym różnią się te dwie edycje, no cóż, Solvetic dokona porównania tego, co mamy w obu narzędziach.
Windows PowerShellJest to konsola znana z systemów Windows, która od ponad 10 lat jest wsparciem administratorów obok wiersza poleceń. Niektóre z jego cech to:
- Ze względu na zależność od platformy .NET Framework program Windows PowerShell jest dostępny tylko w systemach operacyjnych Windows.
- Windows PowerShell uruchamia się jako powershell.exe
- Wydane do tej pory wersje programu Windows PowerShell obejmują 1.0, 2.0, 3.0, 4.0, 5.0 i 5.1.
- Program Windows PowerShell jest dostępny jako wbudowany składnik klienta systemu Windows i systemu Windows Server.
- W Windows PowerShell 5.0 lub 5.1 $ PSVersionTable.PSEdition jest ustawiona na Pulpit.
- Każde użycie funkcji opartych na platformie .NET, takich jak cmdlet C#, Add-Type i wywoływanie statycznych metod platformy .NET, jest oparte na środowisku uruchomieniowym .NET Framework.
- Jest nadal obsługiwany przez poprawki krytycznych błędów w najnowszych wersjach systemu Windows i Windows Server.
Rdzeń PowerShellPowerShell Core to edycja PowerShell zbudowana na platformie .NET Core, którą możemy również znać jako CoreCLR. Niektóre z jego cech to:
- PowerShell Core jest wieloplatformowy, dostępny w systemach Windows, macOS i Linux ze względu na projekt .NET Core.
- W PowerShell Core $ PSVersionTable.PSEdition jest ustawiona na Core.
- PowerShell Core uruchamia się jako pwsh.exe w systemie Windows i pwsh w systemie macOS i Linux
- Każde użycie funkcji opartych na platformie .NET, takich jak cmdlet C#, Add-Type i wywoływanie statycznych metod platformy .NET, zależy od środowiska uruchomieniowego .NET Core.
Platformy obsługujące PowerShell CoreWskazaliśmy, że PowerShell Core to wieloplatformowe narzędzie, z którego możemy korzystać z pełną kompatybilnością na systemach takich jak:
- Windows 7, 8.1 i 10
- Windows Server 2008 R2, 2012 R2, 2016
- Półroczny kanał 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
- Obraz aplikacji
- Windows ARM32 / ARM64 (w stanie testowania)
- Raspbian (Stretch) (w stanie testowania)
Moduły dostępne w PowerShell Core 6.0Poniżej znajduje się lista modułów, których możemy użyć w tym narzędziu PowerShell Core.
- Polecenia cmdlet Ci
- Microsoft.PowerShell.Archive
- Microsoft.PowerShell.Diagnostics
- Microsoft.PowerShell.Host
- Zarządzanie Microsoft.PowerShell
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- Zarządzanie Microsoft.WSMan
- Zarządzanie pakietami
- PowerShellGet
- Konfiguracja PSDesiredState
- PSDiagnostyka
- PSReadLine
2. Co nowego w PowerShell Core 6.0
W tej nowej edycji PowerShell Core 6.0 będziemy mieli szereg nowych funkcji zaprojektowanych w celu optymalizacji zadań administracyjnych, kontroli, wsparcia i automatyzacji, niektóre z nich to:
- Dodano wsparcie dla natywnego globbingu poleceń na platformach Unix.
- Większa funkcjonalność uwzględnia Linux $ PAGER, co oznacza, że możemy używać symboli wieloznacznych z plikami binarnymi lub natywnymi poleceniami.
- Odwrotny ukośnik jest automatycznie ignorowany dla argumentów poleceń natywnych.
- Dodano pakiet man-page.
- W systemach macOS program PowerShell Core korzysta z natywnych interfejsów API os_log do logowania się do ujednoliconego systemu rejestrowania firmy Apple. W systemie Linux PowerShell używa Syslog.
- Ścieżki przypisane do poleceń cmdlet są teraz niezależne od ukośnika, a / i \ działają jako separatory katalogów.
- Obsługa nazw plików i folderów zawierających znak dwukropka w systemie Unix.
- Obsługa nazw pełnych ścieżek lub łączników z przecinkami.
- Wykrywa, kiedy parametr -LiteralPath jest używany do pomijania rozszerzania symboli wieloznacznych dla poleceń cmdlet nawigacyjnych.
- Zmieniono pierwszy parametr pozycyjny z Command na -File.
- Program PowerShell Core akceptuje przełącznik -i (lub -Interactive), aby wskazać interaktywną powłokę.
- Usunięto parametry -importsystemmodules i -psconsoleFile z pwsh.exe
- Komunikaty o błędach nieprawidłowego argumentu dla spójnych kodów zakończenia -File i -Command oraz Unix Standards
- PowerShell Core dodaje obsługę platformy Docker
- PowerShell Remote Connection Protocol (PSRP) współpracuje teraz z protokołem Secure Shell (SSH) oprócz PSRP opartego na WinRM
- Domyślne kodowanie to UTF-8
- Wsparcie ampersand
- Get-Uptime dodany do Microsoft.PowerShell.Utility
- Dodaj obsługę uwierzytelniania certyfikatów dla internetowych poleceń cmdlet
- Dodano obsługę nagłówków treści do internetowych poleceń cmdlet
- Poprawiono wnioskowanie o typie po zakończeniu tabulacji na podstawie wartości zmiennych runtime zleceń
- Włączono korzystanie z dostawcy systemu plików ze ścieżki UNC
Następnie zobaczymy, jak zainstalować PowerShell Core w różnych wersjach obsługiwanych systemów operacyjnych.
3. Zainstaluj PowerShell Core w systemie Windows 10
Krok 1
Aby zainstalować narzędzie PowerShell Core na kliencie Windows lub Windows Server, takim jak Windows 7 SP1, Server 2008 R2 lub nowszy, konieczne będzie pobranie pakietu MSI z oficjalnej strony GitHub pod następującym łączem:
Krok 2
Tam wybierzemy pakiet, który najlepiej pasuje do naszej wersji systemu Windows, w tym przypadku pobierzemy pakiet win-x64. Po pobraniu dwukrotnie klikniemy instalator i postępujemy zgodnie z instrukcjami:
Krok 3
Kliknij „Dalej”, a my zaakceptujemy warunki licencji:
Krok 4
Ponownie klikamy Następnie i teraz definiujemy ścieżkę, w której ma zostać zainstalowany PowerShell Core w systemie Windows 10:
Krok 5
W kolejnym oknie możemy rozpocząć proces instalacji narzędzia:
Krok 6
Po zainstalowaniu zobaczymy:
Krok 7
Możemy zamknąć kreatora i uzyskać dostęp do PowerShell Core z menu Start:
Krok 8
Po uzgodnieniu możemy pracować z PowerShell Core zgodnie z aktualnymi potrzebami zarządzania:
POWIĘKSZAĆ
4. Zainstaluj PowerShell Core w systemie Linux
W środowiskach Linux program PowerShell Core jest zgodny z następującymi dystrybucjami:
- 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
- Obraz aplikacji dla systemu Linux
W tym przykładzie użyjemy Ubuntu 17.04, ale Solvetic wyjaśni proces dla innych dystrybucji Linuksa.
Krok 1
W przypadku Ubuntu 17.04 najpierw zaimportujemy klucze z repozytorium GPG, wykonując następujące polecenie:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
POWIĘKSZAĆ
Krok 2
Następnie wykonamy następujący wiersz, aby zarejestrować repozytorium Ubuntu w firmie Microsoft:
curl https://packages.microsoft.com/config/ubuntu/17.04/prod.list | koszulka sudo /etc/apt/sources.list.d/microsoft.list
POWIĘKSZAĆ
Krok 3
Później zaktualizujemy listę pakietów:
aktualizacja sudo apt-get
POWIĘKSZAĆ
Krok 4
Instalujemy PowerShell Core, wykonując następujący wiersz:
sudo apt-get install -y powershell
POWIĘKSZAĆ
Krok 5
Po zainstalowaniu uruchamiamy PowerShell Core za pomocą następującego polecenia:
pwsz
POWIĘKSZAĆ
Krok 6
Teraz za pomocą PowerShell możemy wykonywać normalne czynności zarządcze:
POWIĘKSZAĆ
Krok 7
Możemy zobaczyć odpowiednie wyniki:
POWIĘKSZAĆ
Krok 8
Oprócz tego kroku innym sposobem zainstalowania PowerShell w Ubuntu 17.04 jest pobranie pakietu „powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb” ze strony GitHub wskazanej u góry, a następnie uruchomienie następujących wierszy:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb sudo apt-get install -fKrok 9
Aby odinstalować PowerShell Core w Ubuntu 17.04 wykonujemy następujące polecenie:
sudo apt-get usuń powershellKrok 10
Teraz zobaczymy polecenia do użycia w innych dystrybucjach Linuksa.
Ubuntu 16.04 / 16.10
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - (import kluczy GPG) curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list (rejestracja repozytorium Ubuntu w firmie Microsoft) sudo apt-get update (pakiety aktualizacji) sudo apt-get install -y powershell (instalacja PowerShell Core) pwsh (PowerShell Core Home) )Alternatywnie możemy pobrać pakiet "powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb" z oficjalnej strony internetowej, a następnie uruchomić następujące linie:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb sudo apt-get install -fAby odinstalować PowerShell Core wykonujemy:
sudo apt-get usuń powershell
Debian 9W takim przypadku wykonamy następujące polecenia, aby zainstalować komponenty systemu:
sudo apt-get aktualizacja sudo apt-get zainstaluj curl gnupg apt-transport-httpsNastępnie importujemy klucze publiczne GPG:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -Rejestrujemy produkt 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 'Aktualizujemy produkty:
aktualizacja sudo apt-getInstalujemy PowerShell Core:
sudo apt-get install -y powershellUruchamiamy narzędzie:
PwszPodobnie jak w poprzedniej dystrybucji, możemy pobrać pakiet "powershell_6.0.0-rc-1.debian.9_amd64.deb", a następnie uruchomić:
sudo dpkg -i powershell_6.0.0-rc-1.debian.9_amd64.deb sudo apt-get install -fAby odinstalować PowerShell Core wykonujemy:
sudo apt-get usuń powershell
CentOS 7W przypadku CentOS 7 najpierw zarejestrujemy repozytorium RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | koszulka sudo /etc/yum.repos.d/microsoft.repoPrzechodzimy do instalacji PowerShell Core:
sudo mniam install -y powershellUruchamiamy narzędzie:
pwszOpcjonalnie możemy pobrać pakiet "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" z oficjalnej strony internetowej, a następnie wykonać:
sudo mniam zainstaluj powershell-6.0.0_rc-1.rhel.7.x86_64.rpmLub możemy zainstalować go bezpośrednio, korzystając z następującej linii:
sudo mniam zainstaluj https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmAby go wyeliminować, wykonujemy następujące czynności:
sudo mniam usuń powershell
Czerwony Kapelusz 7Jeśli jesteśmy użytkownikami RedHat, najpierw zarejestrujemy repozytorium RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | koszulka sudo /etc/yum.repos.d/microsoft.repoNastępnie zainstalujemy PowerShell Core za pomocą następującego polecenia:
sudo mniam install -y powershellUruchamiamy narzędzie:
pwszInną alternatywą jest pobranie pakietu „powershell-6.0.0_rc-1.rhel.7.x86_64.rpm”, a następnie uruchomienie:
sudo mniam zainstaluj powershell-6.0.0_rc-1.rhel.7.x86_64.rpmLub bezpośrednio:
sudo mniam zainstaluj https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmMożemy usunąć PowerShell Core, uruchamiając:
sudo mniam usuń powershell
Fedora 26W przypadku Fedory 26 pierwszym krokiem jest zarejestrowanie klucza podpisującego Microsoft:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.ascNastępnie zarejestrujemy repozytorium RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | koszulka sudo /etc/yum.repos.d/microsoft.repoAktualizujemy listę produktów:
Aktualizacja sudo dnfInstalujemy komponenty systemu:
sudo dnf zainstaluj compat-openssl10Przechodzimy do instalacji PowerShell Core:
sudo dnf install -y powershellUruchamiamy narzędzie:
pwszDrugą metodą jest pobranie pakietu "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" a następnie wykonanie następujących linii:
sudo dnf aktualizacja sudo dnf zainstaluj compat-openssl10 sudo dnf zainstaluj powershell-6.0.0_rc-1.rhel.7.x86_64.rpmAby usunąć PowerShell Core w Fedorze 26, użyjemy następującego wiersza:
sudo dnf usuń powershell
Mamy więc różne opcje dla środowisk Linux.
5. Zainstaluj PowerShell Core macOS High Sierra
W przypadku macOS High Sierra mamy dwie opcje instalacji PowerShell Core.
Krok 1
Pierwszym z nich jest HomeBrew, który jest menedżerem pakietów dla macOS, w przypadku, gdy nie mamy HomeBrew, możemy go zainstalować, wykonując następujący wiersz w terminalu macOS High Sierra.
/usr/bin/ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Krok 2
Po zainstalowaniu HomeBrew wykonamy następujący wiersz:
kran do zaparzania caskroom / cask
POWIĘKSZAĆ
Krok 3
Cask to narzędzie, które pozwala nam instalować dodatkowe pakiety na macOS. Po zainstalowaniu wykonamy następujący wiersz, aby zainstalować PowerShell Core:
napar z beczki zainstaluj powershell
POWIĘKSZAĆ
Krok 4
Wprowadzimy nasze hasło i poczekamy na zakończenie procesu pobierania:
POWIĘKSZAĆ
Krok 5
Alternatywnie możemy pobrać pakiet powershell-6.0.0-rc-osx.10.12-x64.pkg z oficjalnej strony internetowej, a po pobraniu dwukrotnie klikniemy w miejscu, w którym zostanie wyświetlony następujący kreator:
Krok 6
Tam klikamy Kontynuuj i będziemy postępować zgodnie z krokami kreatora:
Krok 7
Jeśli nie chcemy korzystać z asystenta graficznego, możemy skorzystać z terminala wykonując następujące polecenie:
instalator sudo -pkg powershell-6.0.0-rc-osx.10.12-x64.pkg -target /Krok 8
Po zainstalowaniu możemy uruchomić polecenie pwsh, aby uzyskać dostęp do PowerShell Core:
Krok 9
Tam przeprowadzimy wykonanie normalnych poleceń zarządzania:
POWIĘKSZAĆ
Krok 10
Aby odinstalować PowerShell Core w macOS High Sierra możemy skorzystać z jednej z następujących opcji:
brew cask odinstaluj powershell sudo rm -rf / usr / local / bin / pwsh / usr / local / microsoft / powershellJak widać, PowerShell Core to dynamiczne, proste i potężne narzędzie, które pomoże nam wykonywać wszelkiego rodzaju zadania wsparcia w najczęściej używanych obecnie systemach operacyjnych.