Vous êtes sur la page 1sur 5

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:
http://go.microsoft.com/fwlink/?LinkId=142212

"WMI Troubleshooting"
http://go.microsoft.com/fwlink/?LinkId=142213
E consulte "Secrets of Windows Management Instrumentation - Troubleshooting
and Tips" no Microsoft TechNet Script Center:

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

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

Vous aimerez peut-être aussi