Wir können von Anbietern über Affiliate-Links oder Sponsorings Geld verdienen. Dies kann sich auf die Produktplatzierung auf unserer Website auswirken, nicht jedoch auf den Inhalt unserer Bewertungen. Weitere Einzelheiten finden Sie in unseren Nutzungsbedingungen .
Dieses umfassende Handbuch enthält wichtige Informationen zu PowerShell, darunter Funktionen, Systemanforderungen und die Erweiterung des Microsoft-Frameworks um die Aufgabenautomatisierung und -verwaltung.
PowerShell wurde vor mehr als 10 Jahren von Microsoft entwickelt, um die Leistungsfähigkeit seiner Befehlszeilenschnittstelle (CLI) zu erweitern, indem sie mit einem Verwaltungsframework gekoppelt wurde, das zur Verwaltung lokaler und Remote-Windows-, macOS- und Linux-Systeme verwendet wird. Durch die Verwendung der Schnittstellenstandards Component Object Model (COM), Windows Management Instrumentation (WMI) und Common Information Model (CIM) ermöglicht PowerShell die Verwaltung verwalteter Elemente von Computerobjekten unabhängig vom Hersteller oder Anbieter.
Dieses Spickzettel wird aktualisiert, wenn Microsoft im Laufe des Entwicklungslebenszyklus von PowerShell neue Informationen veröffentlicht.
Zusammenfassung
- Was ist PowerShell? PowerShell von Microsoft ist ein Verwaltungsframework, das eine Befehlszeilen-Shell und eine Skriptsprache kombiniert. Es basiert auf dem .NET-Framework für native Windows-Unterstützung oder dem .NET Core-Framework (Open Source) und bietet plattformübergreifende Unterstützung für Windows, macOS und Linux.
- Warum ist PowerShell wichtig? PowerShell kann Verwaltungsaufgaben automatisieren und als dedizierte Skriptsprache für Microsoft- und Nicht-Microsoft-basierte Software fungieren. Darüber hinaus enthält PowerShell Befehle, sogenannte Cmdlets, die die Kernfunktionen erweitern und gleichzeitig die Möglichkeit bieten, Cmdlets zu aktualisieren, um die Funktionalität in zukünftigen Versionen weiter zu verbessern.
- Wen betrifft PowerShell? Unternehmen, die sich zur Stärkung ihrer Geschäftsfunktionen auf Microsoft-, Apple- und Linux-Dienste verlassen, sowie die IT-Experten, die für die Verwaltung dieser Infrastruktur verantwortlich sind.
- Wann ist PowerShell verfügbar? PowerShell 5.1 (.NET) ist Closed Source, die neueste verfügbare Version und wird für Windows-basierte Systeme unterstützt. PowerShell 7 (.NET Core) ist Open Source und die neueste verfügbare Version und unterstützt die Betriebssysteme Windows, macOS und Linux. Nur auf Windows-Systemen können beide Versionen ohne Konflikte nebeneinander existieren.
- Wie erhalte ich PowerShell? PowerShell 5.1 (.NET) ist eine nativ installierte Anwendung, die Teil aller Windows-Client- und -Server-Betriebssysteme ist. Standardmäßig kann die Anwendung direkt von der Download-Website von Microsoft oder über Microsoft Updates aktualisiert werden. Sie können die neueste Version, PowerShell 7 (.NET Core), erhalten, indem Sie die GitHub-Website von Microsoft für PowerShell besuchen und die Version herunterladen, die Ihr Betriebssystem unterstützt. Diese Version von PowerShell kann auch über die native CLI des Betriebssystems heruntergeladen und aktualisiert werden.
SIEHE: Die 5 wichtigsten Programmiersprachen, die Sicherheitsadministratoren lernen sollten (kostenloses PDF) (TechRepublic)
Was ist PowerShell?
Microsoft hat PowerShell am 14. November 2006 als PowerShell 1.0 veröffentlicht und wollte damit die Mängel seiner DOS-basierten CLI beheben, insbesondere bei der Verwaltung von Objekten mithilfe komplexer Skriptsprachen.
Durch die Entwicklung einer von Grund auf neuen Shell hat Microsoft effektiv eine erweiterbare Umgebung entwickelt, die leistungsstark und flexibel ist – sie kann Verwaltungsaufgaben automatisieren und als dedizierte Skriptsprache für Microsoft-basierte Software fungieren.
Im Laufe verschiedener Überarbeitungen wurden PowerShell-Module hinzugefügt, um die Funktionalität auf neue Objekte auszuweiten und neue Cmdlets für die Verwaltung weiterer Ressourcen einzuführen, darunter Active Directory und Exchange Server. Am 18. August 2016 gab Microsoft bekannt, dass PowerShell Open Source wird und stellte den Quellcode der Öffentlichkeit zur Verfügung. Damit wird die Unterstützung für Unix-basierte Betriebssysteme wie Linux-Distributionen und OS X hinzugefügt.
SIEHE: Alle Spickzettel und Leitfäden für intelligente Personen von TechRepublic (TechRepublic)
PowerShell 7 ist die neueste Version von PowerShell und dient als Ersatzkonsole für die vorherigen Versionen von PowerShell Core 6.x und die nur für Windows verfügbare PowerShell 5.1. Letztere ist die letzte unterstützte Version der nur für Windows verfügbaren PowerShell. Das Ziel des Entwicklungsteams besteht darin, ab 7.0 alle vorherigen PowerShell’s-Versionen in einer einzigen Version zusammenzufassen. Dieser derzeit laufende Schritt wird PowerShell 7 langsam mit bisher nicht unterstützten Cmdlets kompatibel machen und so die Parität für alle unterstützten Betriebssystemversionen weiter verbessern.
PowerShell enthält eine Reihe von Cmdlets, mit denen Sie eine beliebige Anzahl von Systemattributen, Ressourcen und Objekten verwalten können – was den Rahmen dieses Handbuchs bei weitem übersteigt. Im Folgenden sind einige der wichtigsten Funktionen, Module und Cmdlets aufgeführt.
- Active Directory (Modul): Dieses Modul wird von PowerShell’s verwendet, um die Verwaltungsfunktionen auf Active Directory-Objekte auszuweiten, darunter Computer, Benutzer und Gruppen sowie in Konten gespeicherte Attribute.
- Exchange Server (Modul): Dieses Modul wird von PowerShell’s verwendet, um die vollständige Verwaltung von Exchange-Servern zu ermöglichen. Im Modul sind zusätzliche Cmdlets enthalten, die alle Aspekte Ihres Exchange-E-Mail-Servers vollständig unterstützen.
- Get-Help (Cmdlet): Dieses im PowerShell’s-Kern integrierte Cmdlet bietet hilfreiche Informationen, darunter Syntaxverwendung und Beispiele für Befehle und deren Funktion.
- Get-Command (Cmdlet): Wenn dieses im PowerShell’s-Kern integrierte Cmdlet ausgeführt wird, stellt es eine Liste der verfügbaren Befehle bereit. Es ist hilfreich, um zu ermitteln, welche Befehle für welches Modul verfügbar sind.
- Set-Variable (Cmdlet): Dieses in PowerShell integrierte Cmdlet ermöglicht dem Benutzer das Erstellen von Variablen zum Speichern von Daten, z. B. Dateipfaden, mehreren Objekten oder Codeausschnitten, die Sie wiederverwenden möchten.
- Invoke-Command (Cmdlet): Dieses in PowerShell integrierte Cmdlet ruft ein anderes Cmdlet auf, das normalerweise auf einem lokalen Computer ausgeführt wird, um den aufgerufenen Befehl auf Remotecomputern auszuführen.
- Pipeline ( | ): Eine der Funktionen von PowerShell ist die Möglichkeit, Befehle mithilfe des Pipe-Zeichens miteinander zu verketten. Durch das Verketten von Befehlen führt PowerShell den ersten Teil des Befehls aus und gibt dann die Ergebnisse zur Verwendung durch den zweiten Befehl aus und so weiter, bis die gesamte Sequenz ausgeführt wurde. Dies ist nützlich, wenn Sie eine mehrstufige Aufgabe ausführen, z. B. einen Benutzernamen erstellen, den Benutzernamen zu einer Sicherheitsgruppe hinzufügen und das Standardkennwort zurücksetzen.
- Funktion ( { } ): Ähnlich wie bei der Pipeline-Funktion, bei der Cmdlets miteinander verknüpft werden können, ermöglichen Funktionen eine bessere Kontrolle über den Skriptprozess. Durch das Einschließen von Cmdlets in Klammern wird eine Funktion erstellt, die dazu dient, die Sequenz ein- oder mehrmals auszuführen.
- Out-File (Cmdlet): Dieses in PowerShell integrierte Cmdlet ermöglicht den Export der Ausgabe eines Befehls in eine Datei. Normalerweise wird es zusammen mit der Pipe-Funktion verwendet. Ein Benutzer kann damit beispielsweise eine Liste der in Active Directory deaktivierten Benutzerkonten abrufen und diese Liste zur späteren Verwendung in eine Textdatei exportieren.
- Import-Modul (Cmdlet): Dieses in PowerShell’s integrierte Cmdlet importiert ein oder mehrere Module in PowerShell, um dessen Funktionsumfang, Cmdlets und Funktionalität zu erweitern.
- Module von Drittanbietern: Softwareentwickler können Code programmieren, um mehrere Cmdlets als Module von Drittanbietern zu gruppieren, die in PowerShell’s importiert werden, um die Funktionalität und Unterstützung für bestimmte Anwendungen zu erweitern. Bemerkenswerte Module von Drittanbietern gibt es von VMware (Virtualisierung), Dell (PowerEdge-Server) und PowerSploit (Sicherheit/Pentesting).
Aktuelle Mindestsystemanforderungen für PowerShell 7
- x64-basierter Prozessor und Betriebssystem
- Ubuntu LTS 16.04 oder 18.04
- CentOS 7 oder 8
- Arch Linux
- Kali Linux
- Alpine Linux 3.8
- Fedora 30
- Debian 9 oder 10
- openSUSE 42.3
- macOS 10.1
- Windows 8.1 oder 10
- Windows (ARM)
- Raspbian (ARM)
- Docker
- Internet: Breitbandzugang (optional)
Zusätzliche Ressourcen
- 10 PowerShell-Cmdlets zur schnelleren Netzwerkfehlerbehebung (TechRepublic)
- 10 zusätzliche PowerShell-Befehle, die Sie anstelle von CMD-Befehlen verwenden können (TechRepublic)
- 11 PowerShell-Befehle zur Verwaltung von Active Directory (TechRepublic)
Warum ist PowerShell’s wichtig?
Bis zur Veröffentlichung von Windows 95 verwendete Microsoft Windows anstelle von DOS, da dies das auf IBM-kompatiblen Computern verwendete Betriebssystem war. Ab Windows 95 behielt Windows MS-DOS bei, da einige ältere Anwendungen immer noch darauf angewiesen waren.
MS-DOS diente außerdem zur Verwaltung von Geräten über Remote-Methoden und mithilfe von Skripts, die so codiert waren, dass sie automatisch Aufgaben ausführten, die bei der Verwaltung von Windows-Computern als repetitiv und zeitaufwändig galten.
MS-DOS kam 1981 auf den Markt und Microsoft entwickelte seine CLI (im Gegensatz zu seinen Unix-basierten Konkurrenten) erst mit der ersten Entwicklung von PowerShell’s im Jahr 2006 weiter. Bei diesem 25 Jahre dauernden Zeitsprung wurde PowerShell’s als mehr als nur ein CLI-Ersatz konzipiert.
Microsoft hat PowerShell’s als Verwaltungsframework entwickelt, das sowohl eine Befehlszeilen-Shell als auch eine auf .NET und .NET Core basierende Skriptsprache kombiniert und als Softwareframework zur Standardisierung von Code, Entwicklung leistungsfähiger Anwendungen und plattformübergreifenden Verwaltung von Systemen in heterogenen Netzwerken verwendet wird.
Dies führt dazu, dass PowerShell’s zum Verwalten von Hardware-, Software- und Netzwerkobjekten über die Befehlszeile verwendet werden kann, während Programmierer gleichzeitig die Skriptfunktionen nutzen können, um mit allen verwaltbaren Attributen zu interagieren und Daten zwischen ihnen auszutauschen – einschließlich der Ausgabe von Code zum Entwickeln skalierbarer Anwendungen – von einem PC bis hin zu großen Unternehmen auf der ganzen Welt.
Durch die Open-Source-Nutzung von PowerShell’s können Systemadministratoren wechselseitig mehrere Arten von Serverbetriebssystemen von nahezu jedem System aus verwalten – beispielsweise Windows-Server von macOS aus oder Linux-Server von Windows-Client-Rechnern aus. Diese Flexibilität ist beispiellos und wird bei der Standardisierung der Verwaltung verschiedener Plattformen in verschiedenen Branchen hilfreich sein, insbesondere bei der Automatisierung von Systemverwaltungsprozessen, da PowerShell’s-7-Skripte, die auf Linux-Systemen erstellt werden, auf macOS- und Windows-Systemen identisch funktionieren und so den Verwaltungsaufwand verringern.
Zusätzliche Ressourcen
- 10 Gründe, warum Sie den Umgang mit PowerShell’s erlernen sollten (TechRepublic)
- Microsoft: Mit diesem Windows 10 PowerShell’s-Skript können Sie das Coronavirus mit Folding@home sicher bekämpfen (ZDNet)
- Microsoft macht PowerShell’s zu Open Source und bringt es auf Linux und Mac OS X (ZDNet)
Wen betrifft PowerShell?
PowerShell’s betrifft alle Arten von Benutzern, von Endbenutzern, die produktiver sein möchten, über Administratoren, die eine einfachere, leistungsfähigere Lösung suchen, um Geräte lokal und remote zu verwalten, bis hin zu Entwicklern, die ihre eigenen Anwendungen schreiben, um die Schnittstelle zwischen Hardware- und Softwareschichten zu bilden. PowerShell’s ist der nächste Schritt in der CLI-Entwicklung von Microsoft, stellt aber auch einen wichtigen Schritt zur Vereinheitlichung von Verwaltungsprozessen über Plattformen hinweg dar, die bisher recht unterschiedlich waren.
Um das volle Potenzial von PowerShell’s auszuschöpfen, müssen Sie neue Befehle, eine neue Syntax und Logik lernen. Microsoft macht dies jedoch bereits deutlich, indem es PowerShell’s-Module verwendet, die zur Integration in Unternehmensanwendungen wie Exchange, SQL und Windows Server dienen, um die Funktionalität und Verwaltbarkeit zu erweitern.
Hinzu kommt das explosive Wachstum von Cloud-basierten Diensten wie Azure von Microsoft. Viele der Verwaltungsfunktionen sind über die GUI der webbasierten Schnittstelle verfügbar. PowerShell’s 7 bietet jedoch Verwaltungsunterstützung über Azure-Module und ermöglicht so die Verwaltung von Cloud-basierter Infrastruktur, einschließlich Azure Active Directory und vielen anderen Ressourcen über die CLI.
Vor der Umstellung auf Open Source war PowerShell’s nur für Windows-Administratoren und Benutzer der Microsoft-Produktfamilie von Nutzen. Jetzt können jedoch auch Linux- und macOS-Administratoren gemeinsam mit Microsoft-Administratoren die Open-Source-Funktionen von PowerShell’s nutzen, um die Verwaltung zu vereinfachen.
Zusätzliche Ressourcen
- So nutzen Sie PowerShell-Module, um Ihre Verwaltungsaufgaben zu erledigen (TechRepublic)
- Azure nutzen: Tipps für IT-Profis (TechRepublic Premium)
- PowerShell-Skriptkit für Windows-Administratoren (TechRepublic Premium)
Wann ist PowerShell verfügbar?
PowerShell ist seit 2006 für die Verwendung auf Windows-Computern verfügbar. Ab Version 1.0 war PowerShell für Windows XP SP2, Windows Vista, Windows Server 2003 und 2008 verfügbar.
PowerShell 2.0 war ein Upgrade für Windows XP SP3, Windows Vista SP1 und Windows Server 2003 SP2. Es war in Windows 7 und Windows Server 2008 R2 integriert.
PowerShell 3.0 war ein Upgrade für Windows 7 SP1 und Windows Server 2008 SP1 und 2008 R2 SP1. Es war in Windows 8 und Windows Server 2012 integriert.
PowerShell 4.0 war ein Upgrade für Windows 8, Windows 7 SP1, Windows Server 2008 R2 SP1 und 2012. Es war in Windows 8.1 und Windows Server 2012 R2 integriert.
PowerShell 5.0 ist ein Upgrade für Windows 8.1, Windows 7 SP1, Windows Server 2008 R2 SP1 und 2012 R2. Es ist in Windows 10 und Windows Server 2016 integriert .
PowerShell’s 5.1 (.NET) ist derzeit nur über das Windows 10 Anniversary Update verfügbar .
PowerShell 7 ist die neueste verfügbare Version und basiert auf dem .NET Core-Framework. Sie wurde am 4. März 2020 der Öffentlichkeit zugänglich gemacht und unterstützt derzeit Windows (x86/x64), Ubuntu 16.04/18.04, Debian 9/10, CentOS 7/8, RHEL 7, openSUSE 42.3, Fedora 30, macOS 10.13+ und Docker.
PowerShell 7.0.3 ist die aktuelle, stabile Version; sie wurde am 6. Juli 2020 veröffentlicht.
Zusätzliche Ressourcen:
- PowerShell 7.0: Acht Änderungen, die Sie kennen müssen (TechRepublic)
- PowerShell 7-Versionen (GitHub)
- PowerShell 7-Downloads (GitHub)
Welche Alternativen gibt es zu PowerShell?
Dies sind einige der Alternativen zu PowerShell.
- Linux SSH
- Kitt
- OpenSSH
- Cygwin
- Windows-Eingabeaufforderung
- GNOME-Terminal
- Befehl
- Pash
Mehr lesen: MeisterTask-Rezension: Funktionen, Preise und mehr
Wie erhalte ich PowerShell?
PowerShell ist in allen Windows-Versionen bis zurück zu Windows 7 integriert. Darüber hinaus ist PowerShell’s in allen Windows Server-Versionen bis zurück zu Windows Server 2008 R2 integriert.
Frühere Windows-Versionen können PowerShell’s ausführen, allerdings ist die Anwendung als optionales Update verfügbar und nicht in das Betriebssystem integriert, wie dies bei neueren Versionen der Fall ist.
Um die Version 5.1 von PowerShell’s auf Windows-Computern zu installieren oder auf diese zu aktualisieren, muss das neueste Installationsprogramm für Windows Management Framework (WMF) heruntergeladen werden. Die Versionsnummer des WMF-Installationsprogramms entspricht genau der Version von PowerShell’s, die installiert wird. Derzeit ist WMF 5.1 verfügbar und kann von der Microsoft-Website kostenlos für Windows-Benutzer heruntergeladen werden.
Um die Open-Source-Version von PowerShell’s 7 auf unterstützten Systemen wie macOS und Linux zu installieren oder zu aktualisieren, besuchen Sie das PowerShell’s-GitHub-Repository, um das entsprechende Paket für das Zielbetriebssystem zu erhalten. Darüber hinaus können die neuesten Versionen von PowerShell’s 7 mithilfe der systemeigenen CLI installiert werden, indem Sie den jeweiligen Systembefehl mit Administratorberechtigungen eingeben.
Wie verwende ich PowerShell?
TechRepublic hat eine Reihe von Tutorials veröffentlicht, in denen Sie erfahren, wie Sie PowerShell’s optimal nutzen können. Sehen Sie sich diese Tipps sowie einige PowerShell’s-Grundlagen von Microsoft an.
Erfahren Sie mehr über PowerShell’s mit dem 2022 Windows PowerShell’s-Zertifizierungspaket der TechRepublic Academy.
Anmerkung des Herausgebers: Der Autor hat diesen Artikel mit den neuesten Informationen zu PowerShell aktualisiert.