Zurück zum Blog
3 Min. Lesezeit

PowerShell-Automatisierung in der Praxis: Wie ich hunderte Server gleichzeitig verwalte

Ein ehrlicher Erfahrungsbericht: Wie ich in einer Großorganisation mit PowerShell repetitive Prozesse automatisiert habe — mit konkreten Beispielen, typischen Fallen und einem Einstiegsrezept für KMU.

#PowerShell #Automatisierung #Enterprise IT #Scripting #Windows

Wenn man täglich mit hunderten von Servern arbeitet, lernt man schnell: Was sich wiederholt, gehört automatisiert. Nicht irgendwann. Sofort.

In diesem Post zeige ich, wie ich PowerShell-Automatisierung im Enterprise-Umfeld einsetze — und was KMU davon direkt übernehmen können.

Warum PowerShell und nicht einfach ein Klick-Tool?

PowerShell ist auf jedem Windows-System verfügbar, seit 2016 auch open-source und auf Linux lauffähig. Wer einmal die Grundlagen draufhat, kann damit:

  • Massenupdates auf hunderten Servern gleichzeitig ausrollen
  • Berichte aus Active Directory in Sekunden generieren
  • Monitoring-Checks automatisch alle 5 Minuten ausführen
  • Dateisystem-Aufräumjobs ohne menschliches Zutun erledigen

Das Wichtige: PowerShell ist kein Experten-Tool. Wer Get-Process und ForEach-Object versteht, kann damit echte Probleme lösen.

Ein konkretes Beispiel: Server-Health-Check für 200 Maschinen

Das Problem: In einer größeren IT-Umgebung will niemand 200 Server einzeln aufrufen, um zu prüfen ob Dienste laufen, ob der Speicher kritisch ist oder ob Updates ausstehen.

Die Lösung: Ein Skript, das das in unter 2 Minuten erledigt.

# server-health.ps1
$servers = Get-Content ".\servers.txt"
$results = @()

foreach ($server in $servers) {
    $status = [PSCustomObject]@{
        Server    = $server
        Ping      = (Test-Connection -ComputerName $server -Count 1 -Quiet)
        DiskFree  = $null
        CpuLoad   = $null
        Timestamp = Get-Date
    }

    if ($status.Ping) {
        $disk = Get-WmiObject Win32_LogicalDisk -ComputerName $server -Filter "DeviceID='C:'"
        $status.DiskFree = [math]::Round($disk.FreeSpace / 1GB, 1)

        $cpu = Get-WmiObject Win32_Processor -ComputerName $server
        $status.CpuLoad = ($cpu | Measure-Object LoadPercentage -Average).Average
    }

    $results += $status
}

$results | Where-Object { $_.DiskFree -lt 10 -or $_.CpuLoad -gt 85 } |
    Export-Csv ".\critical-servers-$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeInformation

Das Skript läuft täglich als geplante Aufgabe. Kritische Server landen automatisch im Report. Kein manueller Aufwand mehr.

Was das für ein kleines Unternehmen bedeutet

Im Enterprise-Umfeld läuft so etwas auf hunderten Servern. Im KMU-Umfeld sind es vielleicht 5. Aber das Prinzip ist exakt gleich:

Typische Automatisierungen für KMU mit PowerShell:

  • Backup-Kontrolle: Prüfen ob das Backup vom Vorabend erfolgreich war — und bei Fehler sofort eine Mail schicken
  • Benutzer-Onboarding: Neuen Mitarbeiter in Active Directory anlegen, Ordnerrechte setzen, Mailbox erstellen — alles in einem Skript
  • Daten-Export: Täglich einen Bericht aus einem System exportieren und per Mail versenden
  • Aufräumen: Temporäre Dateien, alte Logs, leere Ordner — automatisch bereinigen

Einstiegsrezept: Nimm den einen manuellen Prozess, den du oder dein Team am häufigsten wiederholt. Schreib ihn in Stichpunkten auf. Dann ist das schon der erste Schritt zum Skript.

Die häufigsten Fehler beim Einstieg

  1. Zu groß anfangen — ein Skript für alles auf einmal. Besser: eine Aufgabe, ein Skript.
  2. Kein Error-Handling — wenn etwas schiefgeht, bricht das Skript still ab. Immer try/catch verwenden.
  3. Hardcoded PfadeC:\Users\paul\Desktop\file.txt funktioniert auf keinem anderen Rechner. Parameter verwenden.
  4. Kein Logging — ohne Log weiß man nicht ob das Skript gestern Nacht wirklich durchgelaufen ist.

Fazit

PowerShell ist eines der unterschätztesten Werkzeuge im IT-Alltag. Es ist kostenlos, überall verfügbar und mit wenigen Stunden Einarbeitung produktiv einsetzbar.

Wenn du nicht weißt wo du anfangen sollst — oder wenn du einen bestehenden Prozess automatisieren willst und dir jemanden wünschst der das umsetzt: Schreib mir.


Weitere Beiträge zu Automatisierung, KI und Infrastruktur findest du im Blog. Oder schau dir meine Leistungen an.

Paul Scholz

Paul Scholz

IT-Administrator & SEO-Berater · Enterprise Hyper-V/SCVMM · Docker Homelab · Lokale SEO