Tarefas do WMI: Registro
Tarefas WMI para o registro criam e modificam valores e chaves 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.
Executar um script
- Copie o código e salve-o em um arquivo com uma extensão .vbs, como filename.vbs. Verifique se o editor de texto não adiciona uma extensão .txt ao arquivo.
- Abra uma janela do prompt de comando e navegue até o diretório onde você salvou o arquivo.
- Digite cscript filename.vbs no prompt de comando.
- Se você não puder acessar um log de eventos, verifique se está em execução em um prompt de comando com privilégios elevados. Alguns Logs de Eventos, como o Log de Eventos de Segurança, podem ser protegidos pelos Controles de Acesso do Usuário (UAC).
Nota
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 a classe stdRegProv, localizada no namespace raiz\padrão. Você não pode obter instâncias dessa classe porque o provedor de registro do sistema é 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 raiz\cimv2, obtém dados sobre o registro como um todo, como o tamanho dele.
|
||||||||
... criar uma nova chave do Registro? | Use a classe StdRegProv, localizada no namespace raiz\padrão, e o método CreateKey.
|
||||||||
... criar um novo valor do Registro em uma chave? | Use a classeStdRegProv, localizada no namespace raiz\padrão, e o método CreateKey. Em seguida, use um dos métodos Set, dependendo do tipo de dados do Registro que o valor é, como o SetDWORDValue. Os métodos Set criarão um valor se ele ainda não existir. Para obter mais informações, consulte mapeamento de um tipo de dados do Registro para um tipo de dados WMI.
|
||||||||
... evitar receber um erro de classe inválido ao tentar escrever um script para ler o registro? | Use o namespace raiz\padrão ao acessar a classeStdRegProv. stdRegProv não faz parte do namespace cimv2, e é por isso que um erro de "Classe Inválida" é gerado se você tentar se conectar a "root\cimv2:StdRegProv".
|
||||||||
... verificar a segurança em uma chave específica do Registro? | Use a classeStdRegProv, localizada no namespace raiz\padrão e no método CheckAccess. Você só pode verificar os direitos de acesso do usuário atual que está executando o script ou aplicativo. Não é possível verificar os direitos de acesso de outro usuário especificado. |
||||||||
... ler e gravar valores binários do Registro? | Use a classeStdRegProv, localizada no namespace "Root\Default" e nos métodos GetBinaryValue e SetBinaryValue. Os valores do Registro que aparecem no utilitário RegEdt32 como uma série de valores hexadecimal de bytes estão no formato de dados REG_BINARY. Para obter mais informações, consulte mapeamento de 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 no 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 raiz\padrão e nos métodos GetMultiStringValue e 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 mapeamento de 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 de multistring.
O script a seguir lê o valor de multistring.
|
||||||||
... remover uma chave do Registro? | Use a classeStdRegProv, localizada no namespace raiz\padrão e nos métodos DeleteKey.
|