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.




Inhaltsverzeichnis