TÓPICO
    about_WMI_cmdlets
    
DESCRIÇÃO RESUMIDA
    Fornece informações de segundo plano sobre WMI (Instrumentação de
    Gerenciamento do Windows) e Windows PowerShell.
           
DESCRIÇÃO LONGA
    Este tópico fornece informações sobre a tecnologia WMI, os cmdlets
    WMI para Windows PowerShell, comunicação remota com base em WMI,
    aceleradores WMI e solução de problemas de WMI. Este tópico
    também fornece links para outras informações sobre WMI.

                 
  Sobre WMI 

      A WMI (Instrumentação de Gerenciamento do Windows) é a
      implementação do WBEM (Gerenciamento Corporativo Baseado na
      Web) da Microsoft, que é uma iniciativa de mercado para
      desenvolver uma tecnologia padrão para acessar informações
      de gerenciamento em um ambiente corporativo. A WMI usa o
      padrão de mercado CIM (Modelo de Informação Comum) para
      representar sistemas, aplicativos, rede, dispositivos e outros
      componentes gerenciados. O CIM é desenvolvido e mantido pela
      DMTF (Distributed Management Task Force). Você pode usar a
      WMI para gerenciar computadores locais e remotos. Por exemplo,
      você pode usar a WMI para: 

          -- Iniciar um processo em um computador remoto.

          -- Reiniciar um computador remotamente.

          -- Obter uma lista de aplicativos instalados em um computador 
             local ou remoto.

          -- Consultar os logs de eventos do Windows em um computador
             local ou remoto.

 
  Os Cmdlets WMI para Windows PowerShell

      O Windows PowerShell implementa a funcionalidade de WMI por meio
      de um conjunto de cmdlets disponíveis no Windows PowerShell
      por padrão. Você pode usar esses cmdlets para concluir
      completamente as tarefas que são necessárias para gerenciar
      computadores local e remoto.
 
      Os seguintes cmdlets WMI estão inclusos.

      Cmdlet                 Descrição
      ------------------     ----------------------------------------------
      
      Get-WmiObject          Obtém instâncias das classes WMI ou
                             informações sobre as classes disponíveis.

      Invoke-WmiMethod       Chama métodos WMI.

      Register-WmiEvent      Assina um evento WMI.

      Remove-WmiObject       Exclui classes e instâncias WMI.

      Set-WmiInstance        Cria ou modifica instâncias de
                             classes WMI.

    
  Comandos de amostra

      Este comando exibe as informações do BIOS para o
      computador local.
         
          C:\PS> get-wmiobject win32_bios | format-list *

        
      Este comando exibe informações sobre os serviços do WinRM para
      três computadores remotos.
        
          C:\PS> get-wmiobject -query "select * from win32_service where name='WinRM'" -computername server01, server01, server03
                 

      Este comando mais complexo sai de todas as instâncias de um programa.
         
          C:\PS> notepad.exe
          C:\PS> $np = get-wmiobject -query "select * from win32_process where name='notepad.exe'" 
          C:\PS> $np | remove-wmiobject


  Comunicação remota com base em WMI 

      Embora a capacidade de gerenciar um sistema local por meio de
      WMI seja útil, são os recursos de comunicação remota que
      tornam a WMI uma ferramenta administrativa poderosa. A WMI
      usa o DCOM (Microsoft's Distributed Component Object Model)
      para se conectar e gerenciar sistemas. Talvez você queira
      configurar alguns sistemas para permitir conexões DCOM. As
      configurações de firewall e as permissões de DCOM bloqueadas
      podem impedir que a WMI gerencie remotamente os sistemas. 
   

  Aceleradores de tipo da WMI

      O Windows PowerShell inclui aceleradores de tipo da WMI. Esses aceleradores
      de tipo da WMI (atalhos) permitem acesso mais direto a objetos
      WMI que uma metodologia de acelerador que não é de tipo
      permitiria. 

      Os seguintes aceleradores de tipo têm suporte na WMI:

          [WMISEARCHER] - um atalho para procurar objetos WMI.

          [WMICLASS] - um atalho para acessar as propriedades e os
                       métodos estáticos de uma classe.

          [WMI] - um atalho para obter uma única instância de uma classe.

      [WMISEARCHER] é um acelerador de tipo para ManagementObjectSearcher.
      Ele pode ter um construtor de cadeia de caracteres para criar um
      pesquisador que posteriormente pode ativar um GET().

      Por exemplo:
    
      PS> $s = [WmiSearcher]'Select * from Win32_Process where Handlecount > 1000'
      PS> $s.Get() |sort handlecount |ft handlecount,__path,name -auto

      handlecount  __PATH                                              name
      -----------  ------                                              ----
      1105         \\SERVER01\root\cimv2:Win32_Process.Handle="3724"   powershell...
      1132         \\SERVER01\root\cimv2:Win32_Process.Handle="1388"   winlogon.exe
      1495         \\SERVER01\root\cimv2:Win32_Process.Handle="2852"   iexplore.exe
      1699         \\SERVER01\root\cimv2:Win32_Process.Handle="1204"   OUTLOOK.EXE
      1719         \\SERVER01\root\cimv2:Win32_Process.Handle="1912"   iexplore.exe
      2579         \\SERVER01\root\cimv2:Win32_Process.Handle="1768"   svchost.exe


      [WMICLASS] é um acelerador de tipo para ManagementClass. Ele tem um construtor 
      de cadeia de caracteres que obtém um caminho de WMI local ou absoluto para uma 
      classe de WMI e retorna um objeto que está vinculado a essa classe. 

      Por exemplo:

      PS> $c = [WMICLASS]"root\cimv2:WIn32_Process"
      PS> $c |fl *
      Name             : Win32_Process
      __GENUS          : 1
      __CLASS          : Win32_Process
      __SUPERCLASS     : CIM_Process
      __DYNASTY        : CIM_ManagedSystemElement
      __RELPATH        : Win32_Process
      __PROPERTY_COUNT : 45
      __DERIVATION     : {CIM_Process, CIM_LogicalElement, CIM_ManagedSystemElement}
      __SERVER         : SERVER01
      __NAMESPACE      : ROOT\cimv2
      __PATH           : \\SERVER01\ROOT\cimv2:Win32_Process

      [WMI] é um acelerador de tipo para ManagementObject. Ele tem um
      construtor de cadeia de caracteres que obtém um caminho de
      WMI local ou absoluto para uma instância de WMI e retorna
      um objeto que está vinculado a essa instância. 

      Por exemplo:

      PS> $p = [WMI]'\\SERVER01\root\cimv2:Win32_Process.Handle="1204"'
      PS> $p.Name
      OUTLOOK.EXE
 

  Solução de problemas de WMI 

      Os problemas a seguir são os mais comuns que podem ocorrer
      quando você tenta se conectar a um computador remoto.

    Problema 1: o computador remoto não está online. 

      Se o computador estiver offline, você não poderá se conectar a
      ele usando a WMI. Você pode receber a seguinte mensagem de erro:

          "O computador de servidor remoto não existe ou não está
          disponível."

      Se você receber essa mensagem de erro, verifique se o computador
      está online.
      Tente executar ping no computador remoto.
 
 
    Problema 2: você não tem direitos de administrador local no
                computador remoto.
 
      Para usar a WMI remotamente, você deve ter direitos de
      administrador local no computador remoto. Se você não tiver,
      o acesso àquele computador será negado.

      Para verificar a segurança de namespace:

          a. Clique em Iniciar, clique com o botão direito do mouse em
             Meu Computador e clique em Gerenciar.

          b. Em Gerenciamento do Computador, expanda Serviços e
             Aplicativos, clique com o botão direito do mouse em
             Controle WMI e, em seguida, clique em Propriedades.
          
          c. Na caixa de diálogo Propriedades de Controle WMI, clique
             na guia Segurança.
     
 
    Problema 3: um firewall está bloqueando o acesso ao computador remoto. 

      A WMI usa os protocolos DCOM (Distributed COM) e RPC (Remote
      Procedure Call) para atravessar a rede. Por padrão, muitos
      firewalls bloqueiam o tráfego DCOM e RPC. Se o seu firewall
      estiver bloqueando esses protocolos, sua conexão falhará.
      Por exemplo, o Firewall do Windows in Microsoft Windows XP
      Service Pack 2 está configurado para bloquear automaticamente
      todo o tráfego de rede não solicitado, inclusive DCOM e WMI.
      Em sua configuração padrão, o Firewall do Windows rejeita
      a solicitação de WMI e você recebe a seguinte mensagem de
      erro:

          "O computador de servidor remoto não existe ou não está disponível." 
       

  Para obter mais informações sobre WMI

      Para obter mais informações sobre WMI, consulte os tópicos a
      seguir na biblioteca do MSDN (Microsoft Developer Network):
      

          "Sobre WMI:
          https://go.microsoft.com/fwlink/?LinkId=142212

          "WMI Troubleshooting"
          https://go.microsoft.com/fwlink/?LinkId=142213


      E consulte "Secrets of Windows Management Instrumentation - Troubleshooting
      and Tips" no Microsoft TechNet Script Center:

          https://go.microsoft.com/fwlink/?LinkId=142214
 

CONSULTE TAMBÉM
    Versão online: https://go.microsoft.com/fwlink/?LinkId=142219
    Get-WmiObject
    Invoke-WmiMethod
    Register-WmiEvent
    Remove-WmiObject
    Set-WmiInstance





Sumário