Ein Windows PowerShell-Laufwerk bildet einen Datenspeicherort, auf den Sie in Windows PowerShell wie auf ein Dateisystemlaufwerk zugreifen können. Von den Windows PowerShell-Anbietern werden einige Laufwerke automatisch erstellt, z. B. die Dateisystemlaufwerke (u. a. "C:" und "D:"), die Registrierungslaufwerke "HKCU:" und "HKLM:") sowie das Zertifikatlaufwerk ("Cert:"). Sie können auch eigene Windows PowerShell-Laufwerke erstellen. Diese Laufwerke sind sehr hilfreich, aber ausschließlich in Windows PowerShell verfügbar. Sie können darauf nicht mit anderen Windows-Tools wie Windows Explorer oder "Cmd.exe" zugreifen.
In Windows PowerShell wird das Substantiv PSDrive für Befehle für Windows PowerShell-Laufwerke verwendet. Eine Liste der Windows PowerShell-Laufwerke in einer Windows PowerShell-Sitzung erhalten Sie mit dem Cmdlet Get-PSDrive.
PS> Get-PSDrive Name Provider Root CurrentLocation ---- -------- ---- --------------- A FileSystem A:\ Alias Alias C FileSystem C:\ ...And Settings\me cert Certificate \ D FileSystem D:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable
Zwar können die hier gezeigten Laufwerke von den Laufwerken Ihres Systems abweichen, doch ähnelt die Liste der oben gezeigten Ausgabe für den Befehl Get-PSDrive.
Dateisystemlaufwerke sind eine Teilmenge der Windows PowerShell-Laufwerke. Sie erkennen Dateisystemlaufwerke am Eintrag "FileSystem" in der Spalte "Provider". (Die Dateisystemlaufwerke in Windows PowerShell werden vom Windows PowerShell-Anbieter "FileSystem" unterstützt.)
Die Syntax des Cmdlet Get-PSDrive zeigen Sie mit dem Befehl Get-Command und dem Syntax-Parameter an:
PS> Get-Command -Name Get-PSDrive -Syntax Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [- OutVariable <String>] [-OutBuffer <Int32>]
Der PSProvider-Parameter ermöglicht die Anzeige der von einem bestimmten Anbieter unterstützten Windows PowerShell-Laufwerke. Wenn Sie z. B. nur die Windows PowerShell-Laufwerke anzeigen möchten, die vom Windows PowerShell-Dateisystemanbieter unterstützt werden, geben Sie den Befehl Get-PSDrive mit dem PSProvider-Parameter und dem Wert FileSystem ein:
PS> Get-PSDrive -PSProvider FileSystem Name Provider Root CurrentLocation ---- -------- ---- --------------- A FileSystem A:\ C FileSystem C:\ ...nd Settings\PowerUser D FileSystem D:\
Zum Anzeigen der Windows PowerShell-Laufwerke, die Registrierungsstrukturen darstellen, verwenden Sie den PSProvider-Parameter, um nur die Windows PowerShell-Laufwerke anzuzeigen, die vom Windows PowerShell-Registrierungsanbieter unterstützt werden:
PS> Get-PSDrive -PSProvider Registry
Name Provider Root CurrentLocation
---- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Sie können auch die Standard-Location-Cmdlets für Windows PowerShell-Laufwerke verwenden:
PS> Set-Location HKLM:\SOFTWARE
PS> Push-Location .\Microsoft
PS> Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft
Hinzufügen neuer Windows PowerShell-Laufwerke (New-PSDrive)
Mit dem Befehl New-PSDrive können Sie eigene Windows PowerShell-Laufwerke hinzufügen. Die Syntax für den Befehl New-PSDrive rufen Sie mit dem Befehl Get-Command und dem Syntax-Parameter ab:
PS> Get-Command -Name New-PSDrive -Syntax New-PSDrive [-Name] <String> [-PSProvider] <String> [-Root] <String> [-Descript ion <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug ] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St ring>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]
Zum Erstellen eines neuen Windows PowerShell-Laufwerks müssen Sie drei Parameter angeben:
-
Einen Namen für das Laufwerk (Sie können beliebige gültige Windows PowerShell-Namen verwenden)
-
Den PSProvider (verwenden Sie "FileSystem" für Dateisystemspeicherorte und "Registry" für Registrierungsspeicherorte)
-
Das Stammverzeichnis, d. h. den Pfad zum Stammverzeichnis des neuen Laufwerks
Sie können z. B. das Laufwerk "Office" erstellen, das dem Ordner mit den Microsoft Office-Anwendungen auf dem Computer zugeordnet ist, z. B. C:\Program Files\Microsoft Office\OFFICE11. Geben Sie zum Erstellen des Laufwerks folgenden Befehl ein:
PS> New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Micr osoft Office\OFFICE11" Name Provider Root CurrentLocation ---- -------- ---- --------------- Office FileSystem C:\Program Files\Microsoft Offic...
Hinweis: | |
Im Allgemeinen wird bei Pfaden die Groß- und Kleinschreibung nicht berücksichtigt. |
Auf das neue Windows PowerShell-Laufwerk verweisen Sie wie auf alle Windows PowerShell-Laufwerke, d. h. über den Namen, gefolgt von einem Doppelpunkt (:).
Windows PowerShell-Laufwerke können viele Aufgaben vereinfachen. Einige der wichtigsten Schlüssel in der Windows-Registrierung haben sehr lange Pfade, wodurch der Zugriff umständlich und schwer zu erinnern ist. Wichtige Konfigurationsinformationen sind unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion gespeichert. Zum Anzeigen und Ändern von Elementen im Registrierungsschlüssel "CurrentVersion" können Sie ein Windows PowerShell-Laufwerk erstellen, dessen Stammverzeichnis dieser Schlüssel ist, indem Sie Folgendes eingeben:
PS> New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\W
indows\CurrentVersion
Name Provider Root CurrentLocation
---- -------- ---- ---------------
cvkey Registry HKLM\Software\Microsoft\Windows\...
Den Speicherort des Laufwerks cvkey: können Sie anschließend wie bei jedem anderen Laufwerk ändern:
PS> cd cvkey:
oder:
PS> Set-Location cvkey: -PassThru
Path
----
cvkey:\
Das Cmdlet "New-PsDrive" fügt das neue Laufwerk nur der aktuellen Windows PowerShell-Sitzung hinzu. Wenn Sie das Windows PowerShell-Fenster schließen, geht das neue Laufwerk verloren. Wenn Sie ein Windows PowerShell-Laufwerk speichern möchten, exportieren Sie die aktuelle Windows PowerShell-Sitzung mit dem Cmdlet "Export-Console". Verwenden Sie anschließend den PSConsoleFile-Parameter von "PowerShell.exe", um die Sitzung zu importieren. Sie können das neue Laufwerk auch im Windows PowerShell-Profil hinzufügen.
Entfernen von Windows PowerShell-Laufwerken (Remove-PSDrive)
Mit dem Cmdlet Remove-PSDrive können Sie Laufwerke in Windows PowerShell entfernen. Die Verwendung des Cmdlet Remove-PSDrive ist ganz einfach. Geben Sie zum Entfernen eines bestimmten Windows PowerShell-Laufwerks einfach dessen Laufwerknamen an.
Wenn Sie z. B., wie im Thema zu New-PSDrive gezeigt, das Windows PowerShell-Laufwerk Office: hinzugefügt haben, können Sie es folgendermaßen löschen:
PS> Remove-PSDrive -Name Office
Zum Löschen des Windows PowerShell-Laufwerks cvkey:, das ebenfalls im Thema zu New-PSDrive verwendet wurde, geben Sie folgenden Befehl ein:
PS> Remove-PSDrive -Name cvkey
Das Löschen eines Windows PowerShell-Laufwerks ist sehr einfach, aber nur möglich, wenn Sie derzeit nicht auf dieses Laufwerk zugreifen. Beispiel:
PS> cd office: PS Office:\> remove-psdrive -name office Remove-PSDrive : Cannot remove drive 'Office' because it is in use. At line:1 char:15 + remove-psdrive <<<< -name office
Hinzufügen und Entfernen von Laufwerken außerhalb von Windows PowerShell
Windows PowerShell erkennt Dateisystemlaufwerke, die in Windows hinzugefügt oder entfernt werden. Dazu gehören auch verbundene Netzwerklaufwerke, angeschlossene USB-Laufwerke sowie Laufwerke, die mit dem Befehl net use, der MapNetworkDrive-Methode oder der RemoveNetworkDrive-Methode von WScript.Network in einem WSH-Skript (Windows Script Host) entfernt werden.