Kommandos 101

Die Konsolenumgebung der PowerShell

  • Größe/Aussehen/Fonts für PowerShell-Fenster über Eigenschaften

  • STRG + C kann Befehlsausführung unterbrechen

  • Nutzen der Zwischenablage mit Shortcuts Strg + C/V und Co

Anm.: PowerShell 5.0 kopiert leicht anders als Version 5.1 - in Clipboard/Zwischenablage übertragen mit einfachem Enter

  • Letzte Befehle mit Cursortasten

  • nur in „alten“ PowerShells: letzter Befehl mit F3 oder mit F7 Befehlschronikfenster)

  • Konsolen im Kommandomodus („1-zeilig“) vs. Interpretermodus („mehrzeilig mit Eingaben“)

  • Beispiel für Interpretermodus: Get-EventLog

  • ESC löscht Zeile

  • Strg + L löscht Konsole (PSReadline: Linux Bash lässt grüßen)

  • PSReadline: (wichtiges Standard-Modul in aktuellen PowerShells)

Viele der modernen Eigenschaften werden also durch das Standard-Modul PSReadline bereitgestellt!

  • Copy/Paste, Strg + L (Konsole leeren)

  • besserer Mehrzeilenmodus

  • Strg + Leertaste für Vorschläge

  • Prompt mit rotem > bei fehlerhaften oder unvollständigen Eingaben

  • belegbare Tastenkombination

    (siehe cmdlet Get-PSReadlineKeyHandler bzw. das Pendant Set-PSReadlineKeyHandler)

  • Strg + r / Strg + s für Zurück/Vorwärts- Suche in History

Erste Aufrufe

Wchtig: Rechte beachten (Admin vs. Standardbenutzer):

whoami /all     („Wer bin ich?“ mit ausführlichen Infos)

Interaktive Aufrufe: (siehe „Interpretermodus“):

Get-Process
Get-EventLog

Get-EventLog hat dann Nachfrage zu Parameter: z.B. Application, System, …

Parameter - und einfache Parameter-Switches nutzen. Alle Aufrufe gleich – aber: im ersten Beispiel die Reihenfolge (Position) entscheidend!

Bitte ausführliche Hilfe analysieren mittels Get-Help Get-Childitem –Full (Position?):

Get-ChildItem C:\temp *.txt
Get-ChildItem -Path C:\temp -Filter *.txt
Get-ChildItem -Filter *.txt -Path C:\temp

Aufrufe mit Wildcards:

Get-Process i*
Get-Process i*ore
Get-Process [st]*
Get-Process [st][vf]*

Switch (Schalter):

Get-ChildItem C:\temp -recurse
Get-ChildItem C:\temp -recurse:$false
# Anm.: Schalter deaktivieren mit $false

Allgemeine Parameter: -Force, -Whatif, -Confirm, …

Anm.: Leider manchmal unterschiedliche Nutzung:

Parameter -confirm:$false vs. Parameter -force (bei Skripten mit Remove-ADUser vs. Remove-SmbShare)

Aufrufe zusammensetzen (später sinnvoll mit Variablen in Skripten):

Get-ChildItem ("c:\" + "Windows") *.dll –Recurse

Mehrere Befehle pro Zeile (; kann auch jede Zeile abschließen):

Get-Process ; Get-Service

PowerShell-Aufruf über mehrere interaktive PowerShell-Zeilen:

  • einfach nach dem Pipe-Symbol | Return drücken, (Anm.: PSReadline Unterstützung)

  • oder manuell mit Gravis (Alt 96 – Backtick – Umschalten Hochkomma links neben Backspace) in die nächste Zeile wechseln.