Invoke-CMWmiQuery
Ejecute una consulta WMI.
Sintaxis
Invoke-CMWmiQuery
[-Context <Hashtable>]
[-Option <QueryOptions>]
[-Query] <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CMWmiQuery
-ClassName <String>
[-Context <Hashtable>]
[-Option <QueryOptions>]
-Search <SmsProviderSearch>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Invoke-CMWmiQuery ejecuta una consulta de Instrumental de administración de Windows (WMI). A diferencia de otros cmdlets o herramientas de consulta, con este cmdlet la conexión y el espacio de nombres ya están configurados para usted.
También puede usar este cmdlet para crear una consulta con lenguaje de consulta WMI (WQL). Configuration Manager usa WQL para consultas en colecciones. WQL es similar a SQL, pero sigue usando el proveedor de SMS, por lo que se rige por los controles de acceso basados en roles.
Nota:
Ejecute cmdlets de Configuration Manager desde la unidad de sitio de Configuration Manager, por ejemplo PS XYZ:\>
. Para obtener más información, consulte Introducción.
Ejemplos
Ejemplo 1: Ejecución de una consulta WQL
El primer comando crea una consulta WQL y la almacena en la variable $WQL . El segundo comando ejecuta la consulta almacenada en la variable .
$WQL = @"
SELECT app.* FROM SMS_ApplicationLatest AS app
INNER JOIN SMS_CIContentPackage AS con ON app.CI_ID=con.CI_ID
INNER JOIN SMS_DistributionPoint AS srv ON con.PackageID=srv.PackageID
WHERE app.IsHidden = 0
"@
Invoke-CMWmiQuery -Query $WQL -Option Lazy
Ejemplo 2: Ejecución de una consulta WMI para colecciones de dispositivos
El primer comando crea un objeto de búsqueda y almacena el objeto en la variable $Search .
El segundo comando especifica que el orden de búsqueda es ascendente por CollectionID.
El tercer comando agrega parámetros de búsqueda al objeto $Search . En este caso, la consulta busca colecciones de dispositivos.
El último comando ejecuta la consulta almacenada en $Search. Especifica SMS_Collection como la clase que contiene la propiedad CollectionID .
$Search = [Microsoft.ConfigurationManagement.PowerShell.Provider.SmsProviderSearch]::new()
$Search.AddOrder("CollectionID", [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOrderBy]::Asc)
$Search.Add("Name","DeviceCol*", $True)
Invoke-CMWmiQuery -Search $Search -ClassName "SMS_Collection" -Option Lazy
Ejemplo 3: Ejecución de una consulta WMI para sitios por estado
El primer comando borra los parámetros de búsqueda de cualquier objeto de búsqueda existente.
El segundo comando agrega parámetros de búsqueda al objeto $Search . En este caso, la consulta busca sitios.
El último comando ejecuta la consulta almacenada en $Search. Especifica SMS_Site como la clase que contiene la propiedad Status del sitio.
$Search.Clear()
$Search.Add("Status", $True)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Ejemplo 4: Ejecución de una consulta WMI para sitios por nombre
El primer comando borra los parámetros de búsqueda de cualquier objeto de búsqueda existente.
El segundo comando agrega parámetros de búsqueda al objeto $Search . En este caso, la consulta busca sitios.
El último comando ejecuta la consulta almacenada en $Search. Especifica SMS_Site como la clase que contiene la propiedad SiteName .
$Search.Clear()
$Search.Add("SiteName", $null, [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOperator]::NotEquals)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Ejemplo 5: Ejecución de una consulta WMI para aplicaciones
El primer comando borra los parámetros de búsqueda de cualquier objeto de búsqueda existente.
El segundo comando agrega parámetros de búsqueda al objeto $Search . En este caso, la consulta busca aplicaciones.
El último comando ejecuta la consulta almacenada en $Search. Especifica SMS_Application como la clase que contiene la propiedad CI_ID del sitio.
$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")
Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy
Parámetros
-ClassName
Especifica la clase WMI de Configuration Manager que desea consultar.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Solicitará confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Context
Especifique el contexto WMI como una tabla hash. Es una lista de pares nombre-valor que se pasan a un proveedor WMI que admite información de contexto para una operación personalizada.
Tipo: | Hashtable |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DisableWildcardHandling
Este parámetro trata los caracteres comodín como valores de caracteres literales. No se puede combinar con ForceWildcardHandling.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ForceWildcardHandling
Este parámetro procesa caracteres comodín y puede provocar un comportamiento inesperado (no recomendado). No se puede combinar con DisableWildcardHandling.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Option
La opción más común es Fast
.
Especifique una opción de consulta:
-
None
:Predeterminado -
Lazy
: de forma predeterminada, el cmdlet carga propiedades diferidas. -
Fast
: use esta opción para no cargar propiedades diferidas. Esta opción puede devolver resultados más rápidamente para algunas clases. -
ExpectResults
ExpectResultsThrowException
& : si la consulta no devuelve ningún resultado, inicie una excepción. Normalmente, esta excepción finaliza un script. -
FastExpectResults
LazyExpectResults
& : estas opciones se combinanFast
yLazy
conExpectResults
. -
ExpectResultsSoftFail
: si la consulta no devuelve ningún resultado, genere un error, pero no finalice el script.
Para obtener más información sobre las propiedades diferidas, consulte Propiedades diferidas de Configuration Manager.
Los siguientes valores son solo para uso interno:
- Clone
- NoMask
- NoRefresh
- IgnoreNoResults
Tipo: | QueryOptions |
Alias: | Options |
Valores aceptados: | None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Query
Especifica una instrucción lenguaje de consulta WMI (WQL).
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Search
Especifica un objeto SMSProviderSearch .
Tipo: | SmsProviderSearch |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que ocurriría si se ejecuta el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
None
Salidas
IResultObject[]
IResultObject