Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este exemplo só se aplica a plataformas Windows.
Uma unidade do PowerShell é um local de armazenamento de dados que pode ser acedido como se fosse uma unidade de sistema de ficheiros no PowerShell. Os provedores do PowerShell criam algumas unidades para você, como as unidades do sistema de arquivos (incluindo C: e D:), as unidades do Registro (HKCU: e HKLM:) e a unidade de certificado (Cert:), e você pode criar suas próprias unidades do PowerShell. Essas unidades são úteis, mas estão disponíveis apenas no PowerShell. Não é possível acessá-los usando outras ferramentas do Windows, como o Explorador de Arquivos ou o Cmd.exe.
O PowerShell usa o substantivo PSDrivepara os comandos que funcionam com unidades do PowerShell. Para obter uma lista das unidades do PowerShell na sua sessão do PowerShell, utilize o cmdlet Get-PSDrive.
Get-PSDrive
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
Alias Alias
C FileSystem C:\ ...And Settings\me
cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
Embora as unidades exibidas possam variar em relação às do seu sistema, a sua deve ser semelhante à saída do comando Get-PSDrive mostrado acima.
as unidades do sistema de arquivos são um subconjunto das unidades do PowerShell. Você pode identificar as unidades do sistema de arquivos pela entrada FileSystem na coluna Provedor. As unidades de sistema de ficheiros no PowerShell são suportadas pelo provedor de Sistema de Ficheiros do PowerShell.
Para ver a sintaxe do cmdlet Get-PSDrive, digite um comando Get-Command com o parâmetro Syntax:
Get-Command -Name Get-PSDrive -Syntax
Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V
erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-
OutVariable <String>] [-OutBuffer <Int32>]
O parâmetro PSProvider permite exibir apenas as unidades do PowerShell que são suportadas por um provedor específico. Por exemplo, para exibir somente as unidades do PowerShell que são suportadas pelo provedor do Sistema de Arquivos do PowerShell, digite um comando Get-PSDrive com o parâmetro PSProvider e o valor FileSystem:
Get-PSDrive -PSProvider FileSystem
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
C FileSystem C:\ ...nd Settings\PowerUser
D FileSystem D:\
Para exibir as unidades do PowerShell que representam as seções do Registro, use o parâmetro PSProvider para exibir somente as unidades do PowerShell suportadas pelo provedor do Registro do PowerShell:
Get-PSDrive -PSProvider Registry
Name Provider Root CurrentLocation
---- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Você também pode usar os cmdlets Location padrão com as unidades do PowerShell:
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft
Adicionando novas unidades do PowerShell
Você pode adicionar suas próprias unidades do PowerShell usando o comando New-PSDrive. Para obter a sintaxe para o comando New-PSDrive, digite o comando Get-Command com o parâmetro Syntax:
Get-Command -Name New-PSDrive -Syntax
New-[-Description <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug ]
[-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St ring>]
[-OutBuffer <Int32>] [-WhatIf] [-Confirm]
Para criar uma nova unidade do PowerShell, você deve fornecer três parâmetros:
- Um nome para o disco (pode usar qualquer nome válido do PowerShell)
- O PSProvider - use
FileSystempara locais do sistema de ficheiros eRegistrypara locais de registo - A raiz, ou seja, o caminho para a raiz da nova unidade
Por exemplo, pode-se criar uma unidade chamada Office mapeada para a pasta que contém os programas do Microsoft Office no seu computador, como C:\Program Files\MicrosoftOffice\OFFICE11.
Para criar a unidade, digite o seguinte comando:
New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name Provider Root CurrentLocation
---- -------- ---- ---------------
Office FileSystem C:\Program Files\Microsoft Offic...
Observação
Em geral, os caminhos não diferenciam maiúsculas de minúsculas.
Uma unidade do PowerShell é acessada usando seu nome seguido por dois pontos (:).
Uma unidade de PowerShell pode tornar muitas tarefas muito mais simples. Por exemplo, algumas das chaves mais importantes no registro do Windows têm caminhos extremamente longos, tornando-os complicados de acessar e difíceis de lembrar. As informações críticas de configuração residem sob HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. Para exibir e alterar itens na chave do Registro CurrentVersion, você pode criar uma unidade do PowerShell enraizada nessa chave digitando:
New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name Provider Root CurrentLocation
---- -------- ---- ---------------
cvkey Registry HKLM\Software\Microsoft\Windows\...
Em seguida, pode mudar a localização para a unidade cvkey: como faria com qualquer outra unidade.
cd cvkey:
ou:
Set-Location cvkey: -PassThru
Path
----
cvkey:\
O cmdlet New-PSDrive adiciona a nova unidade somente à sessão atual do PowerShell. Ao fechar a janela do PowerShell, a nova unidade deixará de existir. Para salvar uma unidade do PowerShell, use o cmdlet Export-Console para exportar a sessão atual do PowerShell e use o parâmetro powershell.exePSConsoleFile para importá-la. Ou adicione a nova unidade ao seu perfil do Windows PowerShell.
Eliminar unidades do PowerShell
Você pode excluir unidades do PowerShell usando o cmdlet Remove-PSDrive. Por exemplo, se adicionaste a unidade Office: PowerShell, tal como mostrado no tópico New-PSDrive, poderás apagá-la escrevendo:
Remove-PSDrive -Name Office
Para excluir a unidade do cvkey: PowerShell, use o seguinte comando:
Remove-PSDrive -Name cvkey
No entanto, não podes apagá-lo enquanto estiveres na unidade. Por exemplo:
cd office:
Remove-PSDrive -Name Office
Remove-PSDrive : Cannot remove drive 'Office' because it is in use.
At line:1 char:15
+ Remove-PSDrive <<<< -Name Office
Adicionar e remover unidades externamente ao PowerShell
O PowerShell deteta unidades do sistema de arquivos que são adicionadas ou removidas no Windows, incluindo:
- Unidades de rede mapeadas
- Unidades USB conectadas
- Unidades que são apagadas usando o comando
net useou de um script WSH (Windows Script Host)