Beispiele für Drives¶
Neues Drive erstellen:
New-PSDrive -Name Skripte -PSProvider FileSystem -Root "E:\ps-skripte"
gerne auch für Registry:
New-PSDrive -Name SoftwareUninstall -PSProvider Registry -Root HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
oder für fehlende Registry-Keys (hier HKCR):
New-PSDrive -Name HKCR -PSProvider Registry -Root "REGISTRY::HKEY_CLASSES_ROOT\"
so erhält man:
PS E:\_temp> Get-PSProvider -PSProvider Registry
Name Capabilities Drives
---- ------------ ------
Registry ShouldProcess, Transactions {HKLM, HKCU, HKCR}
PS E:\_temp> Get-PSDrive -PSProvider Registry
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
HKCR Registry HKEY_CLASSES_ROOT\
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Entfernen mit
Remove-PSDrive -Name Skripte
Tipp
zur Übung für den Skriptordner ein Laufwerk erstellen!
in Laufwerk Function: arbeiten
mkdir Testing # function!
Get-Content Function:\mkdir
Resolving Paths - Datei sollte existieren, sonst Fehler
Resolve-Path .\file.txt
Fehler unterdrücken
Resolve-Path .\file.txt -ErrorAction SilentlyContinue
Resolve-Path .\file.txt –ea 0 # Kurzform – Tipp:vermeiden
Pfad erzeugen, ob existent oder auch nicht!
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(‘.\file.txt’)
Nur Dateien oder Ordner anzeigen lassen:
Get-ChildItem $env:windir | Where-Object { $_.PSIsContainer -eq $true } # Directory
Get-ChildItem $env:windir | Where-Object { $_.PSIsContainer -eq $false } # File
ab PowerShell 3.0
Get-ChildItem $env:windir -Directory
Get-ChildItem $env:windir -File
Desktop Ordner „finden“
[Environment]::GetFolderPath('Desktop')
Folder anzeigen für GetFolderPath:
[System.Enum]::GetNames([System.Environment+SpecialFolder])
das führt zu:
[Environment]::GetFolderPath('Cookies')