Get-PSDrive
Obtém 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 unidade específica ou todas as unidades 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: expostas pelo provedor do Registro do Windows PowerShell.
- Unidades temporárias especificadas por sessão e unidades de rede mapeadas persistentes que você cria usando o cmdlet New-PSDrive.
A partir do Windows PowerShell 3.0, o parâmetro Persist do cmdlet pode criar unidades de New-PSDrive
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.
Além disso, 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
Este 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:\
Este 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
Este comando obtém todas as unidades suportadas pelo provedor do Sistema de Arquivos 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 exibidas com Get-PSDrive
as exibidas usando outros métodos. Este exemplo demonstra diferentes maneiras de exibir unidades no Windows PowerShell e mostra que unidades específicas de sessão criadas usando o cmdlet New-PSDrive são acessíveis somente no Windows PowerShell.
O primeiro comando é usado 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 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. Este 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 por New-PSDrive
.
Parâmetros
-LiteralName
Especifica o nome da unidade.
O valor de LiteralName é usado exatamente como é digitado. Nenhum caractere é interpretado como curinga. Se o nome incluir caracteres de escape, coloque-o entre aspas simples. As aspas simples dizem ao Windows PowerShell para não interpretar nenhum caractere 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. Este cmdlet obtém apenas as unidades suportadas por este provedor. Digite o nome de um provedor, como Sistema de Arquivos, Registro ou Certificado.
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 este parâmetro são:
- Global
- Local
- Script
- um número relativo ao escopo atual (0 através do 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 este cmdlet.
Saídas
Este cmdlet retorna objetos que representam as unidades na sessão.
Notas
O PowerShell inclui os seguintes aliases para Get-PSDrive
:
Todas as plataformas:
gdr
Este 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.
Ligações Relacionadas
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários