Windows-Skripte schreiben: Automatisierung leicht gemacht

Für Administratoren und Power-User, die mehr Kontrolle über ihre Arbeitsumgebung haben wollen, bieten Windows-Skripte eine effiziente Möglichkeit zur Automatisierung wiederkehrender Aufgaben und zur Verwaltung großer Infrastrukturen. Während PowerShell fortgeschrittene Funktionalitäten bietet, sind Batch- und VB-Skripte nützlich für einfachere, schnelle Automatisierungen.

Erstellung von Batch-Skripten: Die Grundlagen

Batch-Skripte, basierend auf der traditionellen Eingabeaufforderung, sind eine einfache Möglichkeit, grundlegende Aufgaben zu automatisieren. Sie sind besonders nützlich, um grundlegende Dateioperationen durchzuführen, Netzwerkeinstellungen zu ändern oder Programme auszuführen.

Beispiel: Ein Batch-Skript zur regelmäßigen Datensicherung

@echo off
:: Kopiert Dateien von C:\Projekte nach D:\Backup
xcopy C:\Projekte D:\Backup /E /I /Y
echo Backup abgeschlossen am %date% um %time% >> D:\Backup\backup_log.txt
pause

Dieses Skript kopiert alle Dateien und Unterordner von „C:\Projekte“ in das Verzeichnis „D:\Backup“ und protokolliert den Zeitpunkt des Backups in einer Log-Datei.

PowerShell-Skripte vs. Batch-Skripte

Während Batch-Skripte in ihrer Funktionalität eher limitiert sind, bieten PowerShell-Skripte deutlich mehr Möglichkeiten für Automatisierung, Verwaltung und Systemintegration.

FeatureBatch-SkriptePowerShell-Skripte
SystemintegrationEingeschränktVollständige Systemintegration
FehlerbehandlungSchwachUmfassende Fehlerbehandlung (Try-Catch)
AutomatisierungskomplexitätEinfachere Automatisierung möglichKomplexe Automatisierung möglich

VB-Skripte zur Automatisierung von GUI-Abläufen

Während Batch-Skripte hauptsächlich auf der Kommandozeilenebene arbeiten, bietet VBScript (Visual Basic Script) die Möglichkeit, GUI-basierte Aufgaben zu automatisieren, z. B. das Klicken auf Buttons oder das Ausfüllen von Formularen.

Beispiel: Ein VB-Skript, das den Notepad-Prozess startet und eine Nachricht anzeigt

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad.exe"
WScript.Sleep 1000
WshShell.AppActivate "Unbenannt - Editor"
WshShell.SendKeys "Automatisierung mit VBScript!"

Dieses Skript startet den Windows-Editor, wartet eine Sekunde und sendet dann den Text „Automatisierung mit VBScript!“.

Auch interessant:  Schneller arbeiten mit praktischen Windows-Kurzbefehlen

PowerShell-Skripte für komplexere Automatisierungen

Im Vergleich zu Batch- und VB-Skripten bietet PowerShell weitreichendere Möglichkeiten. Es kann nicht nur auf Windows-Kernfunktionen zugreifen, sondern auch komplexe logische Abläufe verarbeiten.

Beispiel: Automatisierte Netzwerküberprüfung mit PowerShell

# Prüft die Netzwerkverbindung und den Status wichtiger Dienste
$servers = @("Server1", "Server2", "Server3")
foreach ($server in $servers) {
$ping = Test-Connection -ComputerName $server -Count 1 -Quiet
if ($ping) {
Write-Output "$server ist erreichbar."
Get-Service -ComputerName $server -Name 'wuauserv', 'bits'
} else {
Write-Output "$server ist nicht erreichbar."
}
}

Dieses Skript überprüft, ob Server in einem Netzwerk erreichbar sind, und listet den Status der Update-Dienste auf.

Automatisierung wiederkehrender Aufgaben über die Aufgabenplanung

Windows bietet die Möglichkeit, Skripte über die Aufgabenplanung zu automatisieren. So können Sie sicherstellen, dass Ihre Skripte zu bestimmten Zeiten oder bei Ereignissen ausgeführt werden.

Ein Beispiel für ein geplantes Skript:

  1. Erstellen Sie ein PowerShell-Skript, das täglich ausgeführt werden soll, um Log-Dateien zu bereinigen.
  2. Öffnen Sie die Aufgabenplanung und erstellen Sie eine neue Aufgabe.
  3. Wählen Sie „Neues Skript ausführen“ und geben Sie den Pfad zum PowerShell-Skript ein.
  4. Legen Sie fest, dass das Skript täglich um 02:00 Uhr ausgeführt wird.
Nach oben scrollen