Freigeben über


Get-PSDrive

Ruft Laufwerke in der aktuellen Sitzung ab.

Syntax

Get-PSDrive
   [[-Name] <String[]>]
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]
Get-PSDrive
   [-LiteralName] <String[]>
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]

Beschreibung

Das Get-PSDrive Cmdlet ruft die Laufwerke in der aktuellen Sitzung ab. Sie können ein bestimmtes Laufwerk oder alle Laufwerke in der Sitzung abrufen.

Dieses Cmdlet ruft die folgenden Typen von Laufwerken ab:

  • Logische Windows-Laufwerke auf dem Computer, einschließlich Laufwerken, die Netzwerkfreigaben zugeordnet sind.
  • Laufwerke, die von PowerShell-Anbietern (z. B. Zertifikat:, Funktion und Alias: Laufwerke) und hkLM: und HKCU: verfügbar gemacht werden, die vom Windows PowerShell-Registrierungsanbieter verfügbar gemacht werden.
  • Sitzungsspezifische temporäre Laufwerke und persistent zugeordnete Netzwerklaufwerke, die Sie mithilfe des New-PSDrive-Cmdlets erstellen.

Ab Windows PowerShell 3.0 kann der Parameter "Persist" des New-PSDrive Cmdlets zugeordnete Netzwerklaufwerke erstellen, die auf dem lokalen Computer gespeichert sind und in anderen Sitzungen verfügbar sind. Weitere Informationen finden Sie unter New-PSDrive.

Ab Windows PowerShell 3.0 wird beim Herstellen einer Verbindung zwischen einem externen Laufwerk und dem Computer außerdem von Windows PowerShell automatisch ein PowerShell-Laufwerk (PSDrive) zum Dateisystem hinzugefügt, das das neue Laufwerk darstellt. Windows PowerShell muss nicht neu gestartet werden. Ebenso wird beim Trennen der Verbindung zwischen einem externen Laufwerk und dem Computer das PSDrive, das das entfernte Laufwerk darstellt, von Windows PowerShell automatisch gelöscht.

Beispiele

Beispiel 1: Abrufen von Laufwerken in der aktuellen Sitzung

PS C:\> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
Alias                                  Alias
C                 202.06      23718.91 FileSystem    C:\
Cert                                   Certificate   \
D                1211.06     123642.32 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable

Dieser Befehl ruft die Laufwerke in der aktuellen Sitzung ab.

Die Ausgabe zeigt die Festplatte (C:), das CD-ROM-Laufwerk (D:) und die Laufwerke an, die von den Windows PowerShell-Anbietern (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:, and Variable:) verfügbar gemacht werden.

Beispiel 2: Abrufen eines Laufwerks auf dem Computer

PS C:\foo> Get-PSDrive D

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
D                1211.06     123642.32 FileSystem    D:\

Mit diesem Befehl wird das Laufwerk %%amp;quot;D:%%amp;quot; auf dem Computer abgerufen. Achten Sie darauf, dass im Befehl nach dem Laufwerkbuchstaben kein Doppelpunkt folgt.

Beispiel 3: Abrufen aller Laufwerke, die vom Windows PowerShell-Dateisystemanbieter unterstützt werden

PS C:\> Get-PSDrive -PSProvider FileSystem
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
A                                                    A:\
C                 202.06      23718.91 FileSystem    C:\
D                1211.06     123642.32 FileSystem    D:\
G                 202.06        710.91 FileSystem    \\Music\GratefulDead

Dieser Befehl ruft alle Laufwerke ab, die vom Windows PowerShell-FileSystem-Anbieter unterstützt werden. Dazu gehören Feste Laufwerke, logische Partitionen, zugeordnete Netzwerklaufwerke und temporäre Laufwerke, die Sie mithilfe des New-PSDrive-Cmdlets erstellen.

Beispiel 4: Überprüfen, ob ein Laufwerk als Windows PowerShell-Laufwerkname verwendet wird

if (Get-PSDrive X -ErrorAction SilentlyContinue) {
    Write-Host 'The X: drive is already in use.'
} else {
    New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}

Dieser Befehl überprüft, ob das Laufwerk %%amp;quot;X%%amp;quot; bereits als Windows PowerShell-Laufwerkname verwendet wird. Ist dies nicht der Fehler, verwendet der Befehl das New-PSDrive Cmdlet, um ein temporäres Laufwerk zu erstellen, das dem HKLM:\SOFTWARE-Registrierungsschlüssel zugeordnet ist.

Beispiel 5: Vergleichen der Typen von Dateisystemlaufwerken

PS C:\> Get-PSDrive -PSProvider FileSystem
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
A                                                    A:\
C                 202.06      23718.91 FileSystem    C:\
D                1211.06     123642.32 FileSystem    D:\
G                 202.06        710.91 FileSystem    \\Music\GratefulDead
X                                      Registry      HKLM:\Network

PS C:\> net use
New connections will be remembered.
Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK           G:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives() | Format-Table
Name DriveType DriveFormat IsReady AvailableFreeSpace TotalFreeSpace TotalSize     RootDirectory VolumeLabel
---- --------- ----------- ------- ------------------ -------------- ---------     ------------- -----------
A:\    Network               False                                                 A:\
C:\      Fixed NTFS          True  771920580608       771920580608   988877418496  C:\           Windows
D:\      Fixed NTFS          True  689684144128       689684144128   1990045179904 D:\           Big Drive
E:\      CDRom               False                                                 E:\
G:\    Network NTFS          True      69120000           69120000       104853504 G:\           GratefulDead

PS N:\> Get-CimInstance -Class Win32_LogicalDisk

DeviceID DriveType ProviderName   VolumeName         Size          FreeSpace
-------- --------- ------------   ----------         ----          ---------
A:       4
C:       3                        Windows            988877418496  771926069248
D:       3                        Big!              1990045179904  689684144128
E:       5
G:       4         \\Music\GratefulDead              988877418496  771926069248


PS C:\> Get-CimInstance -Class Win32_NetworkConnection
LocalName RemoteName            ConnectionState Status
--------- ----------            --------------- ------
G:        \\Music\GratefulDead  Connected       OK

In diesem Beispiel werden die Typen von Dateisystemlaufwerken verglichen, die Get-PSDrive mit anderen Methoden angezeigt werden. In diesem Beispiel werden verschiedene Möglichkeiten zum Anzeigen von Laufwerken in Windows PowerShell veranschaulicht, und es wird gezeigt, dass sitzungsspezifische Laufwerke, die mit dem New-PSDrive-Cmdlet erstellt wurden, nur in Windows PowerShell zugänglich sind.

Der erste Befehl verwendet Get-PSDrive , um alle Dateisystemlaufwerke in der Sitzung abzurufen. Dazu gehören die Festplattenlaufwerke (C: und D:), ein zugeordnetes Netzlaufwerk (G:), das mithilfe des Persist-Parameters New-PSDriveerstellt wurde, und ein PowerShell-Laufwerk (T:), das ohne New-PSDrive den Persist-Parameter erstellt wurde.

Der Befehl "Net Use " zeigt Windows zugeordnete Netzwerklaufwerke an. In diesem Fall wird nur das G-Laufwerk angezeigt. Es wird nicht das X:-Laufwerk angezeigt, das von New-PSDrive. Es zeigt, dass das Laufwerk G: auch \\Music\GratefulDead zugeordnet ist.

Der dritte Befehl verwendet die GetDrives-Methode der Microsoft .NET Framework System.IO.DriveInfo-Klasse . Dieser Befehl ruft die Windows-Dateisystemlaufwerke ab, einschließlich Laufwerk G:, ruft jedoch nicht die Laufwerke ab, die von New-PSDrive.

Der vierte Befehl verwendet das Get-CimInstance Cmdlet, um die Instanzen der Win32_LogicalDisk Klasse abzurufen. Sie gibt die Laufwerke A:, C:, D:, E:, und G: zurück, aber nicht die Laufwerke, die von New-PSDrive.

Der letzte Befehl verwendet das Get-CimInstance Cmdlet, um die Instanzen der Win32_NetworkConnection Klasse anzuzeigen. Wie net use, it returns only the persistent G: drive created by New-PSDrive.

Parameter

-LiteralName

Gibt den Namen des Laufwerks an.

Der Wert von LiteralName wird genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Name Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen veranlassen Windows PowerShell, Zeichen nicht als Escapesequenzen zu interpretieren.

Typ:String[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Gibt als Zeichenfolgenarray den Namen oder den Namen von Laufwerken an, die dieses Cmdlet im Vorgang abruft. Geben Sie den Laufwerknamen oder den Buchstaben ohne Doppelpunkt (:) ein.

Typ:String[]
Position:0
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PSProvider

Gibt als Zeichenfolgenarray den Windows PowerShell-Anbieter an. Dieses Cmdlet ruft nur die Laufwerke ab, die von diesem Anbieter unterstützt werden. Geben Sie den Namen eines Anbieters ein, z. B. %%amp;quot;FileSystem%%amp;quot;, %%amp;quot;Registry%%amp;quot; oder %%amp;quot;Certificate%%amp;quot;.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Scope

Gibt den Bereich an, in dem dieses Cmdlet die Laufwerke abruft.

Zulässige Werte für diesen Parameter:

  • Global
  • Lokal
  • Skript
  • eine Zahl relativ zum aktuellen Bereich (0 bis zur Anzahl der Bereiche, wobei 0 der aktuelle Bereich ist und 1 das übergeordnete Element ist). Local ist der Standardwert.

Weitere Informationen finden Sie unter about_Scopes.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-UseTransaction

Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn gerade eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter about_Transactions.

Typ:SwitchParameter
Aliase:usetx
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

PSDriveInfo

Dieses Cmdlet gibt Objekte zurück, die die Laufwerke in der Sitzung darstellen.

Hinweise

Windows PowerShell enthält die folgenden Aliase für Get-PSDrive:

  • gdr

  • Dieses Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden. Verwenden Sie das Get-PSProvider Cmdlet, um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten. Weitere Informationen finden Sie unter about_Providers.

  • Zugeordnete Netzwerklaufwerke, die mithilfe des Persist-Parameters des New-PSDrive-Cmdlets erstellt werden, sind spezifisch für ein Benutzerkonto. Zugeordnete Netzwerklaufwerke, die Sie in Sitzungen erstellen, die mit der Option "Als Administrator ausführen" oder mit den Anmeldeinformationen eines anderen Benutzers gestartet werden, sind in Sitzungen, die ohne explizite Anmeldeinformationen oder mit den Anmeldeinformationen des aktuellen Benutzers gestartet werden, nicht sichtbar.