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>
4.0 KiB
id, titel, block, woche, worum, rahmenplan, lernfeld, merksatz, karten
| id | titel | block | woche | worum | rahmenplan | lernfeld | merksatz | karten | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P1 | PowerShell – Befehle, Pipeline und Objekte | programmierung | 7 | PowerShell reicht keine Texte weiter, sondern Objekte mit Eigenschaften. Wer das verstanden hat, braucht kein Textschnipseln mehr. |
|
LF5 | Verb-Substantiv finden, Get-Member fragen, filtern, sortieren, auswählen – formatiert wird erst ganz am Ende. |
|
Das Wesentliche
- Verb-Substantiv:
Get-Service,Get-Process,Get-ChildItem,Stop-Service. Die Verben sind festgelegt –Getliest,Setändert,Newlegt an,Removelöscht. - Selbst finden statt googeln:
Get-Command *service*findet Befehle,Get-Help Get-Service -Exampleszeigt Beispiele. EinmalUpdate-Helpals Administrator. - Objekte statt Text.
Get-Serviceliefert Dienstobjekte mit Eigenschaften wieName,StatusundStartType. Welche es gibt, verrätGet-Service | Get-Member. - Die vier Werkzeuge der Pipeline:
Where-Objectfiltert:Where-Object Status -eq 'Stopped'Sort-Objectsortiert:Sort-Object NameSelect-Objectwählt Eigenschaften oder Anzahl:Select-Object Name, Status -First 10ForEach-Objecttut etwas mit jedem Objekt
- Vergleiche heißen
-eq,-ne,-gt,-lt,-like(mit*als Platzhalter) und-match(regulärer Ausdruck). Groß- und Kleinschreibung spielt dabei keine Rolle. - Ausgeben und weitergeben:
Export-Csvschreibt eine Tabelle für Excel,Out-Fileeine Textdatei.Format-Tablegehört nur ans Ende – danach sind es keine verwertbaren Objekte mehr. - Erst lesen, dann ändern. Jeder Befehl, der etwas verändert, kennt
-WhatIf: Er sagt, was er tun würde, und tut es nicht.
Übersicht
# Alle beendeten Dienste, die automatisch starten sollten
Get-Service |
Where-Object { $_.Status -eq 'Stopped' -and $_.StartType -eq 'Automatic' } |
Sort-Object Name |
Select-Object Name, DisplayName
# Die fünf Prozesse mit dem höchsten Speicherverbrauch
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 5 Name, Id, WorkingSet
# Dateien im Downloadordner, älter als 90 Tage, als Tabelle für Excel
Get-ChildItem $HOME\Downloads -File |
Where-Object LastWriteTime -lt (Get-Date).AddDays(-90) |
Select-Object Name, Length, LastWriteTime |
Export-Csv alte-downloads.csv -NoTypeInformation -Encoding UTF8
$_ steht innerhalb der geschweiften Klammern für das Objekt, das gerade durch die Pipeline
kommt.
Prüfungsfrage
Frage: Schreiben Sie eine PowerShell-Befehlszeile, die alle laufenden Dienste
alphabetisch sortiert mit Name und Anzeigename in die Datei dienste.csv schreibt, und
erklären Sie jeden Teil.
Antwort:
Get-Service | Where-Object Status -eq 'Running' | Sort-Object Name | Select-Object Name, DisplayName | Export-Csv dienste.csv -NoTypeInformation
– Get-Service liefert alle Dienste als Objekte. Where-Object lässt nur die durch, deren
Eigenschaft Status den Wert Running hat. Sort-Object Name sortiert nach dem Namen.
Select-Object behält nur die beiden gewünschten Eigenschaften. Export-Csv schreibt das
Ergebnis als Tabelle; -NoTypeInformation unterdrückt die Typzeile, die ältere
PowerShell-Fassungen sonst an den Anfang setzen.