Get-PSDrive
Ottiene le unità di Windows PowerShell disponibili nella sessione corrente.
Sintassi
Get-PSDrive [-LiteralName] <string[]> [-PSProvider <string[]>] [-Scope <string>] [-UseTransaction] [<CommonParameters>]
Get-PSDrive [[-Name] <string[]>] [-PSProvider <string[]>] [-Scope <string>] [-UseTransaction] [<CommonParameters>]
Descrizione
Il cmdlet Get-PSDrive ottiene le unità di Windows PowerShell disponibili nella sessione corrente. È possibile ottenere un'unità specifica o tutte le unità nella console.
Get-PSDrive ottiene le unità seguenti:
-- Unità logiche di Windows nel computer, incluse le unità mappate a condivisioni di rete.
-- Unità esposte dai provider di Windows PowerShell, ad esempio le unità Certificate:, Function: e Alias:, e le unità HKLM: e HKCU: esposte dal provider Registry di Windows PowerShell.
-- Unità create dall'utente mediante New-PSDrive.
Get-PSDrive non ottiene le unità di Windows mappate aggiunte o create dopo l'apertura della console Windows PowerShell.
Parametri
-LiteralName <string[]>
Specifica il nome dell'unità di Windows PowerShell.
Il valore di LiteralName viene utilizzato così come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il nome include caratteri di escape, è necessario racchiuderli tra virgolette singole tramite le quali si comunica a Windows PowerShell di non interpretare alcun carattere come sequenza di escape.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Name <string[]>
Ottiene solo le unità specificate. Digitare il nome unità o la lettera senza due punti (:).
Obbligatorio? |
false |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-PSProvider <string[]>
Ottiene solo le unità supportate dal provider di Windows PowerShell specificato. Digitare il nome di un provider, ad esempio FileSystem, Registry o Certificate.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Scope <string>
Ottiene le unità di Windows PowerShell nell'ambito specificato. I valori validi sono "Global", "Local", "Script" oppure un numero relativo all'ambito corrente, ovvero da 0 al numero di ambiti, dove 0 corrisponde all'ambito corrente e 1 al relativo padre. Il valore predefinito è "Local". Per ulteriori informazioni, vedere about_Scopes.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-UseTransaction
Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per ulteriori informazioni, vedere about_Transactions.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
Nessuno Non è possibile reindirizzare oggetti a Get-PSDrive. |
Output |
System.Management.Automation.PSDriveInfo Get-PSDrive restituisce oggetti che rappresentano le unità di Windows PowerShell disponibili nella sessione. |
Note
Il cmdlet Get-PSDrive è progettato per l'utilizzo di dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare "Get-PSProvider". Per ulteriori informazioni, vedere about_Providers.
Esempio 1
C:\PS>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
X FileSystem X:\
Descrizione
-----------
Con questo comando vengono ottenute le unità di Windows PowerShell disponibili nella sessione corrente.
L'output mostra il disco rigido (C:) e l'unità CD-ROM (D:) sul computer, le unità esposte dai provider di Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM: e Variable:) e un'unità di cui è stato eseguito il mapping a una condivisione di rete (X:).
Esempio 2
C:\PS>get-psdrive d
Name Provider Root
---- -------- ----
D FileSystem D:\
Descrizione
-----------
Con questo comando viene visualizzata l'unità D:. Notare che la lettera dell'unità non è seguita dai due punti.
Esempio 3
C:\PS>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
Descrizione
-----------
Con questo comando vengono visualizzate tutte le unità supportate dal provider FileSystem di Windows PowerShell. Sono incluse unità fisse, partizioni logiche, unità di rete mappate e unità create tramite New-PSDrive mappate alle unità del file system.
In questo esempio viene illustrato che le unità create da New-PSDrive presentano il nome del percorso mappato nel valore della proprietà Root. Le unità di Windows presentano solo la radice della lettera di unità.
Esempio 4
C:\PS>if (!(get-psdrive X)) {
new-psdrive -name X -psprovider Registry -root HKLM:\Network
}
else { write-host "The X: drive is already in use." }
Descrizione
-----------
Con questo comando viene controllato se l'unità X è già utilizzata come nome di unità di Windows PowerShell. In caso contrario, il comando utilizza il cmdlet New-PSDrive per creare un'unità di Windows PowerShell mappata alla chiave del Registro di sistema HKLM:\Network.
Esempio 5
C:\PS>get-psdrive -provider filesystem
C:\PS> get-psdrive -provider filesystem
Name Provider Root
---- -------- ----
C FileSystem C:\
D FileSystem D:\
X FileSystem X:\
Y FileSystem \\Server01\Public
Z FileSystem C:\Windows\System32
C:\PS> net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
X: \\Server01\Public Microsoft Windows Network
C:\PS> [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
C:\PS> 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
C:\PS> get-wmiobject win32_networkconnection
LocalName RemoteName
-------------- ------------
x: \\server01\public
Descrizione
-----------
In questo esempio vengono confrontati i tipi di unità del file system visualizzati da Get-PSDrive con quelli visualizzati tramite gli altri metodi. Nell'esempio vengono illustrati diversi modi per visualizzare le unità in Windows PowerShell e viene indicato che le unità create tramite New-PSDrive sono accessibili solo in Windows PowerShell.
Nel primo comando viene utilizzato Get-PSDrive per ottenere tutte le unità del file system nella console Windows PowerShell. Sono incluse le unità fisse (C: e D:), l'unità di rete mappata (X:) e due unità di Windows PowerShell (Y: e Z:) create utilizzando New-PsDrive.
Un comando "net use", che visualizza le unità di rete mappate di Windows, visualizza solo l'unità X. Non visualizza le unità create da New-PSDrive. Mostra che l'unità X: è anche mappata a \\Server01\Public.
Nel terzo comando viene utilizzato il metodo GetDrives della classe System.IO.DriveInfo di Microsoft .NET Framework. Con questo comando vengono ottenute le unità di file system di Windows, inclusa l'unità X: ma non vengono ottenute le unità create da New-PSDrive.
Nel quarto comando viene utilizzato il cmdlet Get-WmiObject per visualizzare le istanze della classe Win32_LogicalDisk. Vengono restituite le unità C:, D: ed X: ma non le unità create da New-PSDrive.
Nell'ultimo comando viene utilizzato il cmdlet Get-WmiObject per visualizzare le istanze della classe Win32_NetworkConnection. Come "net use", restituisce solo l'unità X:.
Vedere anche
Concetti
about_Providers
New-PSDrive
Remove-PSDrive
Get-Help
Get-Command
Get-Member