Kontextkvalificerare för Configuration Manager
Kontextobjekt används i Configuration Manager för att ge ytterligare information till SMS-providern. Vanligtvis använder du kontextkvalificerare för att ge SMS-providern sammanhangsberoende information, till exempel programmets namn. Du kan använda kontextkvalificerare när du ansluter till SMS-providern och med enskilda SMS-providerobjekt.
Hanterad kod
När du använder de hanterade SMS-providerbiblioteken använder du egenskapen ConnectionManagerBase.Context för att ange kontextkvalificerare. Mer information finns i How to Add a Configuration Manager Context Qualifier by Using Managed Code (Så här lägger du till en Configuration Manager-kontextkvalificerare med hjälp av hanterad kod).
VBScript
När du använder VBScript använder du gränssnittet SWBemNamedValue för att ange kontextkvalificerare som en samling namngivna värdeobjekt. Mer information finns i How to Add a Configuration Manager Context Qualifier by Using WMI (Så här lägger du till en Configuration Manager-kontextkvalificerare med hjälp av WMI).
Kontextkvalificerare
Följande tabell innehåller kontextkvalificerare (namngivna värden) som används av SMS-providern. De flesta kvalificerare, till exempel SessionHandle
, används bara med specifika funktionella områden i SMS-providern, men LocaleID
, MachineName
och ApplicationName
är för ditt programs användning.
Kontextkvalificerare | Beskrivning |
---|---|
ApplicationName |
Identifierar programmet som gjorde anropet. |
ContextHandle |
Identifierar var SMS-providern har lagrat dina cachelagrade kontextkvalificerare. |
InstanceCount |
Begränsar antalet instanser som returneras från ExecQuery och CreateInstanceEnum. |
LimitToCollectionIDs |
Begränsar resultatet av en resursfråga till medlemmarna i de namngivna samlingarna. |
LocaleID |
Identifierar den kodsida som ska användas. |
MachineName |
Identifierar vilken dator som kör programmet. |
QueryQualifiers |
Returnerar SecurityVerbs-bitflaggor när du kör frågor mot skyddade objekt. |
SessionHandle |
Identifierar programmets kopia av platskontrollfilen till Configuration Manager. |
ApplicationName
Kontextkvalificeraren ApplicationName
är ett strängvärde som identifierar namnet på programmet som gjorde anropet. Du bör ange ApplicationName
för ditt program eftersom det används för granskning. Om du inte anger namnet på ditt program används värdet Okänd. Du måste ange ApplicationName
värdet när du anropar någon av metoderna för att generera statusmeddelanden, till exempel SMS_StatusMessage::RaiseErrorStatusMsg, annars misslyckas anropet.
ContextHandle
Kontextkvalificeraren ContextHandle
är ett strängvärde som identifierar var SMS-providern har lagrat dina cachelagrade kontextkvalificerare. Den hanterade SMS-providern hanterar dataöverföring. När du använder VBScript kan du använda följande steg för att minska mängden data som skickas via nätverket.
Skapa SWBemNamedValue-värdeuppsättning .
Lägg till dina kvalificerare i kontextobjektet. Mer information finns i How to Add a Configuration Manager Context Qualifier by Using WMI (Så här lägger du till en Configuration Manager-kontextkvalificerare med hjälp av WMI).
Anropa metoden GetContextHandle för att cachelagrar dina kvalificerare på servern. SMS-providern cachelagrar kontextobjektet som du skickar som en parameter för ExecMethod när du anropar GetContextHandle.
Ta bort alla kvalificerare från kontextobjektet.
Lägg till kvalificeraren
ContextHandle
och värdet i kontextobjektet.Skicka kontextobjektet för alla anrop till IWbemServices.
Du måste anropa metoden ClearContextHandle för att ta bort dina cachelagrade kvalificerare innan du avslutar programmet. Du kan skapa så många
ContextHandle
värden som du vill, där var och en ger varierande information för ditt program.
Obs!
När du har cachelagrat dina kontextkvalificerare kan du åsidosätta dina cachelagrade värden genom att lägga till samma kontextkvalificerare, med olika värden, i kontextobjektet.
InstanceCount
Kontextkvalificeraren InstanceCount
är ett heltalsvärde som används för att begränsa antalet instanser som returneras från metoderna ExecQuery och CreateInstanceEnum . Du anger InstanceCount
lika med det maximala antalet instanser som du vill ska returneras från frågan eller uppräknaren. Om du till exempel anger InstanceCount
till 10 returneras högst 10 instanser.
LimitToCollectionIDs
Kontextkvalificeraren LimitToCollectionIDs
är en strängmatris som innehåller en lista med CollectionID
värden. För närvarande kan du bara ange ett CollectionID
värde. Du använder den här kvalificeraren för att begränsa resultatet av en resursfråga till medlemmarna i den namngivna samlingen. En resursfråga är en fråga som innehåller klasser som härletts från SMS_Resource eller SMS_Group.
Användaren måste ha behörighet att läsa instansresurser för den samling som resursen tillhör. Du måste använda samlingsbegränsning när användaren inte har resursbehörighet för klassläsning för samlingar. Annars returneras inga data. För SMS 2.0 med Service Pack 1 och senare versioner gäller den här begränsningen endast för klasser som härletts från SMS_Group.
Du kan inte använda den här kvalificeraren när du kör frågor mot samlingar.
Språkvariant-ID
Kontextkvalificeraren LocaleID
är ett strängvärde som antingen accepterar ett hexadecimalt värde eller ett decimalvärde i formatet MS\x, där x är språkvariant-ID. Du kan till exempel ange det engelska LocaleID
värdet som ms\0x0409 eller ms\1033. SMS-providern accepterar LocaleID
endast värden som använder Microsoft-format. Du hittar en lista över locale IDs
språkvariant-ID:t som tilldelats av Microsoft.
Om du behöver nationella inställningar för icke-USA installationer kan du hämta den från egenskapen SMS_Identification Server WMI ClassLocaleID
.
MachineName
Kontextkvalificeraren MachineName
är ett strängvärde som identifierar vilken dator som kör programmet. Du bör ange MachineName
för ditt program eftersom det används för granskning. Om du inte anger datornamnet används värdet Okänd. Du måste ange MachineName-värdet när du anropar någon av metoderna för att generera statusmeddelanden, till exempel SMS_StatusMessage::RaiseRawStatusMsg, annars misslyckas anropet.
QueryQualifiers
Kontextkvalificeraren QueryQualifiers
är ett booleskt värde som används för att returnera SecurityVerbs-bitflaggor när du kör frågor mot skyddade objekt, till exempel SMS_Site eller SMS_Package. Observera att när QueryQualifiers
du kör frågor mot oskyddade objekt genereras ett fel. Som standard returneras inte SecurityVerbs-flaggor med frågan. Du måste skapa den här kvalificeraren och ange dess värde till om du vill att true
flaggorna ska returneras. Att inte skapa QueryQualifiers
är detsamma som att ange värdet till false
.
SessionHandle
Kontextkvalificeraren SessionHandle
är ett strängvärde som returneras som en out-parameter för metoden GetSessionHandle. Strängen är ett unikt GUID som identifierar programmets kopia av platskontrollfilen till Configuration Manager. Du bör använda den här mekanismen för att ändra platskontrollfilen och minska datakollisioner med andra program som samtidigt ändrar platskontrollfilen. Om du inte anger något SessionHandle
värde ändrar programmet den globala kopian av platskontrollfilen, som inte har något skydd mot att program skriver över varandras data.
Obs!
Om du använder den hanterade SMS-providern hanteras hantering av filsessioner för platskontroll åt dig.
Se även
Så här lägger du till en Configuration Manager-kontextkvalificerare med hanterad kod
Så här lägger du till en Configuration Manager-kontextkvalificerare med hjälp av WMI
Grunderna i SMS-providern