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