Einleitung

Scriptprogrammierung ist ein wichtiger Bestandteil der Systemadministration und Automatisierung. Ziel ist es, wiederkehrende Aufgaben nicht jedes Mal manuell auszuführen, sondern sie durch ein Script automatisiert ablaufen zu lassen. Ein Script ist dabei eine Textdatei, die aus einer Abfolge von Befehlen besteht, welche von einem Interpreter (z. B. PowerShell, CMD oder Windows Script Host) Schritt für Schritt ausgeführt werden.

Im Gegensatz zu klassischen Programmen werden Scripte nicht kompiliert, sondern direkt ausgeführt. Dadurch sind sie schnell erstellt, leicht anpassbar und ideal für administrative Aufgaben. Typische Einsatzgebiete sind Systemverwaltung, Benutzerverwaltung, Wartungsarbeiten, Installationen oder einfache Prüf- und Auswertungsaufgaben.

Ein klassisches Einstiegsbeispiel in jede Script- oder Programmiersprache ist das sogenannte "Hallo Welt" - Beispiel. Es dient nicht der Funktionalität, sondern zeigt, dass:

  • das Script korrekt aufgebaut ist,
  • die Laufzeitumgebung funktioniert,
  • und Ausgaben erfolgreich erzeugt werden können.

1. Typische Einsatzgebiete von Scriptsprachen

Scripting-Sprachen werden überall dort eingesetzt, wo Abläufe standardisiert, beschleunigt oder fehlerfrei wiederholt werden sollen.

PowerShell wird hauptsächlich in Windows-Umgebungen verwendet und ist sehr eng mit dem Betriebssystem verzahnt. Sie arbeitet objektorientiert und kann tief in Systeme eingreifen. Typische Einsatzgebiete sind:

  • Verwaltung von Active Directory (Benutzer, Gruppen, Computer)
  • Auslesen von Systeminformationen
  • Automatisierung von Server- und Clientaufgaben
  • Softwareinstallation und -konfiguration
  • Steuerung von Diensten, Prozessen und Netzwerkkomponenten

Batch (CMD) ist die klassische Windows-Skriptsprache. Sie ist einfacher aufgebaut und weniger mächtig als PowerShell, eignet sich aber gut für:

  • Starten von Programmen
  • Kopieren, Verschieben oder Löschen von Dateien
  • einfache Installations- oder Startskripte
  • kleine Automatisierungen ohne große Logik

VBScript (VBS) wurde früher häufig in Windows-Umgebungen eingesetzt, z. B. für Logon-Skripte oder Systemabfragen. Heute gilt es als veraltet, ist aber in älteren Umgebungen noch vorhanden. Typische Einsätze waren:

  • Benutzeranmeldeskripte
  • einfache GUI-Meldungen
  • WMI-Abfragen

Grundsätzlich gilt:
Scripts sind besonders dann sinnvoll, wenn Aufgaben regelmäßig, wiederholbar und nach festen Regeln ablaufen.

2. "Hallo Welt" - Erklärung und Beispiele

PowerShell - Hallo Welt

powershell

Write-Host "Hallo Welt"

Dieses Script besteht aus einem einzigen Befehl. Write-Host gibt Text direkt in der Konsole aus. Der Text "Hallo Welt" ist ein sogenannter String. Das Script zeigt, dass PowerShell korrekt funktioniert und Befehle ausführen kann.

Start über die Kommandozeile:

powershell

.\hallo.ps1

Dabei ist zu beachten, dass PowerShell das Ausführen von Scripts nur erlaubt, wenn die Ausführungsrichtlinie (Execution Policy) entsprechend gesetzt ist.


Batch - Hallo Welt

batch

@echo off
echo Hallo Welt
pause

@echo off verhindert, dass die einzelnen Befehle selbst angezeigt werden.
echo Hallo Welt gibt den Text aus.
pause sorgt dafür, dass das Konsolenfenster geöffnet bleibt.

Start über die Kommandozeile:

cmd

hallo.bat


VBScript - Hallo Welt

vbscript

MsgBox "Hallo Welt"

Dieses Script zeigt ein grafisches Meldungsfenster an. Im Gegensatz zu PowerShell oder Batch erfolgt die Ausgabe hier nicht in der Konsole, sondern über eine Dialogbox.

Start über die Kommandozeile:

cmd

cscript hallo.vbs

oder per Doppelklick.

3. Prozeduren und Funktionen - Unterschied und Einsatz

In der Scriptprogrammierung unterscheidet man zwischen Prozeduren und Funktionen.

Eine Prozedur ist ein zusammengefasster Codeblock, der eine bestimmte Aufgabe ausführt, aber keinen Wert zurückgibt. Sie wird genutzt, um Abläufe übersichtlich zu strukturieren, zum Beispiel:

  • Ausgaben erzeugen
  • Dateien kopieren
  • Meldungen anzeigen
  • Logs schreiben

Eine Funktion hingegen gibt immer ein Ergebnis zurück. Dieses Ergebnis kann anschließend weiterverarbeitet oder ausgewertet werden. Funktionen werden verwendet, wenn:

  • Berechnungen durchgeführt werden
  • Werte zurückgegeben werden sollen
  • Ergebnisse in Bedingungen (if) genutzt werden

Kurz zusammengefasst:

  • Prozedur ⟶ führt etwas aus
  • Funktion ⟶ liefert ein Ergebnis zurück

4. Debugging - Fehlersuche in Scripts

Wenn ein Script nicht wie erwartet funktioniert, ist Debugging notwendig. Je nach Scriptsprache gibt es unterschiedliche Möglichkeiten.

In PowerShell kann man:

  • Zwischenergebnisse mit Write-Host ausgeben
  • Variablenwerte anzeigen lassen
  • mit Try / Catch Fehler gezielt abfangen
  • Debugger in PowerShell ISE oder VS Code nutzen (Breakpoints, Schritt-für-Schritt)

In Batch-Skripten ist Debugging einfacher gehalten:

  • @echo off entfernen, um alle Befehle sichtbar zu machen
  • mit echo Variablen ausgeben
  • pause verwenden, um das Script an bestimmten Stellen anzuhalten

In VBScript erfolgt Debugging meist durch:

  • MsgBox oder WScript.Echo zur Anzeige von Werten
  • schrittweises Testen einzelner Codeabschnitte

Allgemein gilt:
Fehlersuche in Scripts erfolgt oft über sichtbar gemachte Zwischenschritte, da komplexe Debugger nicht immer verfügbar sind.

5. Beispielskripte mit Prozeduren und Funktionen

PowerShell - Funktion

powershell

function Addiere {
    param ($a, $b)
    return $a + $b
}


$result = Addiere 5 7
Write-Host "Ergebnis: $result"

Die Funktion berechnet die Summe zweier Werte und gibt sie zurück. Das Ergebnis wird anschließend weiterverwendet.


Batch - Prozedur

batch

@echo off
call :Begruessung
pause
exit


:Begruessung
echo Hallo aus der Prozedur
goto :eof

Batch hat keine Funktionen im Sinne von Rückgabeabwerten; stattdessen nutzt man Labels als Subroutinen.


VBScript - Funktion

vbscript

Function Begruessung(name)
   Begruessung = "Hallo " & name
End Function

MsgBox Begruessung("Name")

Die Funktion gibt einen String zurück, der direkt verwendet wird.

Zusammenfassung

Scriptprogrammierung ist ein zentrales Werkzeug zur Automatisierung in der IT. PowerShell, Batch und VBScript unterscheiden sich im Umfang und in den Einsatzmöglichkeiten, verfolgen aber das gleiche Ziel: Abläufe vereinfachen und standardisieren. "Hallo Welt"-Beispiele zeigen den grundlegenden Aufbau eines Scripts. Prozeduren strukturieren Abläufe, Funktionen liefern Rückgabewerte. Debugging erfolgt meist durch Ausgaben und schrittweises Testen.