PS/ÜBUNGSZETTEL ~/01-grundlagen.ps1 0 / 9 gelöst
PS C:\pollhammer> .\uebungszettel\01-grundlagen.ps1

01 / Grundlagen

Auf diesem Zettel lernst du die absoluten PowerShell-Grundlagen: Befehle nach dem Verb-Nomen-Muster, Variablen, Anführungszeichen, Datentypen und Arrays. Zum Schluss probierst du alles selbst in der Konsole aus.

9 Aufgaben Variablen, Cmdlets & erste Befehle Fortschritt wird gespeichert
man 01-grundlagen — das Wichtigste in Kürze
  • Cmdlets folgen dem Muster Verb-Nomen: Get-Date liest, New-Item erstellt, Remove-Item löscht, Write-Host gibt aus.
  • Variablen beginnen mit $: $name = "Max" — du musst keinen Typ angeben, PowerShell erkennt ihn selbst.
  • Doppelte Anführungszeichen interpolieren: "Hallo $name" wird zu Hallo Max. Einfache nicht: 'Hallo $name' bleibt wörtlich Hallo $name.
  • Wichtige Datentypen: String "Hello", Int 42, Float 3.14, Bool $true/$false, Array @(1,2,3) und $null (nichts).
  • Arrays zählen ab 0: bei $scores = @(95, 87, 76) liefert $scores[0] die 95 — nicht die 87!
  • Get-Help <Cmdlet> zeigt die Hilfe an, mit -Examples bekommst du fertige Beispiel-Aufrufe.
~/uebungen/01-grundlagen.ps1 : aufgabe_01✓ gelöst1 aus N
01Das Verb-Nomen-Muster
PowerShell-Befehle (Cmdlets) folgen dem Muster Verb-Nomen. Welches Verb liest nur Informationen aus, ohne irgendetwas zu verändern?

Get- liest immer nur — es ist deshalb das sicherste Verb zum Ausprobieren, du kannst damit nichts kaputt machen. Set- ändert etwas, New- erstellt etwas Neues und Remove- löscht. Wenn du das Verb kennst, weißt du schon, was ein Befehl grob tut.

~/uebungen/01-grundlagen.ps1 : aufgabe_02✓ gelöstcode vervollständigen
02Hello, World!
Welches Cmdlet aus der Lektion gibt den Text in der Konsole aus? (Tipp: Das Verb ist Write-.)
 "Hello, World!"

Write-Host schreibt Text direkt auf den Bildschirm — der klassische erste Befehl. Auch Write-Output (Aliase: echo, write) würde hier den Text anzeigen; der Unterschied zwischen beiden wird später wichtig.

~/uebungen/01-grundlagen.ps1 : aufgabe_03✓ gelöstoutput vorhersagen
03Variable in der Ausgabe
$name = "Anna"
Write-Host "Hallo $name!"
Was gibt die letzte Zeile aus?

In doppelten Anführungszeichen ersetzt PowerShell $name durch den gespeicherten Wert Anna — das nennt man Interpolation. Das ! gehört nicht mehr zum Variablennamen und wird ganz normal mit ausgegeben.

~/uebungen/01-grundlagen.ps1 : aufgabe_04✓ gelöstoutput vorhersagen
04Die Anführungszeichen-Falle
$city = "Wien"
Write-Host 'Ich wohne in $city'
Was gibt die letzte Zeile aus? (Achte genau auf die Anführungszeichen!)

Das ist die wichtigste Falle der Lektion: EINFACHE Anführungszeichen interpolieren NICHT. $city wird wörtlich ausgegeben, nicht durch Wien ersetzt. Willst du den Wert sehen, brauchst du doppelte Anführungszeichen: "Ich wohne in $city".

~/uebungen/01-grundlagen.ps1 : aufgabe_05✓ gelöstzuordnung
05Datentypen erkennen
Ordne jedem Wert seinen Datentyp zu.
"42"
42
3.14
$true

Aufpassen bei "42": Sobald Anführungszeichen drumherum stehen, ist es ein String (Text) — auch wenn eine Zahl drinsteht! Ohne Anführungszeichen ist 42 ein Integer, 3.14 eine Gleitkommazahl, und $true/$false sind die beiden booleschen Werte.

~/uebungen/01-grundlagen.ps1 : aufgabe_06✓ gelöstcode vervollständigen
06Array-Index
Welche Zahl setzt du in die eckigen Klammern, damit 76 ausgegeben wird?
$scores = @(95, 87, 76, 91)
Write-Host $scores[]

Arrays starten bei Index 0: $scores[0] ist 95, $scores[1] ist 87 — also liefert $scores[2] die 76. Dass das dritte Element den Index 2 hat, ist einer der häufigsten Anfängerfehler überhaupt. (Kleiner Bonus: Auch -2 würde funktionieren — negative Indizes zählen vom Ende des Arrays.)

~/uebungen/01-grundlagen.ps1 : aufgabe_07✓ gelöstmehrfachauswahl
07Wahr oder falsch?
Welche Aussagen über PowerShell stimmen? Kreuze zwei an.

Doppelte Anführungszeichen interpolieren, einfache nicht — genau darum sind die ersten beiden Aussagen richtig und die dritte falsch. $scores[1] ist das ZWEITE Element (Index ab 0!), und Variablen brauchst du in PowerShell nicht zu deklarieren: $x = 5 reicht, der Typ wird automatisch erkannt.

~/uebungen/01-grundlagen.ps1 : aufgabe_08✓ gelöstoutput vorhersagen
08Interpolation rechnet nicht
$a = 5
$b = 3
Write-Host "$a + $b"
Was gibt die letzte Zeile aus?

Interpolation ersetzt nur die Variablen durch ihre Werte — gerechnet wird im String nicht! $a wird zu 5, $b zu 3, das + bleibt einfach Text. Willst du das Ergebnis 8, musst du außerhalb des Strings rechnen, z.B. Write-Host ($a + $b).

~/uebungen/01-grundlagen.ps1 : aufgabe_09✓ gelösthands-on
09Selbst ausprobieren: Ordner erkunden
Öffne eine echte PowerShell und arbeite die Schritte durch:
  1. Öffne PowerShell und lege eine Variable $myFolder mit dem Wert "C:\Windows" an.
  2. Gib mit Write-Host und Interpolation den Satz Mein Ordner ist C:\Windows aus — der Pfad muss dabei aus der Variablen kommen!
  3. Liste den Inhalt des Ordners mit Get-ChildItem auf.
  4. Lass dir zum Schluss Beispiele für ein Cmdlet anzeigen: Get-Help Get-Date -Examples.
$myFolder = "C:\Windows"
Write-Host "Mein Ordner ist $myFolder"
Get-ChildItem $myFolder
Get-Help Get-Date -Examples

Die Variable speicherst du einfach mit = — kein Typ nötig. In den doppelten Anführungszeichen wird $myFolder automatisch durch den Pfad ersetzt. Get-ChildItem (Aliase: gci, dir, ls) listet den Ordnerinhalt, und Get-Help ... -Examples zeigt dir fertige Beispiel-Aufrufe — dein wichtigstes Nachschlage-Werkzeug.