Eines der speziellsten von Microsoft entwickelten Dienstprogramme ist Windows PowerShell , eine Befehlszeilen-Shell, die aufgrund ihrer zahlreichen Unterstützungsfunktionen speziell für Systemadministratoren entwickelt wurde.
Windows PowerShell enthält einen interaktiven Indikator und eine Skriptumgebung, die entweder unabhängig oder in Kombination mit anderen Skripts verwendet werden können.
Windows PowerShell basiert auf der Common Language Runtime (CLR) von .NET Framework und .NET Framework, mit der Objekte von .NET Framework akzeptiert und zurückgegeben werden. Auf diese Weise haben wir eine Änderung in der Umgebung vorgenommen, die uns Tools und Methoden zur Verfügung stellt völlig neu und modern für die Administration und Konfiguration von Windows.
Windows PowerShell basiert auf dem Konzept eines Cmdlets, bei dem es sich um ein einfaches Befehlszeilentool mit nur einer Funktion handelt, das in die Shell integriert ist. Sie können jedes Cmdlet einzeln oder zusammen mit anderen Cmdlets verwenden, um das Beste aus dem Cmdlet herauszuholen.
Bisher haben wir in den Editionen von Windows 10 die Verwendung von Windows PowerShell mit der grafischen Umgebung gesehen, durch die wir die maximale Verwendung der Cmdlets ausnutzen:
Nun, Microsoft hat mit GitHub die neue Plattform PowerShell Core entwickelt , die derzeit in der Version 6.0 vorliegt. Sie ist kompatibel mit Windows-, MacOS- und Linux-Systemen, die Open Source sind und für heterogene Umgebungen und die Hybrid-Cloud erstellt wurden von Management und Verwaltung.
1. Unterschiede zwischen Windows PowerShell und PowerShell Core
An diesem Punkt mögen sich viele fragen, was sich zwischen diesen beiden Editionen unterscheidet. Nun, TechnoWikis wird einen Vergleich dessen anstellen, was wir in beiden Dienstprogrammen haben.
- Aufgrund der Abhängigkeit von .NET Framework ist Windows PowerShell nur unter Windows-Betriebssystemen verfügbar.
- Windows PowerShell wird als powershell.exe gestartet
- Bisher veröffentlichte Versionen von Windows PowerShell umfassen 1.0, 2.0, 3.0, 4.0, 5.0 und 5.1.
- Windows PowerShell ist als integrierte Komponente im Windows- und Windows Server-Client verfügbar.
- In Windows PowerShell 5.0 oder 5.1 ist $ PSVersionTable.PSEdition auf Desktop festgelegt.
- Jede Verwendung von .NET-basierten Funktionen wie C # -Cmdlets, Add-Type und der Aufruf statischer .NET-Methoden basiert auf der .NET Framework-Laufzeit.
- Es wird weiterhin durch kritische Fehlerbehebungen in den neuesten Versionen von Windows und Windows Server unterstützt.
- PowerShell Core ist plattformübergreifend und aufgrund seines .NET Core-Designs unter Windows, MacOS und Linux verfügbar.
- In PowerShell Core ist $ PSVersionTable.PSEdition auf Core festgelegt.
- PowerShell Core startet unter Windows als pwsh.exe und unter MacOS und Linux als pwsh
- Die Verwendung von .NET-basierten Funktionen wie C # -Cmdlets, Add-Type und der Aufruf statischer .NET-Methoden hängt von der .NET Core-Laufzeit ab.
- Windows 7, 8.1 und 10
- Windows Server 2008 R2, 2012 R2, 2016
- Windows Server Semester-Channel
- Ubuntu 14.04, 16.04 und 17.04
- Debian 8.7+ und 9
- CentOS 7
- RedHat Enterprise Linux 7
- OpenSUSE 42.2
- Fedora 25, 26
- macOS 10.12+
- Arch Linux
- Kali Linux
- AppImage
- Windows ARM32 / ARM64 (im Testzustand)
- Raspbian (Stretch) (In Evidenz)
- CimCmdlets
- Microsoft.PowerShell.Archive
- Microsoft.PowerShell.Diagnostics
- Microsoft.PowerShell.Host
- Microsoft.PowerShell.Management
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- Microsoft.WSMan.Management
- Paketverwaltung
- PowerShellGet
- PSDesiredStateConfiguration
- PSDiagnostics
- PSReadLine
2 Was ist neu in PowerShell Core 6.0?
Mit dieser neuen Edition von PowerShell Core 6.0 werden wir eine Reihe von Innovationen zur Optimierung von Verwaltungs-, Steuerungs-, Support- und Automatisierungsaufgaben anbieten. Einige davon sind:
- Unterstützung für das Globbing nativer Befehle auf Unix-Plattformen hinzugefügt.
- Je mehr Funktionen das $ PAGER von Linux respektiert, desto mehr Platzhalter können mit Binärdateien oder nativen Befehlen verwendet werden.
- Der umgekehrte Schrägstrich wird beim Umgang mit nativen Befehlsargumenten automatisch ignoriert.
- Das Manpage-Paket wurde hinzugefügt.
- Auf macOS-Systemen verwendet PowerShell Core native os_log-APIs, um sich bei Apples einheitlichem Registrierungssystem anzumelden. Unter Linux verwendet PowerShell Syslog.
- Die den Cmdlets zugewiesenen Routen sind jetzt schrägstrichunabhängig. Sowohl / als auch fungieren als Verzeichnisseparatoren.
- Unterstützung für Datei- und Ordnernamen, die in Unix den Doppelpunkt enthalten.
- Unterstützung für Namen von Skripten oder vollständigen Routen mit Kommas.
- Erkennt, wann der Parameter -LiteralPath verwendet wird, um die Platzhaltererweiterung für Navigations-Cmdlets zu unterdrücken.
- Der erste Positionsparameter von Command wurde in -File geändert.
- PowerShell Core akzeptiert den Schalter -i (oder -Interactive), um eine interaktive Shell anzuzeigen.
- Die Parameter -importsystemmodules und -psconsoleFile wurden aus pwsh.exe entfernt
- Ungültige Argumentfehlermeldungen für -File- und -Command- und Exit-Codes, die den Unix-Standards entsprechen
- PowerShell Core bietet Unterstützung für Docker
- Das PowerShell-Remoteverbindungsprotokoll (PSRP) funktioniert jetzt zusätzlich zum WinRM-basierten PSRP mit dem Secure Shell-Protokoll (SSH)
- Die Standardkodierung ist UTF-8
- Und-Zeichen-Unterstützung
- Get-Uptime wurde zu Microsoft.PowerShell.Utility hinzugefügt
- Unterstützung für die Zertifikatauthentifizierung für Web-Cmdlets hinzufügen
- Unterstützung für Inhaltsheader zu Web-Cmdlets hinzugefügt
- Die Typinferenz bei der Vervollständigung der Tabelle wurde entsprechend den Werten der Variablen für die Ausführungszeit der Bestellung verbessert
- Die Verwendung des Dateisystemanbieters wurde über einen UNC-Pfad aktiviert
Als Nächstes erfahren Sie, wie Sie PowerShell Core in verschiedenen Editionen kompatibler Betriebssysteme installieren.
3. Installieren Sie PowerShell Core in Windows 10
Um das PowerShell Core-Dienstprogramm auf einem Windows- oder Windows Server-Client wie Windows 7 SP1, Server 2008 R2 und höher zu installieren, müssen Sie das MSI-Paket von der offiziellen GitHub-Seite unter folgendem Link herunterladen:
Dort wählen wir das Paket aus, das am besten zu unserer Windows-Version passt. In diesem Fall laden wir das win-x64-Paket herunter. Nach dem Herunterladen doppelklicken wir auf das Installationsprogramm und folgen den Anweisungen:
Klicken Sie auf “Weiter” und wir akzeptieren die Bedingungen der Lizenz:
Klicken Sie erneut auf Als Nächstes definieren wir den Pfad, unter dem Sie PowerShell Core in Windows 10 installieren müssen:
Im nächsten Fenster können wir den Installationsprozess des Dienstprogramms starten:
Nach der Installation sehen wir Folgendes:
Wir können den Assistenten schließen und über das Startmenü auf PowerShell Core zugreifen:
Sobald wir Zugriff haben, können wir mit PowerShell Core entsprechend den aktuellen Verwaltungsanforderungen arbeiten:
4. Installieren Sie PowerShell Core unter Linux
In Linux-Umgebungen unterstützt PowerShell Core die folgenden Distributionen:
- 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
In diesem Beispiel verwenden wir Ubuntu 17.04, aber TechnoWikis erklärt den Prozess für die anderen Linux-Distributionen.
Im Falle von Ubuntu 17.04 importieren wir zunächst die GPG-Repository-Schlüssel, indem wir den folgenden Befehl ausführen:
Locke https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Anschließend führen wir die folgende Zeile aus, um das Ubuntu-Repository in Microsoft zu registrieren:
curl https://packages.microsoft.com/config/ubuntu/17.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
Später werden wir die Liste der Pakete aktualisieren:
sudo apt-get update
Wir installieren PowerShell Core, indem wir die folgende Zeile ausführen:
sudo apt-get install -y Powershell
Nach der Installation führen wir PowerShell Core mit dem folgenden Befehl aus:
pwsh
Jetzt können wir mit PowerShell normale Verwaltungsaktionen ausführen:
Wir können die entsprechenden Ergebnisse sehen:
Zusätzlich zu diesem Schritt können Sie PowerShell unter Ubuntu 17.04 auch installieren, indem Sie das Paket “powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb” von der oben angegebenen GitHub-Seite herunterladen und dann die folgenden Zeilen ausführen:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb sudo apt-get install -f
Um PowerShell Core in Ubuntu 17.04 zu deinstallieren, führen wir den folgenden Befehl aus:
sudo apt-get entfernen Powershell
Nun werden die Befehle angezeigt, die in den anderen Linux-Distributionen verwendet werden sollen.
Locke https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - (Import von GPG-Schlüsseln) curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list (Registrierung des Ubuntu-Repository in Microsoft) sudo apt-get update (Aktualisierungspakete) sudo apt-get install -y Powershell (Installieren von PowerShell Core) pwsh (Start von PowerShell Core)
Alternativ können wir das Paket “powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb” von der offiziellen Website herunterladen und dann die folgenden Zeilen ausführen:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb sudo apt-get install -f
Um PowerShell Core zu deinstallieren, führen wir Folgendes aus:
sudo apt-get entfernen Powershell
sudo apt-get update sudo apt-get installiere curl gnupg apt-transport-https
Dann importieren wir öffentliche GPG-Schlüssel:
Locke https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Wir registrieren das Microsoft-Produkt:
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 '
Wir aktualisieren die Produkte:
sudo apt-get update
Wir installieren PowerShell Core:
sudo apt-get install -y Powershell
Wir führen das Dienstprogramm aus:
Pwsh
Wie bei der vorherigen Distribution können wir das Paket “powershell_6.0.0-rc-1.debian.9_amd64.deb” herunterladen und dann Folgendes ausführen:
sudo dpkg -i powershell_6.0.0-rc-1.debian.9_amd64.deb sudo apt-get install -f
Um PowerShell Core zu deinstallieren, führen wir Folgendes aus:
sudo apt-get entfernen Powershell
locken https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Wir fahren mit der Installation von PowerShell Core fort:
Sudo yum install -y Powershell
Wir führen das Dienstprogramm aus:
pwsh
Optional können wir das Paket “powershell-6.0.0_rc-1.rhel.7.x86_64.rpm” von der offiziellen Website herunterladen und dann ausführen:
sudo yum installiere powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Oder wir können es direkt mit der folgenden Zeile installieren:
sudo yum installiere https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Um es zu beseitigen, führen wir Folgendes aus:
Sudo yum entfernen Powershell
locken https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Dann installieren wir PowerShell Core mit dem folgenden Befehl:
Sudo yum install -y Powershell
Wir führen das Dienstprogramm aus:
pwsh
Eine andere Alternative besteht darin, das Paket “powershell-6.0.0_rc-1.rhel.7.x86_64.rpm” herunterzuladen und dann auszuführen:
sudo yum installiere powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Oder direkt:
sudo yum installiere https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Wir können PowerShell Core entfernen, indem wir Folgendes ausführen:
Sudo yum entfernen Powershell
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
Dann werden wir das RedHat-Repository registrieren:
locken https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Wir aktualisieren die Liste der Produkte:
sudo dnf update
Wir installieren Systemkomponenten:
sudo dnf installiere compat-openssl10
Wir fahren mit der Installation von PowerShell Core fort:
sudo dnf install -y Powershell
Wir starten das Dienstprogramm:
pwsh
Die andere Methode besteht darin, das Paket “powershell-6.0.0_rc-1.rhel.7.x86_64.rpm” herunterzuladen und anschließend die folgenden Zeilen auszuführen:
sudo dnf update sudo dnf installiere compat-openssl10 sudo dnf installiere powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
Um PowerShell Core in Fedora 26 zu entfernen, verwenden wir die folgende Zeile:
sudo dnf entfernen Powershell
Wir haben also verschiedene Optionen für Linux-Umgebungen.
5. Installieren Sie PowerShell Core macOS High Sierra
Für den Fall von macOS High Sierra haben wir zwei Installationsoptionen für PowerShell Core.
Das erste ist die Verwendung von HomeBrew, einem Paketmanager für macOS. Falls HomeBrew nicht vorhanden ist, können wir es installieren, indem wir die folgende Zeile im High Sierra macOS-Terminal ausführen.
/ usr / bin / ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Nach der Installation von HomeBrew führen wir die folgende Zeile aus:
Brauhahn Fassraum / Fass
Cask ist ein Dienstprogramm, mit dem wir zusätzliche Pakete in macOS installieren können. Nach der Installation führen wir die folgende Zeile aus, um PowerShell Core zu installieren:
Brühfass installieren Powershell
Wir werden unser Passwort eingeben und hoffen, dass der Download-Vorgang abgeschlossen wird:
Alternativ können wir das Paket powershell-6.0.0-rc-osx.10.12-x64.pkg von der offiziellen Website herunterladen. Nach dem Herunterladen doppelklicken wir darauf, wo der folgende Assistent angezeigt wird:
Dort klicken wir auf Weiter und folgen den Schritten des Assistenten:
Wenn wir den grafischen Assistenten nicht verwenden möchten, können wir das Terminal verwenden, das den folgenden Befehl ausführt:
sudo installer -pkg powershell-6.0.0-rc-osx.10.12-x64.pkg -target /
Nach der Installation können wir den Befehl pwsh ausführen, um auf PowerShell Core zuzugreifen:
Dort führen wir die Ausführung der normalen Verwaltungsbefehle aus:
Zur Deinstallation von PowerShell Core in macOS High Sierra können Sie eine der folgenden Optionen verwenden:
Brew Fass deinstallieren Powershell sudo rm -rf / usr / lokal / bin / pwsh / usr / lokal / microsoft / powershell
Wie wir sehen können, ist PowerShell Core ein dynamisches, einfaches und leistungsstarkes Dienstprogramm, mit dem wir alle Arten von Support-Aufgaben in den heute am häufigsten verwendeten Betriebssystemen ausführen können.