Freigeben über


Get-PSDrive

Ruft Laufwerke in der aktuellen Sitzung ab.

Syntax

Name (Standard)

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

LiteralName

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

Beschreibung

Mit dem Cmdlet Get-PSDrive werden die Laufwerke in der aktuellen Sitzung abgerufen. 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 Windows PowerShell-Anbietern verfügbar gemacht werden (z. B. die Laufwerke Certificate:, Function: und Alias:) sowie die Laufwerke HKLM: und HKCU:, die vom Windows PowerShell-Registrierungsanbieter verfügbar gemacht werden.
  • Sitzungsspezifische temporäre Laufwerke und persistent zugeordnete Netzwerklaufwerke, die Sie mithilfe des Cmdlets New-PSDrive erstellen.

Ab Windows PowerShell 3.0 können mit dem Persist-Parameter des Cmdlets New-PSDrive zugeordnete Netzlaufwerke erstellt werden, die auf dem lokalen Computer gespeichert werden und in anderen Sitzungen verfügbar sind. Weitere Informationen finden Sie unter New-PSDrive.

Ab Windows PowerShell 3.0 fügt Windows PowerShell, wenn ein externes Laufwerk mit dem Computer verbunden ist, automatisch ein PSDrive zum Dateisystem hinzu, das das neue Laufwerk darstellt. Sie müssen Windows PowerShell nicht neu starten. Wenn ein externes Laufwerk vom Computer getrennt wird, löscht Windows PowerShell automatisch das PSDrive, das das entfernte Laufwerk darstellt.

Beispiele

Beispiel 1: Abrufen von Laufwerken in der aktuellen Sitzung

PS C:\> Get-PSDrive

Name       Provider      Root
----       --------      ----
Alias      Alias
C          FileSystem    C:\
Cert       Certificate   \
D          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:), 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:\> Get-PSDrive D

Name       Provider      Root
----       --------      ----
D          FileSystem    D:\

Dieser Befehl ruft das Laufwerk D: auf dem Computer ab. Beachten Sie, dass auf den Laufwerkbuchstaben im Befehl kein Doppelpunkt folgt.

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

PS C:\> Get-PSDrive -PSProvider FileSystem

Name       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

Dieser Befehl ruft alle Laufwerke ab, die vom Windows PowerShell FileSystem-Anbieter unterstützt werden. Dazu gehören Festplattenlaufwerke, logische Partitionen, zugeordnete Netzlaufwerke und temporäre Laufwerke, die Sie mit dem New-PSDrive Cmdlet 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
}

Mit diesem Befehl wird überprüft, ob das X-Laufwerk bereits als Windows PowerShell-Laufwerkname verwendet wird. Ist dies nicht der Fehler, verwendet der Befehl das Cmdlet New-PSDrive, 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       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

PS C:\> net use
New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
X:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives()

Name               : C:\
DriveType          : Fixed
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 39831498752
TotalFreeSpace     : 39831498752
TotalSize          : 79900368896
RootDirectory      : C:\
VolumeLabel        :
Name               : D:\
DriveType          : CDRom
DriveFormat        :
IsReady            : False
AvailableFreeSpace :
TotalFreeSpace     :
TotalSize          :
RootDirectory      : D:\
VolumeLabel        :
Name               : X:\
DriveType          : Network
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 36340559872
TotalFreeSpace     : 36340559872
TotalSize          : 36413280256
RootDirectory      : X:\
VolumeLabel        : D_Drive

PS C:\> Get-WmiObject Win32_LogicalDisk

DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 39831252992
Size         : 79900368896
VolumeName   :
DeviceID     : D:
DriveType    : 5
ProviderName :
FreeSpace    :
Size         :
VolumeName   :
DeviceID     : X:
DriveType    : 4
ProviderName : \\server01\public
FreeSpace    : 36340559872
Size         : 36413280256
VolumeName   : D_Drive

PS C:\> Get-WmiObject Win32_NetworkConnection

LocalName                     RemoteName
--------------               ------------
x:                            \\server01\public

In diesem Beispiel werden die Typen von Dateisystemlaufwerken, die von Get-PSDrive angezeigt werden, mit denen verglichen, die 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 temporäre, sitzungsspezifische Laufwerke, die mit dem Cmdlet New-PSDrive 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 (X:), das mit dem Persist-Parameter von New-PSDrive erstellt wurde, und zwei temporäre Windows PowerShell-Laufwerke (Y: und Z:), die mit New-PSDrive ohne den Persist-Parameter erstellt wurden.

Ein net use-Befehl, der zugeordnete Windows-Netzlaufwerke anzeigt, zeigt nur das Laufwerk X an. Die Laufwerke Y: und Z:, die von New-PSDrive erstellt wurden, werden nicht angezeigt. Es wird angezeigt, dass das Laufwerk X: auch \\Server01\Public zugeordnet ist.

Der dritte Befehl verwendet die GetDrives-Methode der Microsoft .NET Framework System.IO.DriveInfo Klasse. Mit diesem Befehl werden die Windows-Dateisystemlaufwerke, einschließlich Laufwerk X:, abgerufen, aber nicht die temporären Laufwerke, die von New-PSDrive erstellt wurden.

Der vierte Befehl verwendet das Cmdlet Get-WmiObject, um die Instanzen der Win32_LogicalDisk Klasse abzurufen. Es werden die Laufwerke C:, D: und X: zurückgegeben, jedoch nicht die temporären Laufwerke, die von New-PSDrive erstellt wurden.

Im letzten Befehl wird das Cmdlet Get-WmiObject verwendet, um die Instanzen der Win32_NetworkConnection Klasse anzuzeigen. Wie bei der Netznutzung wird nur das persistente Laufwerk X: zurückgegeben, das von New-PSDrive erstellt wurde.

Parameter

-LiteralName

Gibt den Namen des Laufwerks an.

Der Wert LiteralName- wird genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Name Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen ein. Einfache Anführungszeichen weisen Windows PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

LiteralName
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Name

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

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Name
Position:0
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten: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. "FileSystem", "Registry" oder "Certificate".

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Scope

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

Die zulässigen Werte für diesen Parameter sind:

  • Weltweit
  • 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). "Lokal" ist die Standardeinstellung. Weitere Informationen finden Sie unter about_Scopes (https://go.microsoft.com/fwlink/?LinkID=113260).

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-UseTransaction

Enthält den Befehl in der aktiven Transaktion. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter about_Transactions.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:usetx

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

None

Objekte können nicht an dieses Cmdlet weitergeleitet werden.

Ausgaben

PSDriveInfo

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

Hinweise

  • Dieses Cmdlet wurde entwickelt, um mit den Daten zu arbeiten, die von einem beliebigen Anbieter verfügbar gemacht werden. Um die in der Sitzung verfügbaren Anbieter aufzulisten, verwenden Sie das Cmdlet Get-PSProvider. Weitere Informationen finden Sie unter über_Anbieter.
  • Zugeordnete Netzwerklaufwerke, die mithilfe des Parameters Persist des Cmdlets New-PSDrive 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.