1.1K
WMI (Instrumentación de administración de Windows) proporciona una interfaz especial en Windows que se utiliza para administrar los sistemas operativos locales o remotos. WMI brinda acceso a cualquier configuración del sistema operativo, hardware, servicios del sistema, controladores y aplicaciones.
El servicio WMI es fundamental para realizar varias tareas de gestión y administración, y si no funciona correctamente, puede hacer que los clientes de la red se vuelvan inmanejables.
Para verificar rápidamente el estado del servicio WMI en la computadora local, puede usar el Obtener WmiObject Cmdlet de PowerShell:
Get-WmiObject -Query "Select * from win32_bios"
Esta simple consulta WMI debería mostrar información sobre el BIOS de su computadora.
Puede usar Get-WmiObject para probar WMI en una máquina remota. Solo agrega el -Nombre de la computadora parámetro y especifique el nombre DNS o la dirección IP del host remoto:
Get-WmiObject -Query "Select * from win32_bios" -ComputerName wks221s
Nota. Puede solicitar credenciales de administrador para conectarse a una computadora remota:
Get-WmiObject -Query "Select * from win32_bios" -ComputerName wks221s -Credential "MYDOMAINjbrion"
Este comando puede devolver un error:
Get-WmiObject: el servidor RPC no está disponible.
Compruebe si el servicio Instrumental de administración de Windows (Winmgmt) se está ejecutando en la computadora remota:
Get-service Winmgmt
Compruebe también que las conexiones WMI entrantes estén permitidas en el equipo remoto en el Firewall de Windows Defender. Habilitar el Instrumental de administración de Windows (WMI-In) regla.
Puede habilitar estas reglas de firewall mediante PowerShell:
Enable-NetFirewallRule -Name "WMI-WINMGMT-In-TCP", "WMI-RPCSS-In-TCP"
Pista. En PowerShell Core 6.x+, WMI no es compatible (porque PowerShell Core se basa en .Net Core). Al ejecutar el comando Get-WmiObject en pwsh.exe, aparece el error «El término ‘Get-WmiObject’ no se reconoce como el nombre de un cmdlet, función, archivo de script o programa ejecutable.» aparecerá. Utilice cmdlets CIM en lugar de WMI.
El siguiente comando consultará datos WMI a través de CIM:
Get-CimInstance -Query "Select * from win32_bios"
Puede utilizar el integrado prueba Herramienta GUI para conectarse a un espacio de nombres WMI local o remoto. Puede usar wbemtest para probar si WMI funciona correctamente:
- Ejecute el comando:
wbemtest
- Haga clic en el botón Conectar e ingrese el espacio de nombres WMI al que desea conectarse. Para conectarse a WMI en una computadora remota, use la siguiente cadena de conexión:
\TargetComuterootcimv2
- Haga clic en el botón Consulta e ingrese cualquier consulta WMI. Por ejemplo: SELECT * FROM Win32_OperatingSystem;
- Si WMI funciona correctamente, la utilidad devolverá un conjunto de objetos WMI. Haga doble clic en cualquier entrada. En este ejemplo, el objeto WMI contiene información sobre el sistema operativo de la computadora.
En Windows, las propiedades de los objetos WMI se almacenan en un repositorio especial ubicado en %SystemRoot%System32WBEMRepositorio.
El winmgmt.exe La herramienta de línea de comandos se utiliza para administrar el repositorio de WMI.
Por ejemplo, ejecute el siguiente comando para verificar la consistencia del repositorio WMI:
winmgmt.exe /verifyrepository
El repositorio WMI es consistente
Para verificar el repositorio de WMI y corregir todos los errores de inmediato:
winmgmt.exe /salvagerepository
Para restablecer la base de datos WMI a su estado predeterminado, ejecute:
winmgmt.exe /resetrepository