about_WMI_Cmdlets

Se aplica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

Insertar la introducción aquí.

TEMA

about_WMI_cmdlets

DESCRIPCIÓN BREVE

Proporciona información general sobre el Instrumental de administración de Windows (WMI) y Windows PowerShell®.

DESCRIPCIÓN LARGA

En este tema se ofrece información sobre la tecnología WMI, los cmdlets de WMI para Windows PowerShell, la comunicación remota basada en WMI, los aceleradores WMI y la solución de problemas de WMI. En este tema también se incluyen vínculos para obtener más información sobre WMI.

ACERCA DE WMI

Instrumental de administración de Windows (WMI) es la implementación de Microsoft de Web-Based Enterprise Management (WBEM), que es una iniciativa del sector para desarrollar una tecnología estándar para obtener acceso a la información de administración en un entorno empresarial. WMI utiliza el estándar de la industria, Modelo de información común (CIM), para representar sistemas, aplicaciones, redes, dispositivos y otros componentes administrados. El grupo de trabajo de administración distribuida (DMTF) desarrolla y mantiene CIM. Puede usar WMI para administrar equipos locales y remotos. Por ejemplo, puede utilizar WMI para hacer lo siguiente:

Iniciar un proceso en un equipo remoto.

Reiniciar un equipo de forma remota.

Obtener una lista de las aplicaciones que están instaladas en un equipo local o remoto.

Consultar los registros de eventos de Windows en un equipo local o remoto.

LOS CMDLETS DE WMI PARA WINDOWS POWERSHELL

Windows PowerShell implementa la funcionalidad WMI a través de un conjunto de cmdlets que están disponibles en Windows PowerShell de forma predeterminada. Puede usar estos cmdlets para realizar las tareas de un extremo a otro necesarias para administrar equipos locales y remotos.

Se incluyen los siguientes cmdlets de WMI.

      Cmdlet                 Description
      ------------------     ----------------------------------------------
      Get-WmiObject          Gets instances of WMI classes or information 
                             about the available classes.

      Invoke-WmiMethod       Calls WMI methods.

      Register-WmiEvent      Subscribes to a WMI event.

      Remove-WmiObject       Deletes WMI classes and instances.

      Set-WmiInstance        Creates or modifies instances of WMI classes.

COMANDOS DE EJEMPLO

El comando siguiente muestra la información de la BIOS del equipo local.

          C:\PS> get-wmiobject win32_bios | format-list *

El comando siguiente muestra información sobre el servicio WinRM de tres equipos remotos.

          C:\PS> get-wmiobject -query "select * from win32_service where name='WinRM'" -computername server01, server01, server03

El siguiente comando más complejo cierra todas las instancias de un programa.

          C:\PS> notepad.exe
          C:\PS> $np = get-wmiobject -query "select * from win32_process where name='notepad.exe'" 
          C:\PS> $np | remove-wmiobject

COMUNICACIÓN REMOTA BASADA EN WMI

Aunque la capacidad para administrar un sistema local mediante WMI es útil, son las capacidades de comunicación remota las que hacen que WMI sea una poderosa herramienta administrativa. WMI utiliza el Modelo de objetos de componentes distribuido (DCOM) de Microsoft para conectarse y administrar sistemas. Es posible que deba configurar algunos sistemas para permitir conexiones de DCOM. La configuración del firewall y los permisos de DCOM bloqueados pueden impedir el funcionamiento de la capacidad de WMI para administrar de forma remota sistemas.

ACELERADORES DE TIPO WMI

Windows PowerShell incluye aceleradores de tipo WMI. Estos aceleradores de tipo WMI (accesos directos) permiten un acceso más directo a objetos WMI respecto al que permitiría un enfoque que no fuera de tipo acelerador.

Los aceleradores de tipo siguientes son compatibles con WMI:

[WMISEARCHER]

Un acceso directo para buscar objetos WMI.

[WMICLASS]

Un acceso directo para acceder a los métodos y propiedades estáticas de una clase.

[WMI]

Un acceso directo para obtener una única instancia de una clase.

[WMISEARCHER]

Es un acelerador de tipo para un elemento ManagementObjectSearcher. Puede tomar un constructor de cadena para crear un buscador en el que después puede realizar una operación GET().

Por ejemplo:

      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]

Es un acelerador de tipo para ManagementClass. Tiene un constructor de cadena que toma una ruta de acceso de WMI local o absoluta a una clase de WMI y devuelve un objeto que está enlazado a esa clase.

Por ejemplo:

      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]

Es un acelerador de tipo para ManagementObject. Tiene un constructor de cadena que toma una ruta de acceso de WMI local o absoluta a una instancia de WMI y devuelve un objeto que está enlazado a esa instancia.

Por ejemplo:

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

SOLUCIÓN DE PROBLEMAS DE WMI

Los problemas siguientes son los problemas más comunes que pueden producirse cuando intenta conectarse a un equipo remoto.

Problema 1:

el equipo remoto no está en línea.

Si un equipo está sin conexión, no podrá conectarse a él mediante WMI. Puede recibir el mensaje de error siguiente:

          "Remote server machine does not exist or is unavailable"

Si recibe este mensaje de error, compruebe que el equipo está en línea. Intente hacer ping al equipo remoto.

Problema 2:

no tiene derechos de administrador local en el equipo remoto.

Para utilizar WMI de forma remota, debe tener derechos de administrador local en el equipo remoto. Si no los tiene, se denegará el acceso a ese equipo.

Para comprobar la seguridad del espacio de nombres:

a. Haga clic en Inicio, haga clic con el botón derecho en Mi PC y luego haga clic en Administrar.

b. En Administración de equipos, expanda Servicios y aplicaciones, haga clic con el botón derecho en Control WMI y después haga clic en Propiedades.

c. En el cuadro de diálogo Propiedades: Control WMI, haga clic en la pestaña Seguridad.

Problema 3:

un firewall está bloqueando el acceso al equipo remoto.

WMI utiliza los protocolos DCOM (COM distribuido) y RPC (llamada a procedimiento remoto) para recorrer la red. De forma predeterminada, muchos firewalls bloquean el tráfico DCOM y RPC. Si el firewall bloquea estos protocolos, se producirá un error en la conexión. Por ejemplo, Firewall de Windows en Microsoft Windows XP Service Pack 2 está configurado para bloquear automáticamente todo tráfico de red no solicitado, incluido el tráfico DCOM y WMI. En su configuración predeterminada, Firewall de Windows rechazará una solicitud WMI entrante y usted recibirá el mensaje de error siguiente:

          "Remote server machine does not exist or is unavailable"

Más información sobre WMI

Para más información sobre WMI, consulte los temas siguientes en MSDN (Microsoft Developer Network) Library:

"Acerca de WMI:

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

"Solución de problemas de WMI"

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

Y consulte "Secretos de Instrumental de administración de Windows: solución de problemas y sugerencias" en el Centro de scripts de Microsoft TechNet:

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

VEA TAMBIÉN

Versión en línea: https://go.microsoft.com/fwlink/?LinkId=142219

Get-WmiObject

Invoke-WmiMethod

Register-WmiEvent

Remove-WmiObject

Set-WmiInstance