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ślne
  • Lazy: 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 elementy Lazy i z ExpectResults .
  • 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

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.

INPUTS

Brak

OUTPUTS

IResultObject[]

IResultObject

UWAGI

Invoke-CMWmiMethod