Kwalifikatory kontekstu Configuration Manager

Obiekty kontekstowe są używane w Configuration Manager do dostarczania dodatkowych informacji dostawcy programu SMS. Zazwyczaj kwalifikatory kontekstu są używane do nadania dostawcy programu SMS informacji kontekstowych, takich jak nazwa aplikacji. Kwalifikatorów kontekstu można używać podczas nawiązywania połączenia z dostawcą programu SMS i pojedynczymi obiektami dostawcy programu SMS.

Kod zarządzany

W przypadku korzystania z zarządzanych bibliotek dostawcy programu SMS do określania kwalifikatorów kontekstu jest używana właściwość ConnectionManagerBase.Context . Aby uzyskać więcej informacji, zobacz How to Add a Configuration Manager Context Qualifier by Using Managed Code (Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu kodu zarządzanego).

Vbscript

W przypadku korzystania z języka VBScript należy użyć zestawu interfejsu SWBemNamedValue , aby określić kwalifikatory kontekstu jako kolekcję nazwanych obiektów wartości. Aby uzyskać więcej informacji, zobacz How to Add a Configuration Manager Context Qualifier by Using WMI (Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu usługi WMI).

Kwalifikatory kontekstu

Poniższa tabela zawiera kwalifikatory kontekstu (nazwane wartości), które są używane przez dostawcę programu SMS. Większość kwalifikatorów, takich jak SessionHandle, jest używana tylko w określonych obszarach funkcjonalnych dostawcy programu SMS, ale LocaleID, MachineNamei ApplicationName jest używana przez aplikację.

Kwalifikator kontekstu Opis
ApplicationName Identyfikuje aplikację, która wykonała wywołanie.
ContextHandle Określa, gdzie dostawca programu SMS przechowywał kwalifikatory kontekstu buforowanego.
InstanceCount Ogranicza liczbę wystąpień zwróconych z funkcji ExecQuery i CreateInstanceEnum.
LimitToCollectionIDs Ogranicza wyniki zapytania zasobu do elementów członkowskich nazwanych kolekcji.
LocaleID Identyfikuje stronę kodu do użycia.
MachineName Określa, na którym komputerze jest uruchomiona aplikacja.
QueryQualifiers Zwraca flagi bitowe SecurityVerbs podczas wykonywania zapytań względem zabezpieczonych obiektów.
SessionHandle Identyfikuje kopię pliku kontroli lokacji aplikacji do Configuration Manager.

Applicationname

Kwalifikator ApplicationName kontekstu jest wartością ciągu, która identyfikuje nazwę aplikacji, która wykonała wywołanie. Należy określić ApplicationName dla aplikacji, ponieważ jest ona używana do inspekcji. Jeśli nie podasz nazwy aplikacji, zostanie użyta wartość Nieznany. Należy podać ApplicationName wartość podczas wywoływania dowolnej metody komunikatu o stanie podniesienia, takiej jak SMS_StatusMessage::RaiseErrorStatusMsg lub wywołanie zakończy się niepowodzeniem.

ContextHandle

Kwalifikator ContextHandle kontekstu to wartość ciągu określająca, gdzie dostawca programu SMS przechowywał kwalifikatory kontekstu buforowanego. Zarządzany dostawca programu SMS zarządza transferem danych. W przypadku korzystania z języka VBScript możesz wykonać następujące kroki, aby zmniejszyć ilość danych przekazywanych przez sieć.

  1. Utwórz zestaw wartości SWBemNamedValue .

  2. Dodaj kwalifikatory do obiektu kontekstu. Aby uzyskać więcej informacji, zobacz How to Add a Configuration Manager Context Qualifier by Using WMI (Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu usługi WMI).

  3. Wywołaj metodę GetContextHandle , aby buforować kwalifikatory na serwerze. Dostawca programu SMS buforuje obiekt kontekstu przekazywany jako parametr ExecMethod podczas wywoływania funkcji GetContextHandle.

  4. Usuń wszystkie kwalifikatory z obiektu kontekstu.

  5. ContextHandle Dodaj kwalifikator i wartość do obiektu kontekstu.

  6. Przekaż obiekt kontekstu we wszystkich wywołaniach do usługi IWbemServices.

    Przed zamknięciem aplikacji należy wywołać metodę ClearContextHandle , aby usunąć buforowane kwalifikatory. Możesz utworzyć dowolną liczbę ContextHandle wartości, a każda z nich będzie dostarczać różne informacje dla aplikacji.

Uwaga

Po zapisaniu kwalifikatorów kontekstu możesz zastąpić buforowane wartości, dodając te same kwalifikatory kontekstu z różnymi wartościami do obiektu kontekstu.

InstanceCount

Kwalifikator InstanceCount kontekstu jest wartością całkowitą, która służy do ograniczania liczby wystąpień zwracanych z metod ExecQuery i CreateInstanceEnum . Ustawiono InstanceCount maksymalną liczbę wystąpień, które mają zostać zwrócone z zapytania lub modułu wyliczającego. Na przykład ustawienie InstanceCount wartości 10 zwraca maksymalnie 10 wystąpień.

LimitToCollectionIDs

Kwalifikator LimitToCollectionIDs kontekstu to tablica ciągów zawierająca CollectionID listę wartości. Obecnie można określić tylko jedną CollectionID wartość. Ten kwalifikator służy do ograniczania wyników zapytania zasobu do elementów członkowskich nazwanej kolekcji. Zapytanie zasobu to zapytanie zawierające klasy pochodzące z SMS_Resource lub SMS_Group.

Użytkownik musi mieć uprawnienia do odczytu wystąpienia dla kolekcji, do której należy zasób. Należy użyć ograniczenia kolekcji, gdy użytkownik nie ma praw do odczytu klasy dla kolekcji; W przeciwnym razie nie są zwracane żadne dane. W przypadku programu SMS 2.0 z dodatkiem Service Pack 1 i nowszymi wersjami to ograniczenie dotyczy tylko klas pochodzących z SMS_Group.

Nie można użyć tego kwalifikatora podczas wykonywania zapytań dotyczących kolekcji.

Localeid

Kwalifikator LocaleID kontekstu jest wartością ciągu, która akceptuje wartość szesnastkowa lub dziesiętną w postaci MS\x, gdzie x jest identyfikatorem ustawień regionalnych. Na przykład możesz wprowadzić wartość angielską LocaleID jako ms\0x0409 lub ms\1033. Dostawca programu SMS akceptuje tylko wartości używające LocaleID formatu Microsoft. Listę elementów locale IDs można znaleźć na stronie Identyfikatory ustawień regionalnych przypisane przez Microsoft.

Jeśli potrzebujesz ustawień regionalnych dla użytkowników spoza STANÓW Zjednoczonych można pobrać z właściwości klasy WMILocaleID serwera SMS_Identification.

Machinename

Kwalifikator MachineName kontekstu to wartość ciągu określająca, na którym komputerze jest uruchomiona aplikacja. Należy określić MachineName dla aplikacji, ponieważ jest ona używana do inspekcji. Jeśli nie podasz nazwy komputera, zostanie użyta wartość Nieznany. Należy podać wartość MachineName podczas wywoływania dowolnej metody komunikatu o stanie podniesienia, takiej jak SMS_StatusMessage::RaiseRawStatusMsg lub wywołanie zakończy się niepowodzeniem.

QueryQualifiers

Kwalifikator QueryQualifiers kontekstu jest wartością logiczną, która jest używana do zwracania flag bitowych SecurityVerbs podczas wykonywania zapytań względem zabezpieczonych obiektów, takich jak SMS_Site lub SMS_Package. Należy pamiętać, że użycie polecenia QueryQualifiers podczas wykonywania zapytań o niezabezpieczone obiekty generuje błąd. Domyślnie flagi SecurityVerbs nie są zwracane z zapytaniem. Musisz utworzyć ten kwalifikator i ustawić jego wartość na , jeśli chcesz, aby true flagi zostały zwrócone. Nie tworzenie QueryQualifiers jest takie samo jak ustawienie jego wartości na false.

SessionHandle

Kwalifikator SessionHandle kontekstu jest wartością ciągu zwracaną jako parametr out metody GetSessionHandle. Ciąg jest unikatowym identyfikatorem GUID, który identyfikuje kopię pliku kontroli lokacji aplikacji do Configuration Manager. Ten mechanizm służy do modyfikowania pliku kontroli lokacji i zmniejszania kolizji danych z innymi aplikacjami, które modyfikują plik kontroli lokacji w tym samym czasie. Jeśli nie podasz wartości, aplikacja modyfikuje globalną SessionHandle kopię pliku kontroli lokacji, która nie ma ochrony przed zastępowaniem danych przez aplikacje.

Uwaga

Jeśli używasz zarządzanego dostawcy programu SMS, zarządzanie sesją plików kontroli lokacji jest zarządzane.

Zobacz też

Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu kodu zarządzanego
Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu usługi WMI
Podstawy dostawcy programu SMS