Windows PowerShell-Skripting-Tutorial
PowerShell-Skripting ermöglicht es Ihnen, sich wiederholende Aufgaben in Windows und Active Directory zu automatisieren, vom Erstellen von Berichten bis hin zur Massenaktualisierung von Konten. Dieses Tutorial beginnt mit den Grundlagen: Variablen, Pipeline, Schleifen und Funktionen, und führt dann zu Skripten, die Sie heute ausführen können. Laden Sie den vollständigen Leitfaden herunter für umfassende Anleitungen zur Verwaltung von AD-Konten und -Computern, Dateisystemaufgaben und Skriptplanung, damit Sie funktionierende Skripte griffbereit haben, wenn Sie sie benötigen.
Laden Sie das PowerShell-Befehls-Scripting-Tutorial herunter (PDF)
Wie schreibt man ein PowerShell-Skript?
Ein PowerShell-Skript ist eine Nur-Text-Datei, die mit der Erweiterung .ps1 gespeichert wird. Sie können es in jedem Texteditor schreiben, obwohl die meisten Leute Visual Studio Code mit der PowerShell-Erweiterung für Syntaxhervorhebung, Autovervollständigung und integrierte Fehlerbehebung verwenden. Schreiben Sie Ihre Befehle jeweils in eine Zeile, speichern Sie die Datei und führen Sie sie aus.
Fangen Sie klein an. Ein zweizeiliges Skript, das einen Wert abruft und ausgibt, lehrt die Kernschleife, auf die sich jeder PowerShell-Benutzer verlässt: schreiben, ausführen, anpassen. Fügen Sie einen Kommentar mit einem # am Anfang einer Zeile hinzu, um zu notieren, was ein Abschnitt macht, da Skripte, die Sie Monate später lesen, sich selten selbst erklären. Dieses Tutorial baut jedes Konzept auf dem vorherigen auf, sodass ein Anfänger von Anfang bis Ende folgen kann.
Was sind die grundlegenden PowerShell-Befehle?
PowerShell-Befehle, sogenannte Cmdlets, folgen einem Verb-Substantiv-Muster, das sie leicht lesbar und erratbar macht: Get-, Set-, New-, und Remove-. Eine Handvoll Cmdlets deckt die meisten Aufgaben am ersten Tag ab:
Get-Help: Syntax und Beispiele für jeden Cmdlet nachschlagenGet-Command: listet alle in Ihrer Sitzung verfügbaren Cmdlets aufGet-Member: zeigt die Eigenschaften und Methoden eines Objekts anGet-Process: laufende Prozesse anzeigenGet-ChildItem: Dateien, Ordner oder Registrierungsschlüssel auflisten
Geben Sie Get-Help <cmdlet name> -Examples ein, wann immer Sie eine Auffrischung benötigen, da die integrierte PowerShell-Hilfe fast jeden Cmdlet abdeckt. Das Spickzettel gruppiert diese nach Aufgabe, damit Sie nicht mitten im Skript suchen müssen.
Wie führt man ein PowerShell-Skript aus?
Öffnen Sie PowerShell, navigieren Sie zum Ordner des Skripts und führen Sie es mit .\scriptname.ps1. Wenn eine Meldung erscheint, dass das Skript nicht geladen werden kann, weil das Ausführen von Skripten deaktiviert ist, blockiert die Ausführungsrichtlinie von PowerShell das Skript, nicht Ihr Skript.
Die Ausführungsrichtlinie hat mehrere Stufen, von gesperrt bis vollständig offen, und die falsche Wahl kann dazu führen, dass Sie feststecken oder Ihre Systeme exponiert sind. Die Anleitung erklärt jede Stufe, welche das richtige Gleichgewicht für das tägliche Scripting bietet, und den genauen Befehl, um sie sicher einzustellen.
Wie verwendet man Variablen, Schleifen und Funktionen?
Variablen speichern Werte mit einem $ Präfix, wie $name = "Server01". Sie können Text, Zahlen oder ganze Objekte enthalten, und PowerShell ermittelt den Typ für Sie.
Schleifen wiederholen eine Aktion über eine Sammlung. Eine foreach Schleife ist die, zu der Sie am häufigsten greifen werden:
foreach ($user in $users) {
Write-Host $user.Name
}
Funktionen bündeln wiederverwendbare Logik, sodass Sie sie einmal schreiben und oft aufrufen:
function Get-Greeting($name) {
"Hello, $name"
}
Jedes Konzept enthält ein kurzes, ausführbares Beispiel, das Sie einfügen und anpassen können.
Was können Sie mit PowerShell in Active Directory automatisieren?
Das ActiveDirectory-Modul von PowerShell, installiert mit RSAT (Remote Server Administration Tools), fügt speziell für Verzeichnisaufgaben entwickelte Cmdlets hinzu. Häufige Vorteile:
- Bericht über inaktive Konten mit
Search-ADAccount -AccountInactive - Finden Sie Benutzer in einer bestimmten OU mit
Get-ADUser -SearchBase - Passwörter in großen Mengen zurücksetzen mit
Set-ADAccountPassword - Gruppenmitgliedschaft prüfen mit
Get-ADGroupMember
Die praktischen Beispiele in diesem Tutorial zeigen das Muster für jedes, sodass Sie sie an Ihre eigene Umgebung anpassen können, ohne von einem leeren Skript zu starten.
Für Teams, die langfristig keine Skripte pflegen möchten, decken speziell entwickelte Tools dieselben AD reporting und change tracking ohne benutzerdefinierten Code ab.
Häufig gestellte Fragen
Teilen auf