Navigation, Provider und Dateien
- Im Dateisystem navigieren und Provider (Registry, Env, Zertifikate) wie Laufwerke ansprechen
- Dateien und Ordner anlegen, kopieren, verschieben und löschen
- Gefährliche Befehle mit
-WhatIfzuerst testen
Du bewegst dich in PowerShell wie in einem Dateiexplorer, nur mit Befehlen. Das Prinzip gilt nicht nur für Dateien: Auch Registry, Umgebungsvariablen und Zertifikate lassen sich wie Laufwerke ansprechen.
1. Navigation in PowerShell
Abschnitt betitelt „1. Navigation in PowerShell“PowerShell nutzt ein Dateisystem-ähnliches Konzept, um verschiedene Datenquellen zu navigieren. Die grundlegenden Cmdlets zur Navigation sind:
- Get-Location (alias
pwd): Zeigt das aktuelle Verzeichnis bzw. den aktuellen Pfad an. - Set-Location (alias
cd): Wechselt das aktuelle Verzeichnis. - Push-Location & Pop-Location: Erlauben das Speichern und Wiederherstellen von Verzeichnissen.
1.1 Beispiele zur Navigation
Abschnitt betitelt „1.1 Beispiele zur Navigation“# Aktuelles Verzeichnis anzeigenGet-Location
# In ein anderes Verzeichnis wechselnSet-Location C:\Windows
# Aktuelles Verzeichnis speichern und in ein neues wechselnPush-Location C:\Temp
# Zurück zum vorherigen Verzeichnis wechselnPop-Location2. PowerShell-Provider
Abschnitt betitelt „2. PowerShell-Provider“PowerShell-Provider ermöglichen den Zugriff auf verschiedene Datenspeicher, als ob es sich um Dateisysteme handeln würde. Jeder Provider stellt eine eigene “Drive” dar, die den Zugriff auf spezielle Datenquellen vereinfacht.
2.1 Wichtige PowerShell-Provider
Abschnitt betitelt „2.1 Wichtige PowerShell-Provider“- FileSystem: Erlaubt den Zugriff auf das lokale Dateisystem.
- Registry: Ermöglicht den Zugriff auf die Windows-Registry.
- Environment: Zeigt Umgebungsvariablen als virtuelle Verzeichnisstruktur an.
- Certificate: Bietet Zugriff auf Zertifikate (sofern installiert).
Get-PSDrive # alle Laufwerke und Provider-Laufwerke (C:, Env:, HKLM:, Cert: …)2.2 Beispiele für den Zugriff auf verschiedene Provider
Abschnitt betitelt „2.2 Beispiele für den Zugriff auf verschiedene Provider“# Auf das Dateisystem zugreifenSet-Location C:\
# Auf die Windows-Registry zugreifenSet-Location HKLM:\
# Werte eines Registry-Schlüssels lesenGet-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name ProductName
# Umgebungsvariablen anzeigenSet-Location Env:Get-ChildItem
# Auf Zertifikate zugreifen (sofern vorhanden)Set-Location Cert:Get-ChildItem -Recurse3. Dateien und Ordner verwalten
Abschnitt betitelt „3. Dateien und Ordner verwalten“Die gleichen Cmdlets arbeiten mit Dateien, Ordnern, Registry-Schlüsseln und mehr.
| Aktion | Cmdlet | Alias |
|---|---|---|
| Auflisten | Get-ChildItem |
ls, dir |
| Anlegen | New-Item |
|
| Kopieren | Copy-Item |
cp |
| Verschieben/Umbenennen | Move-Item, Rename-Item |
mv |
| Löschen | Remove-Item |
rm |
| Inhalt lesen | Get-Content |
cat |
| Inhalt schreiben | Set-Content, Add-Content |
|
| Existenz prüfen | Test-Path |
# Ordner und Datei anlegenNew-Item -ItemType Directory -Path C:\Kurs\Ausgabe\TestNew-Item -ItemType File -Path C:\Kurs\Ausgabe\Test\hallo.txtSet-Content -Path C:\Kurs\Ausgabe\Test\hallo.txt -Value "Hallo PowerShell"Get-Content C:\Kurs\Ausgabe\Test\hallo.txt
# Existiert der Pfad?Test-Path C:\Kurs\Ausgabe\TestSicher löschen: -WhatIf und -Confirm
Abschnitt betitelt „Sicher löschen: -WhatIf und -Confirm“Cmdlets, die etwas verändern, kennen -WhatIf. PowerShell zeigt dann nur, was passieren würde.
Remove-Item C:\Kurs\Ausgabe\Test -Recurse -WhatIfMit -Confirm fragt PowerShell vor jedem Schritt nach. Gewöhne dir an, zerstörerische Befehle zuerst mit -WhatIf zu testen.
4. Zusammenfassung
Abschnitt betitelt „4. Zusammenfassung“- Navigation:
Get-Location,Set-Location,Push-Location,Pop-Location. - Provider: FileSystem, Registry, Environment und Certificate sind wie Laufwerke ansprechbar.
- Dateien:
New-Item,Copy-Item,Move-Item,Remove-Item,Get-Content,Set-Content. - Sicherheit: Verändernde Befehle zuerst mit
-WhatIftesten.