Condividi tramite


New-CMQuery

Creare una query di Configuration Manager.

Sintassi

New-CMQuery
   [-Comment <String>]
   -Expression <String>
   [-LimitToCollectionId <String>]
   -Name <String>
   [-TargetClassName <String>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Usare questo cmdlet per creare una query in Configuration Manager.

Le query di Configuration Manager definiscono un'espressione WQL (WMI Query Language) per ottenere informazioni dal database del sito in base ai criteri specificati. WQL è simile a SQL, ma passa comunque attraverso il provider SMS anziché direttamente al database. WQL rimane quindi in base alla configurazione degli accessi in base al ruolo.

Le query possono restituire la maggior parte dei tipi di oggetti di Configuration Manager, tra cui computer, siti, raccolte, applicazioni e dati di inventario. Per altre informazioni, vedere Introduzione alle query in Configuration Manager.

Per impostazione predefinita, Configuration Manager include diverse query. È possibile usare il cmdlet Get-CMQuery per esaminare le query predefinite. Per altri esempi di espressioni WQL, vedere Query WQL di esempio.

Nota

Eseguire i cmdlet di Configuration Manager dall'unità del sito di Configuration Manager, ad esempio PS XYZ:\>. Per altre informazioni, vedere Introduzione.

Esempio

Esempio 1: Creare una nuova query per i server di una versione specifica

In questo esempio viene creata una nuova query denominata Server 2016 che cerca i client con la didascalia del sistema operativo che inizia con Microsoft Windows Server 2012. Restituisce le tre proprietà seguenti: Nome, Cognome utente di accesso e didascalia del sistema operativo.

New-CMQuery -Name "Server 2016" -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%"' -TargetClassName "SMS_R_System" -LimitToCollectionId "SMS00001"

Esempio 2: Creare una query per i dispositivi desktop

In questo esempio viene creata una nuova query denominata Dispositivi desktop che cerca i dispositivi con valori specifici per la proprietà Tipi chassis della classe System Enclosure . Restituisce più proprietà ed è limitata da una raccolta specifica.

New-CMQuery -Name "Desktop devices" -Expression 'select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ( "3", "4", "5","6", "7", "15","16")' -TargetClassName "SMS_R_System" -LimitToCollectionId "XYZ000049"

Parametri

-Comment

Specificare un commento facoltativo per identificare ulteriormente la query nel sito.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede la conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisableWildcardHandling

Questo parametro considera i caratteri jolly come valori letterali. Non è possibile combinarlo con ForceWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Expression

Specificare l'istruzione WQL che definisce gli attributi da visualizzare nei risultati e i criteri per limitare i risultati.

Le istruzioni WQL includono spesso virgolette doppie ("), quindi impostare il valore di questo parametro come stringa racchiusa tra virgolette singole (').

Per altri esempi, vedere Query WQL di esempio.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForceWildcardHandling

Questo parametro elabora caratteri jolly e può causare un comportamento imprevisto (non consigliato). Non è possibile combinarlo con DisableWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-LimitToCollectionId

Specificare come configurare la limitazione della raccolta per questa query:

  • Non limitato alla raccolta: impostare il valore di questo parametro su una stringa vuota (""). Non usare la $null variabile predefinita.
  • Limite alla raccolta: specificare l'ID di una raccolta. Ad esempio, "SMSDM003" per la raccolta Tutti i client desktop e server .
  • Richiedi raccolta: impostare il valore di questo parametro su "<Prompt>".
Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Name

Specificare il nome della query.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TargetClassName

Specificare il nome della classe oggetto che si desidera restituire la query. Sono disponibili molti tipi di oggetto. Nella tabella seguente sono elencati diversi nomi di classi comuni con la descrizione della console di Configuration Manager:

Nome classe Descrizione
SMS_R_System Risorsa di sistema
SMS_Program Programma
SMS_R_UserGroup Risorsa gruppo di utenti
SMS_R_User Risorsa utente
SMS_SiteAndSubsites Sito e siti secondari
SMS_R_UnknownSystem Computer sconosciuto
Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accade se viene eseguito il cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Output

IResultObject