Invoke-CMQuery
Ejecute una consulta de Configuration Manager.
Syntax
Invoke-CMQuery
-InputObject <IResultObject>
[-LimitToCollectionId <String>]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CMQuery
-Id <String>
[-LimitToCollectionId <String>]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CMQuery
[-LimitToCollectionId <String>]
-Name <String>
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Use este cmdlet para ejecutar una consulta en el sitio de Configuration Manager. Configuration Manager consultas definen una expresión de lenguaje de consulta WMI (WQL) para obtener información de la base de datos del sitio en función de los criterios que proporcione. WQL es similar a SQL, pero sigue pasando por el proveedor de SMS en lugar de directamente a la base de datos. Por lo tanto, WQL sigue cumpliendo con la configuración de acceso basada en roles.
Al ejecutar una consulta, el sitio procesa la expresión WQL y devuelve los resultados en PowerShell. Dependiendo de la estructura de la instrucción WQL, el formato de los resultados puede variar.
Las consultas pueden devolver la mayoría de los tipos de objetos Configuration Manager, que incluyen equipos, sitios, colecciones, aplicaciones y datos de inventario. Para obtener más información, consulte Introducción a las consultas en Configuration Manager.
Nota:
Ejecute cmdlets de Configuration Manager desde la unidad de sitio Configuration Manager, por ejemploPS XYZ:\>
. Para obtener más información, consulte Introducción.
Ejemplos
Ejemplo 1: Visualización y ejecución de una consulta predeterminada
En este ejemplo se muestra primero el cmdlet Get-CMQuery para mostrar las propiedades de la consulta predeterminada, This Site y sus subsitios.
A continuación, muestra el cmdlet Invoke-CMQuery para ejecutar la misma consulta y mostrar los resultados.
PS XYZ:\> Get-CMQuery -Id "SMS012"
SmsProviderObjectPath : SMS_Query.QueryID="SMS012"
Comments : This site and all its subsites in the ConfigMgr hierarchy
Expression : SELECT SiteCode, SiteName, Version, ServerName FROM sms_siteandsubsites
LimitToCollectionID :
LocalizedCategoryInstanceNames : {}
Name : This Site and its Subsites
QueryID : SMS012
ResultAliasNames : {sms_siteandsubsites, sms_siteandsubsites, sms_siteandsubsites, sms_siteandsubsites}
ResultColumnsNames : {sms_siteandsubsites.SiteCode, sms_siteandsubsites.SiteName,
sms_siteandsubsites.Version, sms_siteandsubsites.ServerName}
TargetClassName : sms_siteandsubsites
PS XYZ:\> Invoke-CMQuery -Id "SMS012"
SmsProviderObjectPath : SMS_SiteAndSubsites.SiteCode="XYZ"
ServerName : cmserver.contoso.com
SiteCode : XYZ
SiteName : Production primary site
Version : 5.00.9043.1000
Observe en la salida del cmdlet Get-CMQuery que la expresión WQL es sencilla. Selecciona cuatro atributos de una sola clase.
A continuación, observe cómo la salida del cmdlet Invoke-CMQuery es una tabla sencilla.
Ejemplo 2: Visualización y ejecución de una consulta compleja
En este ejemplo se muestra primero el cmdlet Get-CMQuery para mostrar las propiedades de una consulta personalizada.
A continuación, muestra el cmdlet Invoke-CMQuery para ejecutar la misma consulta y mostrar los resultados.
PS XYZ:\> Get-CMQuery -Id "XYZ00002"
SmsProviderObjectPath : SMS_Query.QueryID="XYZ00002"
Comments :
Expression : select SMS_R_System.Name, SMS_R_System.LastLogonUserName,
SMS_G_System_OPERATING_SYSTEM.Caption from SMS_R_System inner join
SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID =
SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like "Microsoft Windows Server 2012%"
LimitToCollectionID : XYZ0025F
LocalizedCategoryInstanceNames : {}
Name : Server 2016
QueryID : XYZ00002
ResultAliasNames : {SMS_R_System, SMS_R_System, SMS_G_System_OPERATING_SYSTEM}
ResultColumnsNames : {SMS_R_System.Name, SMS_R_System.LastLogonUserName,
SMS_G_System_OPERATING_SYSTEM.Caption}
TargetClassName : SMS_R_System
PS XYZ:\> Invoke-CMQuery -Id "XYZ00002"
SmsProviderObjectPath : __GENERIC
SMS_G_System_OPERATING_SYSTEM :
instance of SMS_G_System_OPERATING_SYSTEM
{
Caption = "Microsoft Windows Server 2012 R2 Datacenter";
};
SMS_R_System :
instance of SMS_R_System
{
LastLogonUserName = "jqpublic";
Name = "millcreek01";
};
Esta consulta tiene una expresión más compleja que combina dos clases. El resultado de la consulta es más complejo.
Parámetros
-Confirm
Solicitará confirmación antes de ejecutar el cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
Este parámetro trata los caracteres comodín como valores de caracteres literales. No se puede combinar con ForceWildcardHandling.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
Este parámetro procesa caracteres comodín y puede provocar un comportamiento inesperado (no recomendado). No se puede combinar con DisableWildcardHandling.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Especifique el identificador de la consulta que se va a ejecutar. Por ejemplo, "XYZ00006"
.
Type: | String |
Aliases: | QueryId |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifique un objeto de consulta que se va a ejecutar. Para obtener este objeto, use el cmdlet Get-CMQuery .
Type: | IResultObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LimitToCollectionId
Si la consulta está configurada para solicitar la colección de limitación, use este parámetro para especificar un identificador de colección. Si la propiedad LimitToCollectionID de la consulta es <Prompt>
y no incluye este parámetro al ejecutar la consulta, se produce un error en el cmdlet.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Especifique el nombre de la consulta que se va a ejecutar.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que ocurriría si se ejecuta el cmdlet. El cmdlet no se ejecuta.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
Salidas
System.Object
Vínculos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de