Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una característica muy útil de WMI es que se pueden realizar consultas de datos y recuperar subconjuntos de información en función de unos criterios determinados. En un escenario distribuido, la consulta se ejecuta cerca del origen de la información (en el equipo de donde proceden los datos) para que sea más eficaz y sólo los resultados se envían a través de una conexión. Para obtener más información acerca de las consultas en WMI, vea la documentación de WMI en MSDN.
En el ejemplo de código siguiente se demuestra cómo se puede realizar una consulta mediante la clase ManagementObjectSearcher. Se puede especificar la consulta como una cadena en el formato WQL admitido por WMI o se puede construir mediante una de las varias clases de consulta disponibles. En este caso, la clase SelectQuery se usa únicamente para especificar una solicitud de variables del entorno del sistema. Los resultados se devuelven en una colección que se puede enumerar.
using System;
using System.Management;
// This example demonstrates how to perform an object query.
public class QueryInstances {
public static int Main(string[] args) {
// Create a query for system environment variables only
SelectQuery query =
new SelectQuery("Win32_Environment", "UserName=\"<SYSTEM>\"");
// Initialize an object searcher with this query
ManagementObjectSearcher searcher =
new ManagementObjectSearcher(query);
// Get the resulting collection and loop through it
foreach (ManagementBaseObject envVar in searcher.Get()) {
Console.WriteLine("System environment variable {0} = {1}",
envVar["Name"], envVar["VariableValue"]);
}
return 0;
}
}
[Visual Basic]
Imports System
Imports System.Management
' This example demonstrates how to perform an object query.
Public Class QueryInstances
Overloads Public Shared Function Main(args() As String) As Integer
' Create a query for system environment variables only
Dim query As _
New SelectQuery("Win32_Environment", "UserName=""<SYSTEM>""")
' Initialize an object searcher with this query
Dim searcher As New ManagementObjectSearcher(query)
' Get the resulting collection and loop through it
Dim envVar As ManagementBaseObject
For Each envVar In searcher.Get()
Console.WriteLine("System environment variable {0} = {1}", _
envVar("Name"), envVar("VariableValue"))
Next envVar
Return 0
End Function
End Class
Vea también
Acceso a la información de administración con System.Management | Recuperar colecciones de objetos de administración | Suscribir y consumir eventos | Ejecutar métodos en objetos de administración | Interacción remota y opciones de conexión | Utilizar objetos con establecimiento inflexible de tipos