Neste artigo, aprenda como usar o PowerShell para obter um valor de registro e consultar entradas em um registro usando uma variedade de métodos.
Vamos lá!
Pré-requisitos
Todos os exemplos neste artigo serão demonstrados usando o PowerShell 7.1, que, no momento em que este artigo foi publicado, é a versão mais recente. Você também pode usar o Windows PowerShell 5.1, se preferir. Você também deve ter algum entendimento básico sobre 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 fáceis de encontrar chaves e valores de registro é usando o cmdlet Get-ChildItem
. Isso usa o PowerShell para obter um valor de registro e mais, enumerando itens nos PowerShell drives. Neste caso, esse 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 de registro WindowsUpdate
- A chave AU
- A lista de entradas de registro na chave AU com valores correspondentes

Uma observação rápida em relação à 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 porque esse objeto tecnicamente não tem propriedades. Comandos extras são executados nos bastidores para produzir a formatação de exibição que você vê.
Relacionado: Como Verificar se Há uma Reinicialização Pendente no Registro do Windows
Obtendo Valores do Registro com Get-ItemProperty
Continuando com a mesma chave de registro como antes, vamos usar o cmdlet Get-ItemProperty
desta vez e tornar a saída mais legível.
Usar Get-ItemProperty
é o melhor para obter uma propriedade do 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 de registro AU
- Propriedades relacionadas ao PowerShell que todas 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 .NET. O comando abaixo está usando a classe .NET Registry no PowerShell para obter um valor do registro:
Obtendo Valores do Registro com Get-ItemPropertyValue
Agora é hora de analisar os valores-chave. Usando o cmdlet Get-ItemPropertyValue
com o mesmo contêiner de registro como antes, vamos olhar o valor para a 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.

Consulta do Registro sem PS Drives
Ao longo deste tutorial, você tem usado drives do PowerShell para trabalhar com o registro. Fazê-lo dessa maneira não é a única maneira; você também pode alavancar o .NET e obter informações do registro por meio 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:
- Abrir a conexão do registro no computador remoto.
2. Abrir a chave de registro específica que você está procurando.
3. Usar 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 se conectar e usar o PowerShell para consultar chaves e valores de registro em computadores remotos.
Testando Valores do Registro com Test-Path
Às vezes você só precisa validar se um valor do registro está presente. A maneira de fazer isso é com o cmdlet Test-Path
.
Continuando com o recipiente WindowsUpdate, teste para ver se o recipiente AU está presente executando o seguinte comando PowerShell:
Se o resultado for True, a chave ou recipiente existe. Mas e se você precisar testar se um valor ou entrada existe? Vamos construir uma função personalizada para esse teste:
Usando a função personalizada, você insere um caminho e nome da chave ou recipiente, 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 o 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ê quiser aprender mais sobre como trabalhar com o registro no PowerShell, confira o artigo da Microsoft Docs intitulado ‘Trabalhando com Chaves de Registro’. Você também pode encontrar uma ótima demonstração de configuração de valores do registro na postagem do blog ATA Usando Active Setup: Como Definir um Valor de Registro em Todos os Perfis de Usuários.
Source:
https://adamtheautomator.com/powershell-to-get-a-registry-value/