New-CMQuery
Erstellen Sie eine Configuration Manager Abfrage.
Syntax
New-CMQuery
[-Comment <String>]
-Expression <String>
[-LimitToCollectionId <String>]
-Name <String>
[-TargetClassName <String>]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Verwenden Sie dieses Cmdlet, um eine Abfrage in Configuration Manager zu erstellen.
Configuration Manager Abfragen definieren einen WMI Query Language-Ausdruck (WQL), um Informationen aus der Standortdatenbank basierend auf den von Ihnen angegebenen Kriterien abzurufen. WQL ähnelt SQL, überläuft aber weiterhin den SMS-Anbieter und nicht direkt in die Datenbank. Daher hält sich WQL weiterhin an Ihre rollenbasierte Zugriffskonfiguration.
Abfragen können die meisten Typen von Configuration Manager-Objekten zurückgeben, z. B. Computer, Standorte, Sammlungen, Anwendungen und Bestandsdaten. Weitere Informationen finden Sie unter Einführung in Abfragen in Configuration Manager.
Standardmäßig enthält Configuration Manager mehrere Abfragen. Sie können das Cmdlet Get-CMQuery verwenden, um die Standardabfragen zu überprüfen. Weitere Beispiele für WQL-Ausdrücke finden Sie unter Beispiel für WQL-Abfragen.
Hinweis
Führen Sie Configuration Manager Cmdlets auf dem Configuration Manager-Websitelaufwerk aus, z. PS XYZ:\>
B. . Weitere Informationen finden Sie unter Erste Schritte.
Beispiele
Beispiel 1: Erstellen einer neuen Abfrage für Server einer bestimmten Version
In diesem Beispiel wird eine neue Abfrage mit dem Namen Server 2016 erstellt, die nach Clients mit der Betriebssystembeschriftung sucht, die mit Microsoft Windows Server 2012 beginnt. Es werden die folgenden drei Eigenschaften zurückgegeben: Name, Benutzername der letzten Anmeldung und Beschriftung des Betriebssystems.
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"
Beispiel 2: Erstellen einer Abfrage für Desktopgeräte
In diesem Beispiel wird eine neue Abfrage mit dem Namen Desktopgeräte erstellt, die nach Geräten mit bestimmten Werten für die Eigenschaft Chassis types der System Enclosure-Klasse sucht. Es gibt mehrere Eigenschaften zurück und wird durch eine bestimmte Auflistung eingeschränkt.
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"
Parameter
-Comment
Geben Sie einen optionalen Kommentar an, um die Abfrage auf der Website weiter zu identifizieren.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expression
Geben Sie die WQL-Anweisung an, die die attribute definiert, die in den Ergebnissen angezeigt werden sollen, und die Kriterien zum Einschränken der Ergebnisse.
WQL-Anweisungen enthalten häufig doppelte Anführungszeichen ("
). Legen Sie daher den Wert dieses Parameters als Zeichenfolge fest, die in einfache Anführungszeichen ('
) eingeschlossen ist.
Weitere Beispiele finden Sie unter Beispiel für WQL-Abfragen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LimitToCollectionId
Geben Sie an, wie die Sammlungsbegrenzung für diese Abfrage konfiguriert werden soll:
- Keine Sammlungsbegrenzung: Legen Sie den Wert dieses Parameters auf eine leere Zeichenfolge (
""
) fest. Verwenden Sie nicht die$null
integrierte Variable. - Limit to collection (Auf Sammlung beschränken): Geben Sie die ID einer Sammlung an. Beispiel
"SMSDM003"
: Für die Sammlung Alle Desktop- und Serverclients . - Aufforderung zur Sammlung: Legen Sie den Wert dieses Parameters auf fest
"<Prompt>"
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Geben Sie den Namen der Abfrage an.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TargetClassName
Geben Sie den Namen der Objektklasse an, die von der Abfrage zurückgegeben werden soll. Es sind viele Objekttypen verfügbar. In der folgenden Tabelle sind mehrere allgemeine Klassennamen mit der Beschreibung aus der Configuration Manager-Konsole aufgeführt:
Name der Klasse | Beschreibung |
---|---|
SMS_R_System |
Systemressource |
SMS_Program |
Programm |
SMS_R_UserGroup |
Benutzergruppenressource |
SMS_R_User |
User-Ressource |
SMS_SiteAndSubsites |
Website und Unterwebsites |
SMS_R_UnknownSystem |
Unbekannter Computer |
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Ausgaben
IResultObject
Ähnliche Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für