Invoke-CMWmiQuery
SYNOPSIS
Uruchom zapytanie WMI.
SYNTAX
ByWql (ustawienie domyślne)
Invoke-CMWmiQuery [-Context <Hashtable>] [-Option <QueryOptions>] [-Query] <String> [-DisableWildcardHandling]
[-ForceWildcardHandling] [-WhatIf] [-Confirm] [<CommonParameters>]
BySearch
Invoke-CMWmiQuery -ClassName <String> [-Context <Hashtable>] [-Option <QueryOptions>]
-Search <SmsProviderSearch> [-DisableWildcardHandling] [-ForceWildcardHandling] [-WhatIf] [-Confirm]
[<CommonParameters>]
DESCRIPTION
Polecenie cmdlet Invoke-CMWmiQuery uruchamia zapytanie Windows Management Instrumentation (WMI). W przeciwieństwie do innych cmdlet zapytań lub narzędzi, to polecenie cmdlet umożliwia skonfigurowanie połączenia i przestrzeni nazw.
To polecenie cmdlet umożliwia również utworzenie zapytania za pomocą język zapytań usługi WMI (WQL). Menedżer konfiguracji używa WQL do zapytań w kolekcjach. WQL jest podobny do SQL, ale nadal używa dostawcy programu SMS, dlatego przestrzega kontroli dostępu opartej na rolach.
Uwaga
Uruchom Menedżer konfiguracji cmdlet z dysku Menedżer konfiguracji lokacji, na przykład PS XYZ:\>
. Aby uzyskać więcej informacji, zobacz wprowadzenie.
EXAMPLES
Przykład 1: uruchamianie zapytania WQL
Pierwsze polecenie tworzy zapytanie WQL i zapisuje je w $WQL zmiennej. Drugie polecenie uruchamia zapytanie przechowywane w zmiennej .
$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
Przykład 2: Uruchamianie zapytania WMI dla kolekcji urządzeń
Pierwsze polecenie tworzy obiekt wyszukiwania i zapisuje obiekt w $Search zmiennej .
Drugie polecenie określa, że kolejność wyszukiwania jest rosnąca według collectionID.
Trzecie polecenie dodaje parametry wyszukiwania do $Search obiektu . W tym przypadku zapytanie wyszukuje kolekcje urządzeń.
Ostatnie polecenie uruchamia zapytanie przechowywane w $Search . Określa on SMS_Collection jako klasę zawierającą właściwość 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
Przykład 3: Uruchamianie zapytania WMI dla lokacji według stanu
Pierwsze polecenie wyczyści parametry wyszukiwania z dowolnego istniejącego obiektu wyszukiwania.
Drugie polecenie dodaje parametry wyszukiwania do $Search obiektu . W tym przypadku zapytanie wyszukuje witryny.
Ostatnie polecenie uruchamia zapytanie przechowywane w $Search . Określa on SMS_Site jako klasę zawierającą właściwość Stan lokacji.
$Search.Clear()
$Search.Add("Status", $True)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Przykład 4: uruchamianie zapytania WMI dla witryn według nazwy
Pierwsze polecenie wyczyści parametry wyszukiwania z dowolnego istniejącego obiektu wyszukiwania.
Drugie polecenie dodaje parametry wyszukiwania do $Search obiektu . W tym przypadku zapytanie wyszukuje witryny.
Ostatnie polecenie uruchamia zapytanie przechowywane w $Search . Określa on SMS_Site jako klasę zawierającą właściwość SiteName.
$Search.Clear()
$Search.Add("SiteName", $null, [Microsoft.ConfigurationManagement.PowerShell.Provider.SearchParameterOperator]::NotEquals)
Invoke-CMWmiQuery -ClassName "SMS_Site" -Search $Search
Przykład 5: Uruchamianie zapytania WMI dla aplikacji
Pierwsze polecenie wyczyści parametry wyszukiwania z dowolnego istniejącego obiektu wyszukiwania.
Drugie polecenie dodaje parametry wyszukiwania do $Search obiektu . W tym przypadku zapytanie wyszukuje aplikacje.
Ostatnie polecenie uruchamia zapytanie przechowywane w $Search . Określa SMS_Site jako klasę zawierającą właściwość CI_ID lokacji.
$Search.Clear()
$Search.AddAdhoc("CI_ID > 0")
Invoke-CMWmiQuery -ClassName "SMS_Application" -Search $Search -Option Lazy
PARAMETERS
-ClassName
Określa Menedżer konfiguracji WMI, który chcesz kwerendy.
Type: String
Parameter Sets: BySearch
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Context (Kontekst)
Określ kontekst WMI jako tabelę skrótów. Jest to lista par nazwa/wartość, które są przekazywane do dostawcy usługi WMI, który obsługuje informacje kontekstowe dla niestandardowej operacji.
Type: Hashtable
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-DisableWildcardHandling
Ten parametr traktuje symbole wieloznaczne jako wartości znaków literału. Nie można połączyć go z forceWildcardHandling.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ForceWildcardHandling
Ten parametr przetwarza symbole wieloznaczne i może prowadzić do nieoczekiwanego zachowania (nie jest zalecane). Nie można połączyć go z disableWildcardHandling.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Option (Opcja)
Najczęściej spotykaną opcją jest Fast
.
Określ opcję zapytania:
None
: ustawienie domyślneLazy
: domyślnie polecenie cmdlet ładuje właściwości z opóźnieniem.Fast
: użyj tej opcji, aby nie ładować właściwości z opóźnieniem. Ta opcja może szybciej zwracać wyniki dla niektórych klas.ExpectResults
&ExpectResultsThrowException
: jeśli zapytanie nie zwraca żadnych wyników, należy zgłosić wyjątek. Ten wyjątek zwykle kończy skrypt.FastExpectResults
&LazyExpectResults
: te opcje łącząFast
elementyLazy
i zExpectResults
.ExpectResultsSoftFail
: jeśli zapytanie nie zwraca żadnych wyników, zwraca błąd, ale nie kończy skryptu.
Aby uzyskać więcej informacji na temat właściwości z opóźnieniem, zobacz Menedżer konfiguracji właściwości z opóźnieniem.
Następujące wartości są tylko do użytku wewnętrznego:
- Klonowanie
- NoMask
- NoRefresh
- IgnoreNoResults
Type: QueryOptions
Parameter Sets: (All)
Aliases: Options
Accepted values: None, NoRefresh, Lazy, Fast, ExpectResults, FastExpectResults, LazyExpectResults, Clone, ExpectResultsSoftFail, ExpectResultsThrowException, NoMask, IgnoreNoResults
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Query (Zapytanie)
Określa język zapytań usługi WMI (WQL).
Type: String
Parameter Sets: ByWql
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Search
Określa obiekt SMSProviderSearch.
Type: SmsProviderSearch
Parameter Sets: BySearch
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie jest uruchamiane.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
Typowe parametry
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.