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 verfügbar gemacht werden (z. B. die Laufwerke Certificate:, Function:, und Alias:) und die Laufwerke HKLM: und HKCU, die vom Windows PowerShell Registry-Anbieter verfügbar gemacht werden.
- Sitzungsseitig angegebene temporäre Laufwerke und persistent zugeordnete Netzwerklaufwerke, die Sie mit dem Cmdlet New-PSDrive erstellen.
Ab Windows PowerShell 3.0 kann der Persist-Parameter 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:, und 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 Festplattenlaufwerke, logische Partitionen, zugeordnete Netzwerklaufwerke und temporäre Laufwerke, die Sie mit dem Cmdlet New-PSDrive erstellen.
Beispiel 4: Überprüfen, ob ein Laufwerk als Windows PowerShell Laufwerksname 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.
Andernfalls erstellt der Befehl mithilfe des New-PSDrive
Cmdlets ein temporäres Laufwerk, das dem Registrierungsschlüssel HKLM:\SOFTWARE 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, die von Get-PSDrive
angezeigt werden, mit denen verglichen, die mithilfe anderer Methoden angezeigt werden. In diesem Beispiel werden verschiedene Möglichkeiten zum Anzeigen von Laufwerken in Windows PowerShell veranschaulicht, und es zeigt, dass 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 (G:), das mit dem Persist-Parameter von New-PSDrive
erstellt wurde, und ein PowerShell-Laufwerk (T:), das mit ohne New-PSDrive
den Persist-Parameter erstellt wurde.
Der Befehl net use zeigt zugeordnete Windows-Netzlaufwerke an, in diesem Fall wird nur das Laufwerk G angezeigt. Das von New-PSDrive
erstellte Laufwerk X: wird nicht angezeigt. Es zeigt, dass das Laufwerk G: auch \\Music\GratefulDead zugeordnet ist.
Der dritte Befehl verwendet die GetDrives-Methode der System.IO.DriveInfo-Klasse von Microsoft .NET Framework. Mit diesem Befehl werden die Windows-Dateisystemlaufwerke abgerufen, einschließlich Laufwerk G:, aber die von New-PSDrive
erstellten Laufwerke werden nicht abgerufen.
Im vierten Befehl werden mit dem Cmdlet Get-CimInstance
die Instanzen der Klasse Win32_LogicalDisk abgerufen. Sie gibt die Laufwerke A:, C:, D:, E: und G: zurück, aber nicht die laufwerke, die von erstellt wurden New-PSDrive
.
Im letzten Befehl werden mit dem Cmdlet Get-CimInstance
die Instanzen der Klasse Win32_NetworkConnection angezeigt. Wie die Net Use gibt es nur das persistente G:-Laufwerk zurück, das von erstellt wurde New-PSDrive
.
Parameter
-LiteralName
Gibt den Namen des Laufwerks an.
Der Wert von LiteralName wird genau so verwendet, wie er eingegeben wurde. 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.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Gibt als Zeichenfolgenarray den Namen oder Namen der Laufwerke an, die dieses Cmdlet im Vorgang abruft.
Geben Sie den Namen oder Buchstaben des Laufwerks ohne Doppelpunkt (:
) ein.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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;.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 und 1 der übergeordnete Bereich ist). Local ist der Standardwert.
Weitere Informationen finden Sie unter about_Scopes.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Eingaben
None
Objekte können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
Dieses Cmdlet gibt Objekte zurück, die die Laufwerke in der Sitzung darstellen.
Hinweise
- Dieses Cmdlet ist für die Arbeit mit den Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden. Führen Sie die verfügbaren Anbieter in Ihrer Sitzung mithilfe des Cmdlets
Get-PSProvider
auf. Weitere Informationen finden Sie unter about_Providers. - Zugeordnete Netzwerklaufwerke, die mit dem Persist-Parameter 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.