PowerShell: Eigene Automatisierungen erstellen

PowerShell ist weit mehr als nur ein Terminal für gelegentliche Administrationsaufgaben. Sie bietet eine ausgereifte Skriptsprache und Automatisierungsplattform, die eine tiefe Integration mit dem Windows-Betriebssystem und dessen Diensten ermöglicht. Fortgeschrittene PowerShell-Nutzer können Automatisierungen aufbauen, die sich auf komplexe Prozesse in der Systemverwaltung erstrecken. Hier gehen wir detaillierter darauf ein, wie Sie Ihre eigenen Automatisierungen erstellen, wiederverwendbare Skripte und Module schreiben und mit fortgeschrittenen PowerShell-Funktionen arbeiten.

Erstellen und Nutzen eigener PowerShell-Skripte

PowerShell-Skripte beginnen in der Regel einfach, mit der Aneinanderreihung von Befehlen, können jedoch schnell komplex werden, wenn Schleifen, Bedingungen und Fehlerbehandlungen integriert werden. Der Workflow zur Erstellung eines PowerShell-Skripts umfasst die Definition von Zielen, das Sammeln der nötigen Cmdlets und das Testen des Codes in der PowerShell-Umgebung.

Ein typisches Beispiel: Ein Skript, das regelmäßig den Status von Windows-Diensten überwacht und fehlerhafte Dienste neu startet:

# Überwacht den Status von Diensten und startet sie neu, wenn sie gestoppt sind
$services = Get-Service -Name 'wuauserv', 'bits', 'spooler'

foreach ($service in $services) {
if ($service.Status -eq 'Stopped') {
Start-Service $service.Name
Write-Output "$($service.Name) wurde gestartet."
} else {
Write-Output "$($service.Name) läuft bereits."
}
}

Dieses Skript durchläuft eine Liste wichtiger Dienste (z. B. den Windows Update-Dienst oder den Druckerspooler) und startet sie neu, wenn sie gestoppt sind.

Parameter und Funktionen: Wiederverwendbarkeit und Modularisierung

Das Einfügen von Parametern in Ihre Skripte macht diese dynamischer und flexibler. Dies ermöglicht das Wiederverwenden derselben Skripte in verschiedenen Szenarien ohne Anpassung des eigentlichen Codes. Funktionen bieten die Möglichkeit, den Code zu modularisieren und somit besser wartbar und erweiterbar zu machen.

Erweiterung des obigen Skripts in eine Funktion mit Parametern:

function Monitor-Service {
param(
[string[]]$serviceNames = @('wuauserv', 'bits', 'spooler')
)

foreach ($service in $serviceNames) {
$serviceStatus = Get-Service -Name $service
if ($serviceStatus.Status -eq 'Stopped') {
Start-Service $serviceStatus.Name
Write-Output "$($serviceStatus.Name) wurde gestartet."
} else {
Write-Output "$($serviceStatus.Name) läuft bereits."
}
}
}

# Aufruf der Funktion mit benutzerdefinierten Dienstnamen
Monitor-Service -serviceNames @('wuauserv', 'dnscache')

In diesem Beispiel können Sie verschiedene Dienstnamen an die Funktion übergeben, was das Skript flexibler macht und es in unterschiedlichen Umgebungen genutzt werden kann.

PowerShell-Workflows: Parallele Automatisierung

Für fortgeschrittene Aufgaben, die lange dauern oder parallelisiert werden müssen, bieten PowerShell-Workflows eine Lösung. Workflows unterstützen parallele Ausführungen und Wiederaufnahmen, falls ein Prozess unterbrochen wird.

Beispiel: Neustarten mehrerer Computer parallel mit einem Workflow:

workflow Restart-MultipleComputers {
param(
[string[]]$computers = @('Computer1', 'Computer2', 'Computer3')
)

Parallel {
foreach -parallel ($computer in $computers) {
Restart-Computer -ComputerName $computer -Force
}
}
}

# Startet den Workflow
Restart-MultipleComputers -computers @('Server1', 'Server2', 'Server3')

Dieser Workflow startet mehrere Computer parallel neu und spart so Zeit bei großen Netzwerken oder Serverfarmen.

Nutzung von PowerShell-Modulen zur Erweiterung

PowerShell-Module fassen Cmdlets, Funktionen und Variablen in einer strukturierten Bibliothek zusammen. Dies erleichtert das Wiederverwenden und Teilen von Code zwischen verschiedenen Projekten oder Teammitgliedern.

Erstellen eines einfachen Moduls:

  1. Schreiben Sie mehrere Funktionen in separate Dateien.
  2. Erstellen Sie ein Modulmanifest mit dem New-ModuleManifest-Cmdlet.
  3. Laden Sie das Modul mit Import-Module in Ihre PowerShell-Umgebung.

Beispiel:

# Funktion 1: Speicherplatz prüfen
function Check-DiskSpace {
Get-PSDrive -PSProvider FileSystem | Select-Object Name, Used, Free
}

# Funktion 2: Dienste prüfen
function Check-Services {
Get-Service | Where-Object { $_.Status -eq 'Stopped' }
}

# Modulmanifest erstellen
New-ModuleManifest -Path 'C:\Scripts\MyAdminModule.psd1' -RootModule 'C:\Scripts\MyAdminModule.psm1'

# Modul importieren
Import-Module 'C:\Scripts\MyAdminModule'

Module helfen, Code zu modularisieren und zu organisieren, was in komplexeren Automatisierungsprojekten unverzichtbar ist.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Meroth IT-Service ist Ihr lokaler IT-Dienstleister in Frankfurt am Main für kleine Unternehmen, Selbstständige und Privatkunden


Kostenfreie Ersteinschätzung Ihres Anliegens?

❱ Nehmen Sie gerne Kontakt auf ❰

Werbung

Sichler Haushaltsgeräte Mobiles Klimagerät: Mobile Monoblock-Klimaanlage mit Entfeuchter, 7.000 BTU/h, 2.050 Watt (Klimaanlage mit Abluftschlauch, Klima Monoblock, Sichler Klimageräte)*
€ 339,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
HP 302 (X4D37AE) Original Druckerpatronen, Black + Tri-color, 2er Pack für HP DeskJet 1100, 2300, 3600, 3800, 4600 series, HP ENVY 4500 series, HP OfficeJet 3800 Serie*
Ersparnis 14%
UVP**: € 45,44
€ 38,90
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 39,99
Preise inkl. MwSt., zzgl. Versandkosten
€ 49,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
Crucial X10 Pro 1TB Externe SSD Festplatte, bis zu 2100MB/s Lesen und 2000MB/s Schreiben, Portable Solid State Drive, USB-C 3.2, PC und Mac, Wasser- und Staubgeschützt - CT1000X10PROSSD902*
Ersparnis 12%
UVP**: € 124,99
€ 109,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
Crucial X10 Pro 2TB Externe SSD Festplatte, bis zu 2100MB/s Lesen und 2000MB/s Schreiben, Portable Solid State Drive, PC und Mac, Wasser- und Staubgeschützt (IP55), USB-C 3.2 - CT2000X10PROSSD902*
Ersparnis 8%
UVP**: € 189,99
€ 174,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
HP Color LaserJet Pro MFP 3302sdwg Multifunktions-Farblaserdrucker, Automatischer beidseitiger Druck, Hohe Druckgeschwindigkeit, Touchscreen, Wi-Fi, Ethernet, USB, HP Wolf Pro Security*
Ersparnis 22%
UVP**: € 468,00
€ 367,34
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 374,99
Preise inkl. MwSt., zzgl. Versandkosten
AVM FRITZ!Box 7530 WLAN AC+N Router (DSL/VDSL, 866 MBit/s (5GHz) & 400 MBit/s (2,4 GHz), bis zu 300 MBit/s mit VDSL-Supervectoring 35b, WLAN Mesh, DECT-Basis, Media Server, geeignet für Deutschland)*
Ersparnis 12%
UVP**: € 179,00
€ 157,94
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
Lenovo L27i-4A | 27" Full HD Monitor | 1920x1080 | 100Hz | 300 nits | 1ms Reaktionszeit | IPS-Panel | HDMI | VGA | integrierte Lautsprecher | entspiegelt | 3,9kg | grau*
€ 153,32
Gewöhnlich versandfertig in 3 bis 4 Tagen
Preise inkl. MwSt., zzgl. Versandkosten
Canon Tinte & Papier Multipack - PG-540/CL-541 Original Drucker Tintenpatronen 2er-Pack (1 x Schwarz, 1 x Farbe druckerpatronen) & 4x6 Fotopapier (50 x Blatt)*
Ersparnis 20%
UVP**: € 49,99
€ 39,90
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 49,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
UGREEN Revodok Pro 106 10Gbps USB C Hub HDMI 4K@60Hz USB C Adapter mit USB 3.2 PD 100W Kompatibel mit iPhone 16 Serie, iPad Pro/Air, Mac mini M4/M4 Pro, Steam Deck usw.*
Ersparnis 30%
UVP**: € 19,99
€ 13,98
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
NETGEAR GS105GE LAN Switch 5 Port Netzwerk Switch (Plug-and-Play Gigabit Switch LAN Splitter, LAN Verteiler, Ethernet Hub, lüfterloses Metallgehäuse, ProSAFE Lifetime-Garantie), Blau*
Ersparnis 16%
UVP**: € 23,99
€ 20,19
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 21,90
Preise inkl. MwSt., zzgl. Versandkosten
€ 23,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
FRITZ!Box 5690 Pro (Wi-Fi 7 Premium DSL- und Glasfaser-Router mit Triband (2,4 GHz, 5 GHz, 6 GHz) bis zu 18,5 GBit/s, für Glasfaser & DSL-Anschlüsse, WLAN Mesh, DECT-Basis, internationale Version)*
€ 338,52
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
Crucial X9 1TB Portable SSD Festplatte, bis zu 1050MB/s, kompatibel mit PC, Mac und Spielekonsolen, Externe SSD, USB-C 3.2 - CT1000X9SSD902*
€ 84,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
UGREEN 4-Port USB 3.0 Hub USB Verteiler 5Gbps USB Mehrfachstecker USB Splitter für MacBook, iMac, Surface, Dell, Thinkpad, USB Stick, Mobile HDD, Desktop PC und mehr (15cm)*
Ersparnis 38%
UVP**: € 9,99
€ 6,16
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
AVM Fritz!Powerline 1240E/1000E WLAN Set (1200 MBit/s, WLAN-Access Point, ideal für Media-Streaming oder NAS-Anbindungen, Internationale Version), ethernet weiß*
€ 155,00
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
HP LaserJet MFP M140w Multifunktions-Laserdrucker, Monolaser, Drucker, Scanner, Kopierer, Duplex-Druck, DIN A4, WLAN, Airprint, Schwarz-weiß-Drucker*
Ersparnis 25%
UVP**: € 179,90
€ 135,00
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
€ 154,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
Lenovo IdeaPad Slim 3 Laptop | 16" WUXGA Display | AMD Ryzen 5 | AMD Radeon Grafik | 16GB RAM | 512GB SSD | Windows 11 Home | QWERTZ | Arctic grau | 3 Monate Premium Care*
Ersparnis 18%
UVP**: € 549,00
€ 449,99
Auf Lager
Preise inkl. MwSt., zzgl. Versandkosten
(*) Werbung / Affiliate-Links: Wenn Sie auf einen dieser Links klicken und einkaufen, erhalte ich eine Provision. Für Sie verändert sich der Preis dadurch nicht. Zuletzt aktualisiert am 29. August 2025 um 20:44. Die hier gezeigten Preise können sich zwischenzeitlich auf der Seite des Verkäufers geändert haben. Alle Angaben ohne Gewähr.
(**) UVP: Unverbindliche Preisempfehlung

Preise inkl. MwSt., zzgl. Versandkosten
Abonnieren
Benachrichtige mich bei
0 Kommentare
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben scrollen