Neste artigo, aprenda como usar o PowerShell para obter um valor do registro e consultar entradas em um registro usando diversos métodos.
Vamos lá!
Pré-requisitos
Todos os exemplos neste artigo serão demonstrados usando o PowerShell 7.1, que, na época da publicação deste artigo, é a versão mais recente. Você também pode usar o Windows PowerShell 5.1, se preferir. Além disso, é recomendável ter um entendimento básico dos PowerShell Drives.
Alguns exemplos podem não funcionar sem privilégios de administrador.
Obtendo Chaves e Valores do Registro com Get-ChildItem
Uma das maneiras mais simples de encontrar chaves e valores de registro é usando o cmdlet Get-ChildItem
. Isso utiliza o PowerShell para obter um valor do registro e muito mais, enumerando itens nos PowerShell drives. Neste caso, o PowerShell drive é o drive HKLM encontrado ao executar Get-PSDrive
.
Execute o seguinte comando em um console do PowerShell.
Na captura de tela abaixo, você pode ver:
- O caminho completo da chave do registro WindowsUpdate
- A chave AU
- A lista de entradas do registro na chave AU com valores correspondentes

Uma observação rápida sobre a captura de tela acima. Você pode perceber que a saída é um pouco enganadora. Normalmente, a saída do console do PowerShell representa propriedades de um objeto. Get-ChildItem
se comporta de maneira diferente neste caso, pois esse objeto tecnicamente não possui propriedades. Comandos extras são executados em segundo plano para produzir a formatação de exibição que você vê.
Relacionado: Como Verificar uma Reinicialização Pendente no Registro do Windows
Obtendo valores do Registro com Get-ItemProperty
Continuando com a mesma chave de registro de antes, vamos usar o cmdlet Get-ItemProperty
desta vez e tornar a saída mais legível.
O uso de Get-ItemProperty
é ideal para obter uma propriedade de item obtendo chaves e seus valores dentro do registro. Execute o comando abaixo:
Na captura de tela abaixo, você vê uma lista das chaves e valores:
- Para o contêiner do registro AU
- Propriedades relacionadas ao PowerShell que começam com PS

Como alternativa, você também pode especificar o caminho do item do registro para obter a mesma saída apenas um pouco mais rápido usando o .NET. O comando abaixo está usando a Classe Registry do .NET no PowerShell para obter um valor do registro:
Obtendo valores do Registro com Get-ItemPropertyValue
Agora é hora de olhar para os valores-chave. Usando o cmdlet Get-ItemPropertyValue
com o mesmo contêiner de registro como antes, vamos olhar para o valor da chave NoAutoUpdate
. Execute o seguinte comando PowerShell:
Usando Get-ItemPropertyValue
, você obterá uma saída mais sucinta mostrando apenas o valor e não qualquer outra informação que você viu anteriormente.

Consultando o Registro sem PS Drives
Ao longo deste tutorial, você tem usado drives do PowerShell para trabalhar com o registro. Fazê-lo desta forma não é a única maneira; você também pode aproveitar o .NET e obter informações do registro através de classes .NET também!
Por exemplo, talvez você precise usar o PowerShell para obter um valor de registro de HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\ : AutoUpate em um computador remoto.
Você pode fazer isso com o .NET através de:
- Abrindo a conexão do registro no computador remoto.
2. Abrindo a chave de registro específica que você está procurando.
3. Usando o método GetValue()
para consultar o valor do valor de registro dentro da chave de registro.
Usar .NET em vez de drives do PowerShell é um pouco mais rápido e é uma maneira fácil de conectar-se e usar o PowerShell para consultar chaves e valores de registro em computadores remotos.
Testando Valores de Registro com Test-Path
Às vezes, você só precisa validar se um valor de registro está presente. A maneira de fazer isso é com o cmdlet Test-Path
.
Continuando com o contêiner WindowsUpdate, teste para ver se o contêiner AU está presente executando o seguinte comando PowerShell:
Se o resultado for True, a chave ou contêiner existe. Mas e se você precisar testar se um valor ou entrada existe? Vamos construir uma função personalizada para este teste:
Usando a função personalizada, você insere um caminho e nome da chave ou contêiner, e o valor que está procurando, e a função personalizada retornará True ou False (3), como mostrado na captura de tela abaixo:

Próximos Passos
Saiba que você pode usar os comandos Get-ChildItem
, Get-ItemProperty
, e Get-ItemPropertyValue
no PowerShell para obter um valor e chaves do registro, o que mais você pode fazer?
Se você deseja aprender mais sobre como trabalhar com o registro usando o PowerShell, confira o artigo da Microsoft Docs intitulado ‘Trabalhando com Chaves do Registro’. Você também pode encontrar uma ótima demonstração de configuração de valores de registro na postagem do blog ATA Usando Active Setup: Como Configurar um Valor de Registro em Todos os Perfis de Usuários.
Source:
https://adamtheautomator.com/powershell-to-get-a-registry-value/