Scripting mit Bash und PowerShell

Skip to content

Dies ist ein maschinell übersetzter Text, der Fehler enthalten kann!

Wenn Sie dieselbe Aufgabe zum dritten Mal erledigt haben, ist es an der Zeit, sie zu automatisieren. Beim Scripting geht es darum, die Maschine die langweilige Arbeit für Sie erledigen zu lassen – schneller und ohne etwas zu vergessen.

Warum automatisieren?

Einige Aufgaben im IT-Betrieb werden oft durchgeführt:

  • Server aktualisieren
  • Benutzer erstellen
  • Backup erstellen
  • Dienste nach einem Update neu starten
  • Überprüfen, ob Dienste laufen

Diese manuell jedes Mal durchzuführen, kostet Zeit und es ist leicht, einen Schritt zu vergessen. Ein Skript macht jedes Mal dasselbe, ohne sich zu beschweren.

Bash: Skripting in Linux

Bash ist die Shell (das Terminal) in den meisten Linux-Distributionen und kann auch Skripte ausführen. Ein Bash-Skript ist einfach eine Textdatei mit Befehlen, die nacheinander ausgeführt werden.

Dein erstes Skript

Erstelle eine Datei namens oppdater.sh:

#!/bin/bash
# Aktualisiere die Paketliste und installiere Updates
echo "Aktualisiere das System..."
sudo apt update
sudo apt upgrade -y
echo "Fertig!"

Mache die Datei ausführbar und führe sie aus:

chmod +x oppdater.sh
./oppdater.sh
# Erstellt die ausführbare Datei und führt sie aus.

#!/bin/bash

Die erste Zeile wird Shebang genannt. Sie teilt dem Betriebssystem mit, dass die Datei mit Bash ausgeführt werden soll. Ohne diese weiß das System nicht, welches Programm das Skript interpretieren soll.

Variablen und Eingaben

#!/bin/bash
BENUTZERNAME=$1

if [ -z "$BENUTZERNAME" ]; then
    echo "Benutzung: ./lag_bruker.sh <benutzername>"
    exit 1
fi

sudo adduser "$BENUTZERNAME"
sudo usermod -aG sudo "$BENUTZERNAME"
echo "Benutzer $BENUTZERNAME mit sudo-Zugriff erstellt."

Hier nimmt das Skript einen Benutzernamen als Argument entgegen ($1 ist das erste Argument). Wenn Sie ./lag_bruker.sh ola ausführen, wird der Benutzer ola erstellt und ihm Sudo-Zugriff gewährt.

Nützliche Bash-Konzepte

Konzept Beispiel Was es tut
Variable NAVN="Ola" Speichert einen Wert
Argument $1, $2 Input von der Befehlszeile
If-Prüfung if [ -f "fil.txt" ]; then Prüft, ob eine Datei existiert
For-Schleife for f in *.log; do Führt etwas für jede passende Datei aus
Pipe cat logg.txt \| grep "ERROR" Leitet die Ausgabe eines Befehls an einen anderen weiter

PowerShell: Skripting in Windows

PowerShell ist Windows’ Antwort auf Bash, aber es ist objektorientierter. Es arbeitet mit Objekten anstelle von reinem Text, was es leistungsstark für die Verwaltung von Windows-Systemen macht.

Beispiel: Festplattenspeicher prüfen

# Überprüfen Sie den verfügbaren Speicherplatz
Get-PSDrive -PSProvider FileSystem | Select-Object Name, 
    @{Name="Verwendet (GB)"; Expression={[math]::Round($_.Used / 1GB, 2)}},
    @{Name="Frei (GB)"; Expression={[math]::Round($_.Free / 1GB, 2)}}

Beispiel: Software mit Winget installieren

# Installer mehrere Programme gleichzeitig
winget install Mozilla.Firefox
winget install Microsoft.VisualStudioCode
winget install Git.Git
winget install Python.Python.3.12

Dies ist viel schneller, als alles manuell herunterzuladen und zu installieren. Sie können die Liste in einem Skript speichern und es jedes Mal ausführen, wenn Sie eine neue Maschine einrichten.

Easy Aufgabe 1 – Erstellen Sie ein Aktualisierungsskript

Schreiben Sie ein Bash-Skript, das:

  1. Die Paketliste aktualisiert
  2. Alle verfügbaren Updates installiert
  3. Nginx (oder einen anderen laufenden Dienst) neu startet
  4. Eine Meldung ausgibt, wenn es fertig ist

Führen Sie es auf einer Ihrer VMs aus und prüfen Sie, ob es funktioniert.

Easy Aufgabe 2 - Automatisierung der Maschinenkonfiguration

Erstelle ein PowerShell-Skript (.ps1) oder eine einfache Liste mit winget install-Befehlen für alle Programme, die du auf einem neuen PC benötigst. Denke darüber nach:

  • Welche Programme installierst du immer?
  • Kannst du auch einige Einstellungen mit dem Skript konfigurieren?

Wenn du das nächste Mal eine Maschine einrichtest, führe einfach das Skript aus, anstatt eine Stunde mit der manuellen Installation zu verbringen.

Zusammenfassung

  • Wenn Sie etwas öfter als zweimal tun, sollten Sie in Erwägung ziehen, es zu automatisieren.
  • Bash (Linux) und PowerShell (Windows) sind die gängigsten Tools für die Skripterstellung.
  • Bash-Skripte sind Textdateien mit Befehlen, die nacheinander ausgeführt werden.
  • PowerShell arbeitet mit Objekten und ist leistungsstark für die Windows-Administration.
  • Variablen, Argumente, If-Prüfungen und Schleifen sind die wichtigsten Bausteine.