Files
lernbar/content/aufgaben/7.1-inventarskript.md
T
Florian WildeandClaude Opus 5.5 7d171f149d Inhalte: Wochen 5 bis 8
Vier neue Wochen nach Rahmenplan, im bestehenden Format:

- Woche 5 Ausbildung, Betrieb und Zusammenarbeit (C1, C2, C5)
- Woche 6 IT-Sicherheit und Datenschutz (A6, LF4)
- Woche 7 Skripting mit PowerShell (A10, A4)
- Woche 8 Datensicherung und Speicher (A9)

12 Handouts, 38 Merkkarten, 4 Praxisaufgaben, 2 Checklisten,
2 Lernzielkontrollen, 22 Glossareintraege, zwei neue Themenbloecke.
Jede Berufsbildposition ist jetzt von mindestens einem Inhalt beruehrt.

Die Praxisaufgaben bauen aufeinander auf: Die Abteilungsuebersicht aus
5.1 ist Grundlage der Schutzbedarfsfeststellung in 6.1, und deren
Ergebnis ist Massstab fuer die Sicherungspruefung in 8.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 21:53:10 +02:00

51 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: "7.1"
titel: Ein Inventarskript schreiben
woche: 7
block: programmierung
ziel: Du schreibst ein PowerShell-Skript, das die wichtigsten Angaben eines Rechners erfasst und an eine gemeinsame CSV-Datei anhängt, und weist an drei Rechnern nach, dass es zuverlässig funktioniert.
zeitrahmen: 8 Stunden, verteilt auf zwei Tage
rahmenplan: [A10, A4, B3, A5]
lernfeld: LF5
material:
- Drei Testrechner mit Windows, darunter ein Notebook
- Eine Netzwerkfreigabe mit Schreibrecht für die CSV-Datei
- Zugang zum Git-Repository der IT
kriterien:
- Das Skript erfasst Rechnername, Hersteller, Modell, Seriennummer, Betriebssystem mit Version, Arbeitsspeicher in GB, freien Platz auf C in GB und den Zeitpunkt des letzten Starts
- Der Zielpfad der CSV-Datei ist ein Parameter, kein fester Wert im Code
- Ein zweiter Lauf auf demselben Rechner erzeugt keine doppelte Zeile, sondern aktualisiert sie
- Ist die Freigabe nicht erreichbar, bricht das Skript mit einer verständlichen Meldung ab
- Das Skript hat einen Hilfeblock mit Beschreibung und Beispielaufruf
- Die Ergebnisse von drei Rechnern liegen in der CSV-Datei und lassen sich in Excel öffnen
- Das Skript liegt mit mindestens drei sinnvoll beschriebenen Commits im Repository
---
## Auftrag
Die Geräteliste der IT wird von Hand gepflegt und ist deshalb nie ganz aktuell. Dein Skript
soll das ändern.
1. **Angaben finden:** Ermittle mit `Get-CimInstance`, wo die Angaben stecken. Hilfreich
sind die Klassen `Win32_ComputerSystem`, `Win32_BIOS`, `Win32_OperatingSystem` und
`Win32_LogicalDisk`. Nutze `Get-Member`, um die Eigenschaften zu finden.
2. **Ein Objekt bauen:** Fasse alles in einem `[PSCustomObject]` zusammen. Rechne Bytes in
Gigabyte um und runde auf eine Nachkommastelle.
3. **Ablegen:** Lies die vorhandene CSV-Datei ein, ersetze die Zeile des eigenen Rechners
oder hänge eine neue an, und schreib die Datei zurück.
4. **Absichern:** Zielpfad als Parameter, Prüfung mit `Test-Path`, Fehlerbehandlung mit
`try`/`catch`.
5. **Dokumentieren:** Hilfeblock oben im Skript, Commits im Repository.
6. **Nachweisen:** Lauf auf drei Rechnern, darunter ein zweiter Lauf auf demselben Rechner.
## Worauf es ankommt
Das Aktualisieren statt Anhängen ist der Teil, an dem die meisten hängen bleiben – und genau
der Teil, der das Skript im Alltag brauchbar macht. Überleg dir vorher, woran du einen
Rechner eindeutig erkennst. Der Rechnername ist es nicht immer; die Seriennummer schon eher.
## Zeit
Zwei Tage. Wenn du nach zwei Stunden nicht weißt, wo eine Angabe steckt, frag nach – das
Suchen in den Klassen gehört zur Übung, das Verzweifeln daran nicht.