🔷 PowerShell 7+ Essentials

PS 01: Cmdlet-Architektur & Verb-Noun Syntax

Lerne die Anatomie moderner PowerShell Cmdlets, das Verb-Noun Paradigma, Approved Verbs und Cmdlet-Discovery mit Get-Command und Get-Help.

💡 1. Das Verb-Noun Prinzip & PowerShell 7+ Core

PowerShell unterscheidet sich fundamental von klassischen Unix-Shells oder der Windows Eingabeaufforderung. Befehle heißen Cmdlets (ausgesprochen: Command-lets) und folgen strikt der Verb-Noun Syntax (Verb-Substantiv in Einzahl):

# Standard Verb-Noun Syntax:
Get-Process          # Verb: Get (Holen), Noun: Process (Einzahl!)
Stop-Service         # Verb: Stop, Noun: Service
New-Item             # Verb: New, Noun: Item
Set-Content          # Verb: Set, Noun: Content
Test-Path            # Verb: Test, Noun: Path
🚦 Didaktische Analogie: Sprache der Befehle

Stell dir PowerShell wie eine standardisierte Grammatik vor: Das Verb beschreibt immer die Aktion (Was soll getan werden?), das Noun beschreibt das Zielobjekt (Worauf wird die Aktion angewendet?). Da das Noun immer im Singular steht, musst du dir nie merken, ob ein Befehl Get-Processes oder Get-Process heißt – es ist immer Singular!

🛡️ 2. Microsoft Approved Verbs (Genehmigte Verben)

Microsoft definiert feste Verb-Kategorien zur Wahrung von Konsistenz über alle Module hinweg. Mit Get-Verb kannst du alle standardisierten Verben abrufen:

Gruppe Verben Bedeutung
Common Get, Set, New, Remove Standard CRUD-Operationen
Data Select, Group, Import, Export, Convert Datenverarbeitung und -transformation
Lifecycle Start, Stop, Restart, Suspend, Resume Zustandsänderungen von Diensten / Prozessen
Diagnostic Test, Debug, Measure, Trace Überprüfung und Diagnose

🔍 3. Cmdlet-Discovery & Parameter-Arten

PowerShell bietet eine unübertroffene Selbst-Dokumentation (Self-Discovery) direkt in der Konsole:

# 1. Befehle finden nach Verb oder Noun:
Get-Command -Noun Service
Get-Command -Verb Get -Module Microsoft.PowerShell.Management

# 2. Hilfe und Beispiele abrufen:
Get-Help Get-Process -Examples
Get-Help Get-Service -Detailed

# 3. Parameter-Typen:
# - Benannter Parameter:  Get-Process -Name "pwsh"
# - Positionaler Parameter: Get-Process "pwsh"
# - Switch Parameter:     Get-ChildItem -Recurse

📑 4. Cheat-Sheet: Cmdlet-Architektur

Cmdlet / Konzept Syntax-Beispiel Beschreibung
Get-Command Get-Command *-Item* Durchsucht alle installierten Module nach Cmdlets, Aliasen & Funktionen.
Get-Help Get-Help Select-Object -Online Zeigt Parameter, Syntax, Beschreibungen und Best-Practice Beispiele an.
Get-Verb Get-Verb | Where-Object Group -eq 'Data' Listet alle offiziell von Microsoft zugelassenen Verben auf.
Switch Parameter Get-ChildItem -Force Boolescher Schalter ohne Argument (-Force:$true).

🎯 Aufgaben & Checkliste in aufgabe.ps1

💡 Didaktischer Tipp

Nutze den String-Operator -split '-' zum Zerlegen von Cmdlet-Namen und den -contains bzw. -in Operator zur Überprüfung genehmigter Verben!

💻 In Web-IDE öffnen → Weiter zu PS 02 →