Compartilhar via


Get-PSDrive

Obtém unidades na sessão atual.

Sintaxe

Get-PSDrive
   [[-Name] <String[]>]
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]
Get-PSDrive
   [-LiteralName] <String[]>
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]

Description

O cmdlet Get-PSDrive obtém as unidades na sessão atual. Você pode obter uma unidade específica ou todas as unidades na sessão.

Esse 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 o Certificado:, Função:e Alias: unidades) e o HKLM: e HKCU: unidades 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 parâmetro Persist do cmdlet New-PSDrive 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.

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. Você não precisa 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:), CD-ROM unidade (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 compatíveis com o 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 compatíveis com o 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
}

Esse 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 cmdlet New-PSDrive 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 que são exibidas por Get-PSDrive com 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 apenas 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-PSDrivee 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, nesse caso, ela exibe apenas a unidade G. Ele não exibe a unidade X: que foi criada por New-PSDrive. Ele mostra que a unidade G: também é 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 por New-PSDrive.

O quarto comando usa o cmdlet Get-CimInstance 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 por New-PSDrive.

O último comando usa o cmdlet Get-CimInstance para exibir as instâncias da classe Win32_NetworkConnection. Assim como de uso líquido, ela 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. Aspas simples dizem ao Windows PowerShell para não interpretar nenhum caractere como sequências de escape.

Tipo:String[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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 da unidade ou letra sem dois-pontos (:).

Tipo:String[]
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-PSProvider

Especifica, como uma matriz de cadeia de caracteres, o provedor do Windows PowerShell. Esse cmdlet obtém apenas as unidades compatíveis com esse provedor. Digite o nome de um provedor, como FileSystem, Registro ou Certificado.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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
  • Roteiro
  • um número relativo ao escopo atual (0 por meio do número de escopos, em que 0 é o escopo atual e 1 é seu pai). "Local" é o padrão.

Para obter mais informações, consulte about_Scopes.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

Entradas

None

Você não pode redirecionar objetos para este cmdlet.

Saídas

PSDriveInfo

Esse cmdlet retorna objetos que representam as unidades na sessão.

Observações

  • Esse cmdlet foi projetado para funcionar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, use o cmdlet Get-PSProvider. 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 para 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 estão visíveis em sessões iniciadas sem credenciais explícitas ou com as credenciais do usuário atual.