Partilhar via


Usando WMI

Você pode usar o WMI a partir de aplicativos cliente e scripts. Ele fornece uma infraestrutura que facilita a descoberta e a execução de tarefas de gerenciamento. Além disso, você pode adicionar ao conjunto de possíveis tarefas de gerenciamento criando seus próprios provedores WMI.

Observação

A versão de próxima geração do WMI para escrever aplicativos e scripts está disponível por meio da Infraestrutura de Gerenciamento do Windows (MI). Para obter mais informações, consulte MI Providers and Clients.

Os seguintes tópicos são discutidos nesta seção:

Obtendo dados do WMI

O procedimento a seguir descreve como obter dados do WMI escrevendo um script ou aplicativo.

Para obter dados do WMI escrevendo um script ou aplicativo

  1. Decida qual idioma usar. Para obter mais informações sobre scripts, consulte Criando um script WMI. Para obter mais informações sobre C++, consulte Criando um aplicativo WMI usando C++. Para usar mais informações sobre C# ou WMI .NET, consulte Visão geral do WMI .NET .

    Você pode visualizar ou manipular dados WMI em vários idiomas. A tabela a seguir lista os tópicos que descrevem como usar as linguagens de script e aplicativo para obter dados.

Língua de aplicação Tópico
Scripts escritos em hospedagem de scripts Microsoft ActiveX, incluindo Visual Basic Scripting Edition (VBScript) e Perl
API de script para WMI.
Comece com Criando um script WMI.
Para obter exemplos de código de script, consulte WMI Tasks for Scripts and Applications e o TechNet ScriptCenter Script Repository.
Windows PowerShell
Introdução ao Windows PowerShell
Cmdlets do PowerShell WMI, como Get-WmiObject.
Aplicativos Visual Basic
API de script para WMI.
Páginas do Ative Server
API de script para WMI.
Comece com Criando Active Server Pages para WMI.
Aplicativos C++
API COM para WMI.
Comece com Criando um aplicativo WMI usando C++ e Exemplos de aplicativos WMI C++ (contém exemplos).
Aplicativos .NET Framework escritos em C#, Visual Basic .NET ou J#
Classes na namespace Microsoft.Management.Infrastructure .
Nota:System.Management era o namespace original que cobria o código gerenciado para WMI. No entanto, a tecnologia subjacente do System.Management é geralmente mais lenta e não se dimensiona tão bem quanto a Microsoft.Management.Infrastructure. Como tal, não é recomendável que você use System.Management para novos projetos. (Para obter mais informações sobre System.Management, consulte Visão geral do WMI .NET.)
  1. Certifique-se de que as suas ligações a computadores remotos funcionam.

    Para obter mais informações, consulte Conectando-se ao WMI em um computador remoto.

  2. A conexão com o WMI em computadores remotos requer as configurações de segurança corretas, conforme explicado em Manter a Segurança do WMI. A tabela a seguir lista os tópicos que descrevem como definir configurações de segurança com as linguagens de script e aplicativo.

    Idioma Tópico
    Scripts em qualquer linguagem, aplicativos Visual Basic
    Definindo o nível de segurança de processo padrão usando VBScript
    Páginas do Ative Server
    Configurando o IIS 5 e versões posteriores para script WMI ASP
    C++
    Definindo o nível de segurança de processo padrão usando C++ e Definindo a segurança em IWbemServices e outros proxies
  3. Depois de se conectar ao WMI, você pode obter dados por meio de consultas e enumerações.

    Para obter mais informações, consulte Manipulando informações de classe e instância e Consultando com WQL.

  4. Os dados do Registro estão disponíveis através do WMI e você pode criar novas chaves e valores ou modificar os existentes.

    Para obter mais informações, consulte Modificar o registo do sistema.

  5. Você pode assinar notificações de eventos por meio do WMI, temporariamente entre as reinicializações do sistema ou permanentemente.

    Para obter mais informações, consulte Monitorização de Eventos e Receber um Evento WMI.

  6. Os dados do contador de desempenho de um sistema estão disponíveis através do WMI.

    Os contadores da biblioteca de desempenho do sistema são convertidos em classes WMI. Para obter mais informações, consulte Monitorização de Dados de Desempenho.

  7. WMI Tasks for Scripts and Applications descreve como executar muitas tarefas administrativas com o WMI.

Fornecendo dados ao WMI

O procedimento a seguir descreve como fornecer dados ao WMI escrevendo um provedor.

Para fornecer dados ao WMI escrevendo um provedor

  • Decida sobre o tipo de provedor a escrever.

    Não é possível escrever um provedor WMI no VBScript. No entanto, você pode adotar várias outras abordagens para escrever um provedor WMI COM:

    • Usando o Assistente de ATL WMI no Visual Studio.

      Essa abordagem cria um provedor COM não gerenciado. Para obter mais informações, consulte Adicionando um provedor de instância WMI e Adicionando um provedor de eventos WMI.

    • Usando COM diretamente em qualquer ambiente de desenvolvimento integrado.

      Essa abordagem cria um provedor COM não gerenciado.

    • Usando WMI no .NET Framework para criar um provedor de código gerenciado.

      Essa abordagem cria um provedor de código gerenciado. Os provedores de código gerenciado podem ser escritos em qualquer linguagem do .NET Framework, são mais simples de escrever do que os provedores WMI COM e podem obter dados das classes baseadas em do WMI, como Win32 Classes. No entanto, o provedor WMI do .NET Framework tem algumas limitações. Para obter mais informações, consulte Gerenciando aplicativos usando WMI.

    • Não é recomendado o uso das classes de estrutura do fornecedor .

      A estrutura do provedor foi substituída pelos assistentes WMI ATL, pelos provedores do .NET Framework ou pelo uso direto de COM. A criação de um provedor WMI COM com as classes de estrutura do provedor não é mais recomendada. A tabela a seguir lista os tópicos que descrevem como usar provedores COM ou .NET Framework.

    Fornecedor Tópico
    O provedor COM no mesmo processo que o WMI
    Fornecimento de dados para o WMI
    Fornecedor COM desacoplado
    Incorporando um provedor em um aplicativo
    Provedor do .NET Framework em C# ou Visual Basic.NET
    Gerenciando aplicativos usando WMI

Tarefas importantes para WMI

Os tópicos a seguir fornecem informações sobre como usar o WMI para monitorar e controlar componentes corporativos.

Tópico Descrição
tarefas WMI para scripts e aplicativos
Descreve como localizar a classe WMI correta e procedimentos para usar em scripts e aplicativos que executam tarefas comuns de administração de computador e rede, como adicionar uma nova conexão de impressora para um computador remoto ou localizar todos os hotfixes instalados em um computador.
Criando um aplicativo ou script WMI
Qualquer linguagem de script, como VBScript ou Perl, que funcione com objetos ActiveX pode acessar dados WMI. As aplicações podem aceder ao WMI em C++, usando a API COM para WMI ou no Visual Basic, usando a biblioteca de tiposWbemdisp.tlb e a API de Scripting para WMI.
Conectando-se ao WMI em um computador remoto
Descreve como scripts, aplicativos e provedores podem estabelecer conexões com WMI em computadores remotos para obter dados ou controlar hardware e software.
Conectando-se ao WMI em um computador remoto usando o Windows PowerShell
Descreve como usar o Windows PowerShell para estabelecer conexões com o WMI em computadores remotos para obter dados ou controlar hardware e software.
Monitoramento de eventos
Descreve como obter notificações de eventos criando consumidores de eventos WMI temporários ou permanentes.
Fornecimento de dados para WMI
O WMI fornece dados de gerenciamento dinâmico para scripts e aplicativos de clientes obtendo-os de provedores.
Obtendo e fornecendo dados em um computador de 64 bits
Descreve como aceder a fornecedores não predeterminados e considerações para desenvolvedores de fornecedores em sistemas de 64 bits.