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>
87 lines
3.8 KiB
YAML
87 lines
3.8 KiB
YAML
id: woche-07
|
||
woche: 7
|
||
titel: Lernzielkontrolle Woche 7 – Skripting mit PowerShell
|
||
dauer_minuten: 45
|
||
hinweis: >-
|
||
Offene Fragen. Bei Code zählt, dass er funktionieren würde – Schreibweise von
|
||
Groß- und Kleinbuchstaben und kleine Tippfehler werden nicht abgezogen.
|
||
|
||
fragen:
|
||
- id: f1
|
||
frage: >-
|
||
Erklären Sie, was in der PowerShell-Pipeline von Befehl zu Befehl
|
||
weitergereicht wird, und welchen Vorteil das gegenüber einer Shell hat,
|
||
die Text weiterreicht.
|
||
punkte: 5
|
||
musterloesung: >-
|
||
Weitergereicht werden Objekte mit Eigenschaften und Methoden, keine
|
||
Textzeilen. Der nächste Befehl kann direkt auf Eigenschaften wie Status,
|
||
Name oder Größe zugreifen, nach ihnen filtern und sortieren. Bei einer
|
||
Textshell müsste man die gewünschte Angabe erst aus der Zeile
|
||
herausschneiden; ändert sich das Ausgabeformat, bricht das Skript.
|
||
(Objekte 2 P., Vorteil mit Begründung 3 P.)
|
||
|
||
- id: f2
|
||
frage: >-
|
||
Schreiben Sie eine Befehlszeile, die die zehn größten Dateien im Ordner
|
||
D:\Daten (ohne Unterordner) mit Name und Größe anzeigt, die größte zuerst.
|
||
punkte: 6
|
||
musterloesung: >-
|
||
Get-ChildItem D:\Daten -File | Sort-Object Length -Descending |
|
||
Select-Object -First 10 Name, Length. Bewertung: Dateien des Ordners
|
||
abrufen (2 P.), absteigend nach Length sortieren (2 P.), auf zehn
|
||
begrenzen und die Eigenschaften auswählen (2 P.). Der Schalter -File ist
|
||
wünschenswert, aber nicht gefordert.
|
||
|
||
- id: f3
|
||
frage: >-
|
||
Was gibt das folgende Skript aus? Begründen Sie.
|
||
$liste = @(3, 8, 12, 5);
|
||
$treffer = 0;
|
||
foreach ($zahl in $liste) { if ($zahl -gt 4) { $treffer++ } };
|
||
$treffer
|
||
punkte: 4
|
||
musterloesung: >-
|
||
Ausgabe: 3. Die Schleife geht alle vier Zahlen durch; die Bedingung ist
|
||
bei 8, 12 und 5 erfüllt, nicht bei 3. Bei jedem Treffer wird der Zähler
|
||
um eins erhöht. (Ergebnis 2 P., Begründung 2 P.)
|
||
|
||
- id: f4
|
||
frage: >-
|
||
Erklären Sie den Unterschied zwischen -eq, -like und -match an je einem
|
||
Beispiel.
|
||
punkte: 6
|
||
musterloesung: >-
|
||
-eq vergleicht auf Gleichheit: 'PC-001' -eq 'pc-001' ist wahr, weil
|
||
Groß- und Kleinschreibung keine Rolle spielt. -like vergleicht mit
|
||
Platzhaltern: 'PC-001' -like 'PC-*' ist wahr. -match prüft gegen einen
|
||
regulären Ausdruck: 'PC-001' -match '^PC-\d{3}$' ist wahr, weil auf
|
||
"PC-" genau drei Ziffern folgen. (Je Operator mit Beispiel 2 P.)
|
||
|
||
- id: f5
|
||
frage: >-
|
||
Ein Skript soll alte Benutzerprofile löschen. Was tun Sie, bevor Sie es
|
||
auf allen Rechnern ausführen? Nennen Sie drei Schritte.
|
||
punkte: 6
|
||
musterloesung: >-
|
||
(1) Mit -WhatIf laufen lassen und prüfen, welche Profile betroffen wären.
|
||
(2) Zuerst an einem Testrechner, dann an einem einzelnen echten Rechner
|
||
ausführen und das Ergebnis kontrollieren. (3) Sicherstellen, dass eine
|
||
aktuelle Sicherung der betroffenen Daten vorliegt. Ebenfalls richtig:
|
||
Änderung ankündigen bzw. als Änderungsanfrage freigeben lassen, Protokoll
|
||
der gelöschten Profile schreiben, Ausschlussliste für Dienst- und
|
||
Administratorkonten einbauen. (Je Schritt 2 P.)
|
||
|
||
- id: f6
|
||
frage: >-
|
||
Im folgenden Ausschnitt wird ein Fehler beim Kopieren nicht vom
|
||
catch-Block aufgefangen. Warum, und wie beheben Sie das?
|
||
try { Copy-Item \\server\vorlagen\*.docx C:\Vorlagen } catch { Write-Warning 'Kopieren fehlgeschlagen' }
|
||
punkte: 5
|
||
musterloesung: >-
|
||
Copy-Item meldet die meisten Fehler als nicht abbrechende Fehler: Er gibt
|
||
eine Fehlermeldung aus und läuft weiter, der catch-Block wird nicht
|
||
erreicht. Abhilfe: -ErrorAction Stop an den Befehl anhängen, dann wird der
|
||
Fehler zu einem abbrechenden Fehler und vom catch-Block aufgefangen.
|
||
(Ursache 3 P., Behebung 2 P.)
|