122

Systeme & Betrieb · Scripting

Abläufe mit einer Scriptsprache automatisieren

Du lernst, wiederkehrende Arbeiten mit einem Skript zu erledigen, statt sie jede Woche von Hand zu klicken.

Einstieg Einstieg ca. 20 Std. SelbststudiumApplikationsentwicklung: 1. Lehrjahr · BerufsfachschulePlattformentwicklung: 1. Lehrjahr · BerufsfachschuleICT-Fachleute: 2. Lehrjahr · BerufsfachschuleICT-Fachleute (bis 2025): 3. Lehrjahr · Berufsfachschule
#PowerShell#Bash#Python#Automatisierung#CSV#Logging#Fehlerbehandlung#Aufgabenplanung#Regex

Überblick

Worum geht es?

Benutzer anlegen, Ordner aufräumen, Logfiles auswerten, Berichte erstellen: Vieles im ICT-Alltag wiederholt sich. In diesem Modul zerlegst du solche Abläufe in einzelne Schritte und setzt sie in einer Scriptsprache wie PowerShell, Bash oder Python um. Du arbeitest mit Variablen, Bedingungen, Schleifen und Funktionen, liest Daten aus CSV- und Textdateien und erzeugst saubere Ausgaben. Zum Schluss machst du deine Skripte robust: mit Parametern, Fehlerbehandlung, Protokoll und zeitgesteuerter Ausführung.

Wofür brauchst du das?

Ein Skript, das eine halbe Stunde Handarbeit pro Woche ersetzt, spart über ein Jahr rund 25 Stunden und macht keine Tippfehler. In Lehrbetrieben werden PowerShell für Microsoft-Umgebungen, Bash für Linux-Server und Python für Datenaufgaben täglich eingesetzt. Was du hier lernst, nutzt du in 123 (Serverdienste), 159 (Directory Services), 143 (Backup) und später in 324 (DevOps) wieder.

Das solltest du schon können

  • Mit Dateien und Ordnern im Explorer oder Terminal sicher umgehen, Pfade verstehen
  • Eine Kommandozeile öffnen und einfache Befehle wie 'cd', 'dir' oder 'ls' ausführen
  • Erste Programmiererfahrung mit Variablen und Verzweigungen ist hilfreich, aber nicht zwingend (Modul 319)

Typische Tools & Technologien

PowerShell 7BashPython 3Visual Studio CodeWindows Aufgabenplanungcron / systemd-TimerGit

Lernziele

Was musst du können?

Das sind die Fähigkeiten, die am Ende des Moduls sitzen sollten. Jedes Ziel mit einem Beispiel aus dem Lehrbetrieb.

  1. 1

    Einen manuellen Ablauf in automatisierbare Einzelschritte zerlegen

    Kompetenz A

    Bevor du eine Zeile Code schreibst, beobachtest du, wie die Arbeit heute von Hand erledigt wird, und hältst jeden Schritt fest. Daraus entsteht ein Pseudocode oder ein Ablaufdiagramm, das auch Sonderfälle enthält.

    Situation

    Jeden Montag kopiert ein Mitarbeiter im Support die Exportdateien des Ticketsystems in einen Ordner, benennt sie mit Datum um und löscht Dateien, die älter als 60 Tage sind.

    Deine Aufgabe

    Beschreibe den Ablauf so, dass er sich direkt in ein Skript übersetzen lässt.

    Gutes Ergebnis

    Pseudocode mit sieben Schritten, z.B. 'Für jede Datei im Exportordner: Zielname = Datum + Originalname. Falls Ziel existiert, Zähler anhängen.' Sonderfälle: Exportordner leer, Zielordner fehlt, Datei gerade gesperrt.

    PseudocodeAblaufdiagrammSonderfallEingabe-Verarbeitung-Ausgabe
  2. 2

    Variablen, Bedingungen, Schleifen und Funktionen im Skript einsetzen

    Kompetenz B

    Du speicherst Werte in Variablen, triffst Entscheidungen mit if-Abfragen, wiederholst Arbeiten mit Schleifen und fasst wiederverwendbare Teile in Funktionen zusammen. Du verstehst, dass PowerShell Objekte durch die Pipeline schickt, Bash dagegen Text.

    Situation

    Auf dem Dateiserver eines Grafikbüros füllt der Ordner 'Scans' die Festplatte, weil niemand alte Dateien löscht.

    Deine Aufgabe

    Schreibe ein PowerShell-Skript, das Dateien älter als 30 Tage in ein Archiv verschiebt.

    Gutes Ergebnis

    Das Skript liest mit 'Get-ChildItem' alle Dateien, filtert mit 'Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) }' und verschiebt sie in einer Schleife mit 'Move-Item'. Eine Funktion 'Get-ArchivPfad' erzeugt pro Monat einen Unterordner wie '2026-09'.

    Variableif / elseforeach-SchleifeFunktionPipelineObjekt vs. Text
  3. 3

    CSV-, JSON- und Logdateien einlesen, filtern und als Bericht ausgeben

    Kompetenz C

    Du liest strukturierte Daten ein, filterst und gruppierst sie und gibst das Ergebnis als CSV, HTML oder Konsolentabelle aus. Für unstrukturierte Logzeilen setzt du reguläre Ausdrücke ein.

    Situation

    Der Linux-Webserver einer Gemeinde wird nachts angegriffen. In '/var/log/auth.log' stehen Tausende Zeilen 'Failed password for root from ...'.

    Deine Aufgabe

    Ermittle die zehn IP-Adressen mit den meisten Fehlversuchen.

    Gutes Ergebnis

    Ein Bash-Einzeiler mit 'grep "Failed password"', 'grep -oE' für die IP-Adresse, 'sort | uniq -c | sort -nr | head -10'. Zwei IPs aus demselben Netz verursachen 80 % der Versuche. Das Ergebnis geht als Grundlage für eine Fail2ban-Regel an die Systembetreuung.

    CSVJSONRegulärer AusdruckFiltern und GruppierenBericht
  4. 4

    Skripte mit Parametern flexibel und gegen Fehleingaben sicher machen

    Kompetenz D

    Statt Pfade und Werte fest in den Code zu schreiben, übergibst du sie als Parameter mit sinnvollen Standardwerten. Du prüfst Eingaben, bevor du etwas veränderst, und baust einen Testmodus ein, der nur anzeigt, was passieren würde.

    Situation

    Dein Aufräum-Skript soll auch für andere Ordner und andere Fristen nutzbar sein. Ein Kollege hat versehentlich 'C:\' als Pfad eingetragen.

    Deine Aufgabe

    Mache das Skript wiederverwendbar und schütze es vor gefährlichen Eingaben.

    Gutes Ergebnis

    Ein 'param()'-Block mit '-Pfad', '-Tage' (Standard 30, nur 1 bis 365 erlaubt über '[ValidateRange]') und dem Schalter '-WhatIf'. Laufwerkswurzeln und Systemordner werden abgelehnt. Ein Kommentar-Hilfeblock erklärt jeden Parameter für 'Get-Help'.

    ParameterStandardwertEingabevalidierungTestlauf (WhatIf / Dry Run)Kommentar-Hilfe
  5. 5

    Fehler abfangen und den Ablauf nachvollziehbar protokollieren

    Kompetenz E

    Ein Skript läuft oft unbeaufsichtigt. Du fängst erwartbare Fehler ab, gibst klare Meldungen aus, setzt aussagekräftige Exit-Codes und schreibst jede wichtige Aktion mit Zeitstempel in eine Logdatei.

    Situation

    Ein Skript legt aus einer HR-CSV-Datei neue Benutzer im Active Directory an. Beim dritten Eintrag existiert der Benutzername schon, und das Skript bricht ab. Niemand bemerkt es.

    Deine Aufgabe

    Mache den Ablauf robust und nachvollziehbar.

    Gutes Ergebnis

    Jeder Benutzer wird in einem 'try/catch'-Block angelegt. Bei einem Fehler wird die Zeile mit Grund ins Log geschrieben und der nächste Eintrag verarbeitet. Am Ende steht im Log: '14 angelegt, 1 übersprungen (Name existiert)', und das Skript endet mit Exit-Code 1, damit die Aufgabenplanung den Fehler meldet.

    try / catchExit-CodeLogdateiZeitstempelFehlerstrom (stderr)
  6. 6

    Skripte zeitgesteuert und mit sicheren Zugangsdaten ausführen

    Kompetenz F

    Du richtest die automatische Ausführung über die Windows-Aufgabenplanung oder cron ein und wählst einen passenden Benutzerkontext mit minimalen Rechten. Passwörter gehören nicht in den Code, sondern in einen geschützten Speicher.

    Situation

    Ein Python-Skript soll jede Nacht um 02:00 Uhr Bestellungen aus der Webshop-API holen und als CSV für die Buchhaltung ablegen. Der API-Schlüssel steht bisher im Code auf GitHub.

    Deine Aufgabe

    Plane die Ausführung und entferne das Geheimnis aus dem Code.

    Gutes Ergebnis

    Cron-Eintrag '0 2 * * * /opt/shop/venv/bin/python /opt/shop/export.py >> /var/log/shop-export.log 2>&1' unter einem eigenen Dienstbenutzer. Der Schlüssel wird aus einer Umgebungsvariable gelesen, die nur dieser Benutzer sehen kann. Der alte Schlüssel wird im Shop widerrufen, weil er öffentlich war.

    Aufgabenplanungcron-SyntaxDienstkontoLeast PrivilegeSecretsExecution Policy

Selbsteinschätzung

Wo stehst du?

Die Kompetenzmatrix zerlegt das Modul in Themenstränge und drei Stufen. Für den Kompetenznachweis solltest du überall mindestens Stufe 2 erreichen. Dein Stand bleibt in diesem Browser gespeichert und färbt Lernweg und Übungen ein.

Tippe auf eine Aussage, um deinen Stand zu setzen: offen unsicher sitzt
A

Abläufe zerlegen

Ziel 1

Grundlagen

Fortgeschritten

Erweitert

B

Kontrollstrukturen und Funktionen

Ziel 2

Grundlagen

Fortgeschritten

Erweitert

C

Daten verarbeiten

Ziel 3

Grundlagen

Fortgeschritten

Erweitert

D

Parameter und Eingabeprüfung

Ziel 4

Grundlagen

Fortgeschritten

Erweitert

E

Fehler und Protokoll

Ziel 5

Grundlagen

Fortgeschritten

Erweitert

F

Zeitgesteuert und sicher ausführen

Ziel 6

Grundlagen

Fortgeschritten

Erweitert

Praxisfall

Die Morgenkontrolle bei der Sanitär Keller AG

Lea ist im 2. Lehrjahr als ICT-Fachfrau bei der Sanitär Keller AG in Wil SG, 45 Mitarbeitende. Jeden Morgen prüft sie von Hand, ob die nächtlichen Backups geklappt haben und ob auf den vier Servern genug Speicher frei ist. Das dauert 25 Minuten, und an hektischen Tagen fällt die Kontrolle aus. Ihr Berufsbildner schlägt vor, die Morgenkontrolle mit PowerShell zu automatisieren.

  1. Kapitel 1

    Eine Woche mitschreiben

    Eine Woche lang notiert Lea jeden Klick ihrer Kontrolle: Backup-Bericht des NAS öffnen, per RDP auf jeden Server, Laufwerke ansehen, Ergebnis in den Teams-Kanal schreiben. Daraus macht sie Pseudocode mit Eingabe, Verarbeitung und Ausgabe: Serverliste und Backup-Daten rein, Warnung bei weniger als 15 Prozent freiem Speicher, ein HTML-Bericht raus. Als Sonderfall hält sie fest, dass ein Server auch einmal nicht erreichbar sein kann.

    Ziel 1

  2. Kapitel 2

    Schleifen statt Klicks

    In Visual Studio Code schreibt Lea eine Funktion Get-DiskStatus, die mit einer foreach-Schleife alle Server abfragt. Beim ersten Test meldet das Skript ein Laufwerk mit 9 Prozent als unkritisch. Der Grund: Lea hatte Text aus einer Befehlsausgabe zerlegt, und als Text ist 9 grösser als 15. Sie stellt auf Get-CimInstance um, rechnet mit echten Zahlen, und die Warnung erscheint korrekt.

    Ziel 2

  3. Kapitel 3

    Was das Backup verrät

    Das NAS liefert die Backup-Resultate als JSON-Datei, die Serverliste pflegt Lea als CSV. Mit ConvertFrom-Json, Where-Object und Group-Object filtert sie alle Jobs, die nicht erfolgreich waren, und gruppiert sie nach Server. Ein älteres Sicherungsprogramm schreibt nur eine Textdatei, deshalb zieht sie die Dauer mit einem regulären Ausdruck heraus. Am Ende steht alles in einer HTML-Tabelle, Warnungen in Rot.

    Ziel 3

  4. Kapitel 4

    Robust gegen Kollegen und Ausfälle

    Ein Kollege startet das Skript mit einem Tippfehler im Pfad und bekommt nur eine rote Fehlermeldung. Lea ergänzt einen param-Block: Der Schwellwert muss zwischen 5 und 50 liegen, und die Serverliste muss existieren. Damit ein abgeschalteter Server nicht den ganzen Lauf abbricht, legt sie try und catch um jede Abfrage. Jeder Lauf schreibt jetzt Zeitstempel und Ergebnis in eine Logdatei und endet mit Exit-Code 1, wenn es Warnungen gab.

    Ziel 4Ziel 5

  5. Kapitel 5

    Jeden Morgen um 6.30 Uhr

    Lea plant das Skript in der Aufgabenplanung unter einem eigenen Dienstkonto, das auf den Servern nur lesen darf. Das Passwort für den Mailversand liegt nicht im Skript, sondern in einem Tresor des SecretManagement-Moduls. Am ersten Morgen läuft die Aufgabe, aber der Bericht ist leer, und das Log zeigt, dass die CSV-Datei nicht gefunden wurde. Die Aufgabe startet in C:\Windows\System32, also ersetzt Lea den relativen Pfad durch $PSScriptRoot. Seither spart die Firma rund 100 Stunden im Jahr.

    Ziel 6Ziel 5

Lernweg

Wie lernst du das?

  1. 1

    Erste Schritte in der Shell

    ca. 3 Std.

    Du lernst die Kommandozeile als Werkzeug kennen und schreibst deine ersten kleinen Skripte in VS Code.

    • PowerShell 7 und VS Code mit der PowerShell- oder Python-Erweiterung installieren
    • Zehn alltägliche Explorer-Aktionen als Befehl ausführen, z.B. Ordner anlegen, Dateien kopieren, suchen
    • Ein erstes Skript schreiben, das Computername, Benutzer und freien Speicherplatz ausgibt

    Trainiert Kompetenz B1

    Lernziel2

  2. 2

    Abläufe beobachten und zerlegen

    ca. 2 Std.

    Du suchst dir wiederkehrende Aufgaben aus deinem Lehrbetrieb und beschreibst sie als Pseudocode.

    • Drei manuelle Aufgaben aus dem Betrieb notieren und schätzen, wie viel Zeit sie pro Monat kosten
    • Für eine davon ein Ablaufdiagramm in draw.io mit allen Sonderfällen erstellen
    • Den Pseudocode mit einer Person besprechen, die die Aufgabe heute erledigt

    Trainiert Kompetenz A1A2

    Lernziel1

  3. 3

    Kontrollstrukturen und Funktionen

    ca. 4 Std.

    Du baust Logik in deine Skripte ein und lernst den Unterschied zwischen Objekt- und Text-Pipeline.

    • Ein Aufräum-Skript für einen Testordner mit Schleife und Bedingung schreiben
    • Wiederholten Code in eine Funktion mit Rückgabewert auslagern
    • Denselben Ablauf einmal in PowerShell und einmal in Bash oder Python umsetzen und vergleichen

    Trainiert Kompetenz B2A2

    Lernziel21

  4. 4

    Mit Daten arbeiten

    ca. 4 Std.

    Du liest CSV-, JSON- und Logdateien ein und erzeugst daraus Berichte.

    • Eine CSV-Inventarliste einlesen und alle Geräte mit Garantieablauf in den nächsten 90 Tagen ausgeben
    • Mit regulären Ausdrücken IP-Adressen und Zeitstempel aus einem Logfile extrahieren
    • Das Ergebnis als HTML-Tabelle mit 'ConvertTo-Html' oder als CSV exportieren

    Trainiert Kompetenz C1C2

    Lernziel3

  5. 5

    Robust machen

    ca. 4 Std.

    Du ergänzt Parameter, Validierung, Fehlerbehandlung und Logging, bis das Skript unbeaufsichtigt laufen darf.

    • Feste Werte durch Parameter mit Standardwerten und Validierung ersetzen
    • Einen Testmodus einbauen und mit absichtlich falschen Eingaben testen
    • try/catch, Logdatei mit Zeitstempel und Exit-Codes ergänzen
    • Das Skript in ein Git-Repository einchecken und eine kurze README schreiben

    Trainiert Kompetenz D1D2E1E2

    Lernziel45

  6. 6

    Automatisch laufen lassen

    ca. 3 Std.

    Du planst die Ausführung und kümmerst dich um Rechte und Zugangsdaten.

    • Ein Skript in der Windows-Aufgabenplanung und eines mit cron einplanen
    • Einen eigenen Benutzer mit minimalen Rechten für die Ausführung verwenden
    • Ein Passwort aus dem Code entfernen und über SecretManagement oder eine Umgebungsvariable laden

    Trainiert Kompetenz F1F2E2

    Lernziel65

Üben

Übungen aus der Praxis

Downloads-Ordner automatisch sortieren

Einstieg Einstieg

Dein Downloads-Ordner enthält Hunderte Dateien durcheinander: PDFs, Bilder, Installationsdateien und ZIP-Archive.

Weist nach A1B1

  1. Den Ablauf als Pseudocode beschreiben
  2. Ein Skript schreiben, das jede Datei je nach Endung in einen Unterordner wie 'PDF', 'Bilder' oder 'Setups' verschiebt
  3. Am Ende ausgeben, wie viele Dateien pro Kategorie verschoben wurden
Tipp anzeigen

Teste zuerst mit einer Kopie des Ordners. Eine Zuordnung von Endung zu Ordner lässt sich gut in einer Hashtable oder einem Dictionary ablegen.

Lösungsskizze anzeigen

Hashtable mit Endungen als Schlüssel und Zielordner als Wert. Schleife über alle Dateien, Ziel nachschlagen, Ordner bei Bedarf anlegen, Datei verschieben, Zähler pro Kategorie erhöhen. Unbekannte Endungen landen in 'Sonstiges'.

Bericht über auslaufende Garantien

Fortgeschritten Fortgeschritten

Die IT einer Schule führt ihr Geräteinventar als CSV mit den Spalten Inventarnummer, Typ, Raum, Kaufdatum und Garantie in Monaten. Die Leitung will jeden Monat wissen, welche Garantien bald ablaufen.

Weist nach C2D2

  1. Die CSV-Datei einlesen und das Ablaufdatum pro Gerät berechnen
  2. Geräte filtern, deren Garantie in den nächsten 60 Tagen endet
  3. Den Zeitraum als Parameter mit Standardwert 60 und erlaubtem Bereich umsetzen
  4. Das Ergebnis nach Raum sortiert als HTML-Bericht speichern
Tipp anzeigen

In PowerShell liefert 'Import-Csv' Text. Wandle das Kaufdatum mit '[datetime]::ParseExact' in ein Datum um, sonst rechnest du mit Zeichenketten.

Lösungsskizze anzeigen

param mit '-Tage' und '[ValidateRange(1,365)]'. Import-Csv, für jedes Gerät Ablaufdatum = Kaufdatum.AddMonths(Garantie). Where-Object für Ablauf zwischen heute und heute plus Tage. Sort-Object Raum, ConvertTo-Html mit Titel und Erstellungsdatum, Out-File.

Benutzer-Onboarding aus HR-Liste

Anspruchsvoll Anspruchsvoll

Ein Logistikunternehmen stellt im August 25 Lernende ein. HR liefert eine CSV mit Vorname, Nachname, Abteilung und Startdatum. Bisher legt die IT jeden Benutzer von Hand an und vergisst regelmässig Gruppen.

Weist nach B3C3E3F3D3

  1. Regeln für den Benutzernamen festlegen, inklusive Umlauten und Duplikaten
  2. Ein Skript schreiben, das Benutzer mit Gruppe pro Abteilung und Startpasswort anlegt
  3. Fehler pro Zeile abfangen, ohne den ganzen Lauf abzubrechen
  4. Ein Log und eine Zusammenfassung erzeugen und einen Testmodus anbieten
  5. Die Ausführung so planen, dass das Skript jeden Morgen neue Einträge verarbeitet
Tipp anzeigen

Aus 'Jürg Müller' sollte z.B. 'juerg.mueller' werden. Prüfe vor dem Anlegen, ob der Name schon existiert, und hänge sonst eine Zahl an.

Lösungsskizze anzeigen

Funktion 'ConvertTo-Benutzername' ersetzt ä, ö, ü durch ae, oe, ue und entfernt Sonderzeichen. Pro Zeile in try/catch: Name prüfen, 'New-ADUser' mit '-WhatIf' im Testmodus, 'Add-ADGroupMember' je nach Abteilung. Startpasswort zufällig, Änderung bei erster Anmeldung erzwingen, Passwort nicht ins Log. Log mit Zeitstempel und Zusammenfassung, Exit-Code bei Fehlern. Aufgabenplanung täglich 06:00 Uhr unter einem Dienstkonto mit delegierten Rechten nur auf der Lernenden-OU.

Selbstcheck

Kannst du das beantworten?

Was ist der wichtigste Unterschied zwischen der PowerShell- und der Bash-Pipeline?

PowerShell übergibt Objekte mit Eigenschaften, Bash übergibt reinen Text, der mit Werkzeugen wie grep, cut oder awk zerlegt wird.

Wozu dient der Parameter '-WhatIf' bzw. ein Dry-Run-Modus?

Er zeigt an, was das Skript tun würde, ohne etwas zu verändern. So lassen sich gefährliche Aktionen gefahrlos testen.

Was bedeutet der cron-Ausdruck '30 6 * * 1-5'?

Ausführung um 06:30 Uhr von Montag bis Freitag.

Warum gehören Passwörter nicht in ein Skript?

Skripte werden kopiert, geteilt und versioniert. Ein Passwort im Code ist damit für viele lesbar und landet leicht in Git oder in Backups.

Was sagt ein Exit-Code von 0 aus?

Das Skript ist erfolgreich beendet worden. Andere Werte signalisieren laut Konvention ein Problem (Ausnahmen gibt es, z.B. robocopy, bei dem Codes unter 8 Erfolg bedeuten).

Was findet der reguläre Ausdruck '\d{1,3}(\.\d{1,3}){3}'?

Zeichenfolgen im Format einer IPv4-Adresse, also vier Zahlengruppen mit ein bis drei Ziffern, getrennt durch Punkte.

Weshalb sollte ein geplantes Skript unter einem eigenen Dienstkonto laufen?

Damit es nur die Rechte hat, die es wirklich braucht, und Aktionen im Log klar diesem Skript zugeordnet werden können.

Prüfung

Stolpersteine & Prüfungstipps

Typische Stolpersteine

  • Direkt auf echten Daten testen. Immer zuerst mit Kopien oder im Testmodus arbeiten.
  • Pfade fest in den Code schreiben. Spätestens auf einem anderen Rechner oder bei Leerzeichen im Pfad bricht das Skript.
  • Fehler mit '-ErrorAction SilentlyContinue' verstecken, statt sie zu behandeln. Das Skript läuft dann scheinbar fehlerfrei und tut trotzdem nicht, was es soll.
  • Das Skript als Administrator planen, weil es 'einfacher' ist. Ein Fehler oder eine Manipulation hat dann maximale Wirkung.
  • Keine Kommentare und keine README. Nach drei Monaten weiss niemand mehr, wofür das Skript gut ist.

Tipps für den Kompetenznachweis

  • Schreib zuerst Pseudocode als Kommentar ins Skript und fülle ihn dann Schritt für Schritt mit Code.
  • Teste nach jedem kleinen Schritt mit einer Ausgabe. Ein funktionierender Teil ist mehr wert als ein ganzes Skript, das nicht läuft.
  • Nutze die eingebaute Hilfe: 'Get-Help Befehl -Examples' in PowerShell oder 'man befehl' in Bash.
  • Zeig in der Prüfung, dass du an Sonderfälle gedacht hast, z.B. leere Datei, fehlender Ordner oder doppelter Name.

Glossar

Begriffe kurz erklärt

Skript
Textdatei mit Befehlen, die ein Interpreter nacheinander ausführt, ohne vorheriges Kompilieren.
Pipeline
Verkettung von Befehlen, bei der die Ausgabe des einen zur Eingabe des nächsten wird.
Cmdlet
Eingebauter PowerShell-Befehl nach dem Muster Verb-Nomen, z.B. 'Get-ChildItem'.
Regulärer Ausdruck
Suchmuster zum Finden und Extrahieren von Textstellen, z.B. Mailadressen oder IP-Adressen.
Exit-Code
Zahl, die ein Skript beim Beenden zurückgibt und die anzeigt, ob es erfolgreich war.
cron
Dienst unter Linux, der Befehle zu festgelegten Zeiten automatisch ausführt.
Execution Policy
PowerShell-Einstellung, die regelt, welche Skripte ausgeführt werden dürfen, z.B. nur signierte.
Idempotent
Ein Skript ist idempotent, wenn es bei mehrfacher Ausführung dasselbe Ergebnis liefert, ohne Schaden anzurichten.

Mit KI-Tutor

Jeder Kurs hat einen persönlichen KI-Tutor

  • Erklärt in deinem Tempo
  • Debuggt mit dir
  • Fachgespräch wie im QV
  • Unbegrenzt neue Übungen

Denkanstösse statt fertiger Lösungen. In der Gratis-Lektion zum Ausprobieren.

KI-Tutor · Modul 164Nur Tipps

Mein JOIN liefert plötzlich doppelte Zeilen. Was mache ich falsch?
Gute Frage! Schau dir die Spalte an, über die du verbindest: Ist sie in beiden Tabellen eindeutig? Was passiert mit einer Kundin, die zwei Bestellungen hat?
Ah, dann kommt sie zweimal vor …
Genau. Willst du die Bestellungen zählen oder nur die Kundinnen sehen? Je nachdem hilft dir GROUP BY oder DISTINCT.

Tutavio

So helfen wir dir bei Modul 122

  • Wir suchen mit dir eine echte Routineaufgabe aus deinem Lehrbetrieb und setzen sie gemeinsam vom Pseudocode bis zum fertigen Skript um.
  • Wir debuggen dein Skript Zeile für Zeile in VS Code und zeigen dir, wie du Variablen und Objekte während der Ausführung untersuchst.
  • Wir machen ein Review deiner Skripte mit Fokus auf Parameter, Fehlerbehandlung und Logging und zeigen, was im Betrieb noch fehlen würde.
  • Vor dem Kompetenznachweis üben wir typische Aufgaben wie CSV-Auswertung oder Dateiverwaltung unter Zeitdruck in der Sprache deiner Schule.

Unverbindlich anfragen. Wir melden uns innert 24 Stunden.

Tutor:in für Modul 122 finden

Passende Module

Diese Seite ist eine eigene Lernhilfe von Tutavio und keine offizielle Modulbeschreibung. Nummer, Titel und Einordnung stammen aus den öffentlichen Bildungsplänen. Die verbindliche Modulidentifikation findest du im Modulbaukasten von ICT-Berufsbildung Schweiz.

Gratis-LektionNachhilfe