Tarefas WMI: Registro
As tarefas WMI para o Registro criam e modificam chaves e valores do Registro. Para obter outros exemplos, consulte o TechNet ScriptCenter em https://www.microsoft.com/technet.
Os exemplos de script mostrados neste tópico obtêm dados somente do computador local. Para obter mais informações sobre como usar o script para obter dados de computadores remotos, consulte Conectando-se ao WMI em um computador remoto.
O procedimento a seguir descreve como executar um script.
Para executar um script
- Copie o código e salve-o em um arquivo com uma extensão .vbs, como filename.vbs. Certifique-se de que o editor de texto não adiciona uma extensão .txt ao arquivo.
- Abra uma janela de prompt de comando e navegue até o diretório onde você salvou o arquivo.
- Digite cscript filename.vbs no prompt de comando.
- Se não conseguir aceder a um registo de eventos, verifique se está a executar a partir de uma linha de comandos Elevados. Alguns Logs de Eventos, como o Log de Eventos de Segurança, podem estar protegidos por Controles de Acesso de Usuário (UAC).
Observação
Por padrão, o cscript exibe a saída de um script na janela do prompt de comando. Como os scripts WMI podem produzir grandes quantidades de saída, convém redirecionar a saída para um arquivo. Digite cscript filename.vbs > outfile.txt no prompt de comando para redirecionar a saída do script filename.vbs para outfile.txt.
A tabela a seguir lista exemplos de script que podem ser usados para obter vários tipos de dados do computador local.
Como faço para... | Classes ou métodos WMI | ||||||||
---|---|---|---|---|---|---|---|---|---|
... ler valores de chave do Registro usando WMI? | Use o classe StdRegProv, localizada em root\default namespace. Você não pode obter nenhuma instância dessa classe porque o System Registry Provider é apenas um método e provedor de eventos. No entanto, você pode obter dados do Registro por meio de métodos como EnumKey ou EnumValue. O Win32_Registry, localizado no namespace root\cimv2, obtém dados sobre o registro como um todo, como seu tamanho.
|
||||||||
... Criar uma nova chave de registo? | Use a classeStdRegProv, localizada em root\default namespace, e o CreateKey método.
|
||||||||
... Criar um novo valor do Registro sob uma chave? | Use a classeStdRegProv, localizada no namespace root\default, e o método CreateKey. Em seguida, use um dos métodos set, dependendo de qual tipo de dados do Registro o valor é, como o SetDWORDValue. Os métodos set criam um valor se ele ainda não existir. Para obter mais informações, consulte Mapeando um tipo de dados do Registro para um tipo de dados WMI.
|
||||||||
... evitar obter um erro de classe inválida ao tentar escrever um script para ler o registro? | Use o namespace root\default ao acessar a classeStdRegProv. StdRegProv não faz parte do namespace cimv2, e é por isso que um erro "Classe inválida" é gerado se você tentar se conectar a "root\cimv2:StdRegProv".
|
||||||||
... verificar a segurança em uma chave de registro específica? | Use a classeStdRegProv, localizada no namespace root\default e o método CheckAccess. Você só pode verificar os direitos de acesso para o usuário atual que está executando o script ou aplicativo. Não é possível verificar os direitos de acesso para outro usuário especificado. |
||||||||
... ler e escrever valores binários do registo? | Use a classeStdRegProv, localizada no namespace "Root\Default" e os GetBinaryValue e métodos de SetBinaryValue. Os valores do Registro que aparecem no utilitário RegEdt32 como uma série de valores hexadecimais de byte estão no formato de dados REG_BINARY. Para obter mais informações, consulte Mapeando um tipo de dados do Registro para um tipo de dados WMI. O exemplo de código VBScript a seguir cria uma nova chave com um valor binário. O valor binário é fornecido no iValues matriz de bytes especificada em Hex.
O script a seguir lê o valor binário.
|
||||||||
... Ler e gravar valores do Registro que contêm várias cadeias de caracteres? | Use a classeStdRegProv, localizada no namespace root\default e os GetMultiStringValue e métodos de SetMultiStringValue. As chaves do Registro que aparecem no utilitário RegEdt32 como uma série de cadeias de caracteres separadas por espaços estão no formato de dados REG_MULTI_SZ. Para obter mais informações, consulte Mapeando um tipo de dados do Registro para um tipo de dados WMI. O exemplo de código VBScript a seguir cria uma nova chave e um novo valor multistring.
O script a seguir lê o valor multistring.
|
||||||||
... Remover uma chave de registo? | Use a classeStdRegProv, localizada em root\default namespace e os métodos DeleteKey.
|