Trabalhar com Entradas de Registo

  • 06/05/2017
  • 5 minutos para ler
    • j
    • s
    • k
    • m
    • b

Devido a entradas de registo são propriedades de chaves e, como tal, não pode ser diretamente consultada, nós needto tomar uma abordagem um pouco diferente quando se trabalha com eles.

na lista de entradas do registo

Existem muitas maneiras diferentes de examinar as entradas do registo. A maneira mais simples é obter os nomes próprios associados a uma chave. Por exemplo, para ver os nomes das entradas na chave de registoHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion, use Get-Item. As chaves de registro possuem uma propriedade com o nome genérico de “propriedade” que é uma lista de entradas de registro na chave.O seguinte comando selecciona a propriedade e expande os itens de modo a que sejam reproduzidos numa lista:

DevicePathMediaPathUnexpandedProgramFilesDirCommonFilesDirProductId

Para visualizar as entradas do registro em um formulário mais legível, use Get-ItemProperty:

Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

O Windows PowerShell relacionados com propriedades de chave são todos com o prefixo “PS”, tais asPSPath, PSParentPath, PSChildName, e PSProvider.

pode utilizar a notação*.* para se referir à localização actual. Você pode usar Set-Location para mudar primeiro para o container do registo CurrentVersion:

Set-Location -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

como Alternativa, você pode usar o built-in HKLM PSDrive com Set-Location:

Set-Location -Path hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion

em seguida, Você pode usar o *.* notação para o local atual para listar as propriedades withoutspecifying um caminho completo:

Get-ItemProperty -Path .
...DevicePath : C:\WINDOWS\infMediaPathUnexpanded : C:\WINDOWS\MediaProgramFilesDir : C:\Program Files...

Caminho obras de expansão, o mesmo que ele faz dentro do sistema de arquivos, então a partir deste local pode getthe ItemProperty listagem de HKLM:\SOFTWARE\Microsoft\Windows\Help usandoGet-ItemProperty -Path ..\Help.

obter uma única entrada no Registo

Se quiser obter uma entrada específica numa chave de Registo, pode usar uma de várias abordagens possíveis. Este exemplo encontra o valor de DevicePath emHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.

Usando Get-ItemProperty, use o parâmetro caminho para especificar o nome da chave, e o parâmetro nome para especificar o nome do item DevicePath.

Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion -Name DevicePath

Este comando devolve as propriedades PowerShell padrão do Windows, bem como a propriedade DevicePathproperty.

Nota

emboraGet-ItemProperty tenha Filtro, inclua e exclua parâmetros, eles não podem ser usados para filtrar pelo nome da propriedade. Estes parâmetros referem-se a Chaves de registro, que são itempaths e não entradas de registro, que são propriedades do item.

outra opção é usar o Reg.ferramenta da linha de comandos exe. Por ajuda com o reg.exe, type reg.exe /?at a command prompt. Para encontrar a entrada DevicePath, use reg.exe como é mostrado no seguinte comando:

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v DevicePath

Você também pode usar o objeto WshShell COM também para encontrar algumas entradas de registro, embora thismethod não funciona com grandes dados binários ou com nomes de entradas de registro que incluem caracteres como “\”). Acrescentar o nome da propriedade para o item caminho com um \ separador:

(New-Object -ComObject WScript.Shell).RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath")
%SystemRoot%\inf

a criação de uma Única Entrada de Registo

Se você deseja alterar uma entrada específica em uma chave do registro, você pode usar um dos vários possibleapproaches. Este exemplo modifica o item Path sob HKEY_CURRENT_USER\Environment. O item do ‘ThePath’ indica onde encontrar os ficheiros executáveis.

  1. recupera o valor actual da entrada do canal horário usando Get-ItemProperty.
  2. adicione o novo valor, separando-o com um ;.
  3. UseSet-ItemProperty com a chave especificada, o nome do item e o valor para modificar a matrícula.

Nota

emboraSet-ItemProperty tenha Filtro, inclua e exclua parâmetros, não pode ser usado para filtrar pelo nome da propriedade. Estes parâmetros referem—se a Chaves de registro—que são itempaths—e não entradas de registro-que são propriedades do item.

outra opção é usar o Reg.ferramenta da linha de comandos exe. Por ajuda com o reg.exe, tipo reg.exe /?a uma ordem de comando.

o exemplo seguinte altera o item do caminho, removendo o caminho adicionado no exemplo acima.Get-ItemPropertyainda é usado para recuperar o valor atual para evitar ter que analisar o stringreturned dereg query. O sub-texto e o último Índicexo dos métodos são usados para obter a última localização adicionada ao item Path.

The operation completed successfully.

a Criação de Novas Entradas de Registo

Para adicionar uma nova entrada com o nome “PowerShellPath” para o CurrentVersion chave, use New-ItemPropertycom o caminho para a chave, o nome da entrada e o valor da entrada. For this example, we willtake the value of the Windows PowerShell variable $PSHome, which storeses the path to theinstallation directory for Windows PowerShell.

pode adicionar o novo item à chave usando o seguinte comando, e o comando também devolve informações sobre o novo item:

O PropertyType deve ser o nome de uma Microsoft.Win32.RegistryValueKind enumeration member from the following table:

PropertyType Value Meaning
Binary Binary data
DWord A number that is a valid UInt32
ExpandString A string that can contain environment variables that are dynamically expanded
MultiString A multiline string
String Any string value
QWord 8 bytes of binary data

Nota

Você pode adicionar uma entrada de registro para vários locais especificando uma matriz de valores para thePath parâmetro:

Você também pode substituir uma pré-existentes, valor de entrada de registo adicionando o parâmetro Force para qualquerNew-ItemProperty comando.

Renomear Entradas de Registo

Para mudar o nome do PowerShellPath entrada para “PSHome,” use Rename-ItemProperty:

Rename-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -NewName PSHome

Para exibir o nome do valor, adicione o parâmetro PassThru para o comando.

apagar as entradas do registo

para apagar as entradas do registo PSHome e PowerShellPath, utilizar Remove-ItemProperty:

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *