Get-PSDrive
Obtém as unidades na sessão atual.
Syntax
Get-PSDrive
[[-Name] <String[]>]
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
Get-PSDrive
[-LiteralName] <String[]>
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
Description
O Get-PSDrive
cmdlet obtém as unidades na sessão atual. Você pode obter uma determinada unidade ou todas as unidades existentes na sessão.
Este cmdlet obtém os seguintes tipos de unidades:
- Unidades lógicas do Windows no computador, incluindo unidades mapeadas para compartilhamentos de rede.
- Unidades expostas por provedores do PowerShell (como as unidades Certificate:, Function: e Alias:) e as unidades HKLM: e HKCU: que são expostas pelo provedor do Registro do Windows PowerShell.
- Unidades temporárias especificadas pela sessão e unidades de rede mapeadas persistentes que você cria usando o cmdlet New-PSDrive.
A partir do Windows PowerShell 3.0, o New-PSDrive
parâmetro Persist do cmdlet pode criar unidades de rede mapeadas que são salvas no computador local e estão disponíveis em outras sessões. Para obter mais informações, consulte New-PSDrive.
Também, a partir do Windows PowerShell 3.0, quando uma unidade externa é conectada ao computador, o Windows PowerShell adiciona automaticamente um PSDrive ao sistema de arquivos que representa a nova unidade. Não é necessário reiniciar o Windows PowerShell. Da mesma forma, quando uma unidade externa é desconectada do computador, o Windows PowerShell exclui automaticamente o PSDrive que representa a unidade removida.
Exemplos
Exemplo 1: Obter unidades na sessão atual
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
Esse comando obtém as unidades na sessão atual.
A saída mostra o disco rígido (C:), a unidade de CD-ROM (D:) e as unidades expostas pelos provedores do Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM: e Variable:).
Exemplo 2: Obter uma unidade no computador
PS C:\foo> Get-PSDrive D
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
D 1211.06 123642.32 FileSystem D:\
Esse comando obtém a unidade D: no computador. Observe que a letra da unidade no comando não é seguida por dois pontos.
Exemplo 3: Obter todas as unidades suportadas pelo provedor do sistema de arquivos do Windows PowerShell
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
Esse comando obtém todas as unidades suportadas pelo provedor FileSystem do Windows PowerShell. Isso inclui unidades fixas, partições lógicas, unidades de rede mapeadas e unidades temporárias que você cria usando o cmdlet New-PSDrive.
Exemplo 4: Verifique se uma unidade está em uso como um nome de unidade do Windows PowerShell
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
}
Este comando verifica se a unidade X já está em uso como um nome de unidade do Windows PowerShell.
Se não estiver, o comando usará o New-PSDrive
cmdlet para criar uma unidade temporária mapeada para a chave do Registro HKLM:\SOFTWARE.
Exemplo 5: Comparar os tipos de unidades do sistema de arquivos
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
Este exemplo compara os tipos de unidades do sistema de arquivos exibidos por Get-PSDrive
com aqueles exibidos usando outros métodos. Este exemplo demonstra diferentes maneiras de exibir unidades no Windows PowerShell e mostra que as unidades específicas da sessão criadas usando o cmdlet New-PSDrive são acessíveis somente no Windows PowerShell.
O primeiro comando usa Get-PSDrive
para obter todas as unidades do sistema de arquivos na sessão. Isso inclui as unidades fixas (C: e D:), uma unidade de rede mapeada (G:) que foi criada usando o parâmetro Persist de New-PSDrive
, e uma unidade do PowerShell (T:) que foi criada usando New-PSDrive
sem o parâmetro Persist .
O comando net use exibe unidades de rede mapeadas do Windows, neste caso exibe apenas a unidade G. Ele não exibe a unidade X: que foi criada pelo New-PSDrive
. Ele mostra que a unidade G: também está mapeada para \\Music\GratefulDead.
O terceiro comando usa o método GetDrives da classe System.IO.DriveInfo do Microsoft .NET Framework. Esse comando obtém as unidades do sistema de arquivos do Windows, incluindo a unidade G:, mas não obtém as unidades criadas pelo New-PSDrive
.
O quarto comando usa o Get-CimInstance
cmdlet para obter as instâncias da classe Win32_LogicalDisk. Ele retorna as unidades A:, C:, D:, E: e G:, mas não as unidades criadas pelo New-PSDrive
.
O último comando usa o Get-CimInstance
cmdlet para exibir as instâncias da classe Win32_NetworkConnection. Como o uso líquido, ele retorna apenas a unidade G: persistente criada pelo New-PSDrive
.
Parâmetros
-LiteralName
Especifica o nome da unidade.
O valor de LiteralName é usado exatamente como é digitado. Nenhum caractere é interpretado como caractere curinga. Se o nome inclui caracteres de escape, coloque-o entre aspas simples. As aspas simples instruem o Windows PowerShell a nunca interpretar caracteres como sequências de escape.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Especifica, como uma matriz de cadeia de caracteres, o nome ou o nome das unidades que esse cmdlet obtém na operação.
Digite o nome ou a letra da unidade sem dois pontos (:
).
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PSProvider
Especifica, como uma matriz de cadeia de caracteres, o provedor do Windows PowerShell. Esse cmdlet obtém apenas as unidades suportadas por esse provedor. Digite o nome de um provedor, como FileSystem, Registry ou Certificate.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
Especifica o escopo no qual esse cmdlet obtém as unidades.
Os valores aceitáveis para esse parâmetro são:
- Global
- Local
- Script
- um número relativo ao escopo atual (0 até o número de escopos, onde 0 é o escopo atual e 1 é seu pai). "Local" é o padrão.
Para obter mais informações, consulte about_Scopes.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Entradas
None
Não é possível canalizar objetos para esse cmdlet.
Saídas
Esse cmdlet retorna objetos que representam as unidades na sessão.
Observações
O PowerShell inclui os seguintes aliases para Get-PSDrive
:
Todas as plataformas:
gdr
Esse cmdlet foi projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, use o
Get-PSProvider
cmdlet. Para obter mais informações, consulte about_Providers.As unidades de rede mapeadas criadas usando o parâmetro Persist do cmdlet New-PSDrive são específicas de uma conta de usuário. As unidades de rede mapeadas que você cria em sessões iniciadas com a opção Executar como administrador ou com as credenciais de outro usuário não são visíveis em sessões iniciadas sem credenciais explícitas ou com as credenciais do usuário atual.
Links Relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de