PowerShell Trainer – Fragen und Antworten zu Parametern
Dieser Trainer wiederholt die wichtigsten Prüfungs- und Praxisbegriffe zu
PowerShell-Parametern, benannten Parametern,
Parameter-Dekoratoren, Aliasen,
Switch-Parametern, ValidateSet,
Dot-Sourcing und der Funktion check-userprofile.
Erst selbst antworten, dann prüfen oder Lösung anzeigen.
1. Grundlagen
Frage 1: Was ist ein Parameter in PowerShell?
Ein Parameter ist eine Zusatzangabe zu einem PowerShell-Befehl, Skript oder einer Funktion.
Er steuert genauer, was der Befehl tun soll oder worauf er angewendet wird.
Get-Service -Name "Spooler"
Hier ist -Name der Parameter.
Frage 2: Was ist ein Parameterwert?
Der Parameterwert ist der konkrete Wert, der einem Parameter übergeben wird.
Get-Service -Name "Spooler"
Hier ist "Spooler" der Parameterwert.
Frage 3: Was ist ein benannter Parameter?
Ein benannter Parameter wird beim Aufruf mit seinem Parameternamen angegeben.
check-userprofile -name "Felix"
Hier ist -name ein benannter Parameter.
Frage 4: Was ist ein positioneller Parameter?
Ein positioneller Parameter kann ohne Parameternamen übergeben werden.
PowerShell erkennt ihn anhand seiner Position.
check-userprofile "Felix"
Das funktioniert, wenn der Parameter mit Position = 0 definiert wurde.
2. param()-Block und Parameter-Dekorator
Frage 5: Wofür verwendet man den param()-Block?
Mit param() definiert man eigene Parameter für ein PowerShell-Skript oder eine Funktion.
param(
[string]$name
)
Frage 6: Was macht [Parameter(Mandatory = $true)]?
Dieser Parameter-Dekorator macht einen Parameter verpflichtend.
Wenn der Wert fehlt, fragt PowerShell danach.
[Parameter(Mandatory = $true)]
[string]$name
Frage 7: Was macht Position = 0?
Position = 0 bedeutet, dass der Parameter an erster Stelle nach dem Funktionsnamen stehen darf.
check-userprofile "Felix"
Der Wert "Felix" wird dann automatisch dem Parameter $name zugeordnet.
Frage 8: Ergänze den Pflichtparameter $name mit Position 0.
Frage 19: Was bedeutet Dot-Sourcing in PowerShell?
Beim Dot-Sourcing wird ein Skript in die aktuelle PowerShell-Sitzung geladen.
Dadurch stehen die darin enthaltenen Funktionen danach direkt zur Verfügung.
. .\check-userprofile.ps1
Wichtig: Punkt, Leerzeichen, Skriptpfad.
Frage 20: Wie bindet man das Skript check-userprofile.ps1 per Dot-Sourcing ein?
. .\check-userprofile.ps1
Vor dem Skriptpfad steht ein Punkt und danach ein Leerzeichen.
7. Userprofile-Aufgabe
Frage 21: Welche WMI-Klasse wird verwendet, um lokale Benutzerprofile zu ermitteln?
Die Klasse lautet:
Win32_UserProfile
Beispiel:
Get-WmiObject Win32_UserProfile
Frage 22: In welcher Eigenschaft steht der lokale Profilpfad?
Der lokale Profilpfad steht in der Eigenschaft:
LocalPath
Frage 23: Welcher Befehl ermittelt alle Dateien rekursiv im Home-Verzeichnis?