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>
51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
---
|
||
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.
|