Admin Tipps
Netwrix Tutorial zur Skripterstellung mit Windows PowerShell für Einsteiger
Tutorial zum Einstieg in PowerShell
Windows PowerShell ist ein objektorientiertes Automatisierungstool und eine Skriptsprache mit interaktiver Befehlszeilen-Shell. IT-Experten können damit Systeme konfigurieren und Verwaltungsaufgaben automatisieren. PowerShell ist in allen neueren Windows-Betriebssystemen ab Windows 2008R2 enthalten. Das Erlernen von Windows PowerShell ist ähnlich wie den Umgang mit einem Multifunktionswerkzeug zu lernen. In diesem Artikel erhalten Sie eine Einführung in die Skripterstellung mit PowerShell. Mit Skripts können Sie nahezu jede Verwaltungsaufgabe in Ihrer Windows-Umgebung einfacher ausführen. Beginnen wir also mit unserer Einführung in PowerShell.
PowerShell stellt sowohl eine Befehlszeile als auch eine integrierte Skriptumgebung (die Integrated Scripting Environment, kurz ISE) bereit:
- Zum Starten der PowerShell-Befehlszeile geben Sie im Windows-Startmenü unter „Ausführen“ den Befehl „powershell.exe“ ein. Es wird ein Bildschirm angezeigt, der in etwa wie folgt aussieht:
- Um die PowerShell ISE zu starten, geben Sie im Startmenü unter „Ausführen“ den Befehl „powershell_ise.exe“ ein. Die PowerShell ISE ist für die Arbeit mit der Skriptsprache am besten geeignet, da sie die Syntax farblich hervorhebt, Befehle automatisch vervollständigt und weitere Automatisierungsfunktionen bereitstellt, mit denen sich das Entwickeln und Testen von Skripts vereinfachen lässt.
Vorbereiten der Ausführung von PowerShell-Skripts
PowerShell-Skripts werden in PS1-Dateien gespeichert. Diese Dateien sind so konzipiert, dass Skripts nicht einfach durch Doppelklicken auf eine Datei ausgeführt werden können. Dadurch ist sichergestellt, dass Ihre Systeme nicht durch versehentliches Ausführen einer Skriptdatei beschädigt werden. Zur Ausführung klicken Sie mit der rechten Maustaste auf die Datei und wählen den Befehl „Mit PowerShell ausführen“:
Es gibt außerdem eine Richtlinie, die festlegt, ob Skripts ausgeführt werden dürfen. Sie können diese Ausführungsrichtlinie überprüfen, indem Sie in PowerShell den Befehl „Get-ExecutionPolicy“ ausführen:
Es wird einer der folgenden Werte angezeigt:
- Restricted: Es dürfen keine Skripts ausgeführt werden. Dies ist die Standardeinstellung, die beim ersten Ausführen des Befehls angezeigt wird.
- AllSigned: Sie können Skripts ausführen, die von einem vertrauenswürdigen Entwickler signiert wurden. Mit dieser Einstellung müssen Sie vor dem Ausführen eines Skripts bestätigen, dass es tatsächlich ausgeführt werden soll.
- RemoteSigned: Sie können eigene Skripts oder von einem vertrauenswürdigen Entwickler signierte Skripts ausführen.
- Unrestricted: Sie können beliebige Skripts ausführen. Um mit der Arbeit mit PowerShell zu beginnen, müssen Sie zunächst die Richtlinieneinstellung von „Restricted“ zu „RemoteSigned“ ändern. Hierfür verwenden Sie den Befehl „Set-ExecutionPolicy RemoteSigned“:
PowerShell-Cmdlets
Was sind Cmdlets?
Ein Cmdlet ist ein PowerShell-Befehl mit einer vordefinierten Funktion, ähnlich wie ein Operator in einer Programmiersprache. Das müssen Sie über Cmdlets wissen:
- Es gibt System-Cmdlets, Benutzer-Cmdlets und benutzerdefinierte Cmdlets.
- Cmdlets geben Ergebnisse als Objekt oder als Array von Objekten aus.
- Cmdlets können Daten für Analysen abrufen oder Daten mithilfe von Pipes an ein anderes Cmdlet weiterleiten (auf das Konzept der Pipes werde ich noch genauer eingehen).
- Bei Cmdlets ist die Groß- und Kleinschreibung nicht relevant. Es spielt beispielsweise keine Rolle, ob Sie „Get-ADUser“, „get-aduser“ oder „gEt-AdUsEr“ eingeben.
- Wenn Sie mehrere Cmdlets in einer Befehlsfolge verwenden möchten, müssen Sie die einzelnen Cmdlets durch ein Semikolon (;) trennen.
Das Format von Cmdlets
Ein Cmdlet besteht immer aus einem Verb (oder einem Wort, das als Verb verwendet wird) und einem Nomen. Die beiden Elemente sind durch einen Bindestrich voneinander getrennt (die „Verb-Nomen-Regel“). Folgende Verben werden häufig verwendet:
- Get: zum Abrufen
- Set: zum Definieren
- Start: zum Ausführen
- Stop: zum Beenden der Ausführung
- Out: zur Ausgabe
- New: zur Erstellung („New“ ist natürlich kein Verb, hat aber die Funktion eines Verbs)
Weitere Befehle und Übungen finden Sie HIER
Herr Alexander Bode ist ein PreSales Engineer mit umfangreicher und fundierter Berufspraxis auf dem IT-Sektor. Seine Tätigkeitsbereiche umfassen u.a. Backup- und Disaster Recovery, Endpoint Security und Systemmanagement Lösungen. Sein Erfahrungsprofil basiert auf einer langjährigen erfolgreichen technischen Unterstützung der Vertriebs- und Partnerorganisationen für Unternehmen wie PowerQuest, Intel Deutschland und Symantec.