Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Kontextobjekte werden im Configuration Manager verwendet, um dem SMS-Anbieter zusätzliche Informationen bereitzustellen. In der Regel verwenden Sie Kontextqualifizierer, um dem SMS-Anbieter Kontextinformationen zu geben, z. B. den Namen Ihrer Anwendung. Sie können Kontextqualifizierer verwenden, wenn Sie eine Verbindung mit dem SMS-Anbieter herstellen und mit einzelnen SMS-Anbieterobjekten.
Verwalteter Code
Wenn Sie die verwalteten SMS-Anbieterbibliotheken verwenden, verwenden Sie die ConnectionManagerBase.Context-Eigenschaft , um Kontextbegrenzungszeichen anzugeben. Weitere Informationen finden Sie unter Hinzufügen eines Configuration Manager-Kontextqualifizierers mithilfe von verwaltetem Code.
VBScript
Wenn Sie VBScript verwenden, verwenden Sie die SWBemNamedValue-Schnittstelle , um Kontextqualifizierer als Auflistung von benannten Wertobjekten anzugeben. Weitere Informationen finden Sie unter Hinzufügen eines Configuration Manager-Kontextqualifizierers mithilfe von WMI.
Kontext-Qualifizierer
Die folgende Tabelle enthält die Kontextbegrenzungszeichen (benannte Werte), die vom SMS-Anbieter verwendet werden. Die meisten Qualifizierer, wie z. B SessionHandle. , werden nur mit bestimmten Funktionsbereichen des SMS-Anbieters verwendet, aber LocaleID, MachineNameund ApplicationName sind für die Verwendung in Ihrer Anwendung vorgesehen.
| Kontextbegrenzungszeichen | Beschreibung |
|---|---|
ApplicationName |
Identifiziert die Anwendung, die den Aufruf getätigt hat. |
ContextHandle |
Gibt an, wo der SMS-Anbieter Ihre zwischengespeicherten Kontextqualifizierer gespeichert hat. |
InstanceCount |
Schränkt die Anzahl der Instanzen ein, die von ExecQuery und CreateInstanceEnum zurückgegeben werden. |
LimitToCollectionIDs |
Schränkt die Ergebnisse einer Ressourcenabfrage auf die Mitglieder der benannten Sammlungen ein. |
LocaleID |
Identifiziert die zu verwendende Codepage. |
MachineName |
Gibt an, auf welchem Computer die Anwendung ausgeführt wird. |
QueryQualifiers |
Gibt die SecurityVerbs-Bitflags zurück, wenn Sie Abfragen für gesicherte Objekte ausführen. |
SessionHandle |
Identifiziert die Kopie der Standortsteuerungsdatei Ihrer Anwendung für den Configuration Manager. |
ApplicationName
Der ApplicationName Kontextqualifizierer ist ein Zeichenfolgenwert, der den Namen der Anwendung identifiziert, die den Aufruf durchgeführt hat. Sie sollten dies für Ihre Anwendung angeben ApplicationName , da sie für die Überwachung verwendet wird. Wenn Sie den Namen Ihrer Anwendung nicht angeben, wird der Wert Unbekannt verwendet. Sie müssen den ApplicationName Wert angeben, wenn Sie eine der Methoden zum Auslösen status Nachricht aufrufen, z. B. SMS_StatusMessage::RaiseErrorStatusMsg, oder der Aufruf schlägt fehl.
ContextHandle
Der ContextHandle Kontextqualifizierer ist ein Zeichenfolgenwert, der angibt, wo der SMS-Anbieter Ihre zwischengespeicherten Kontextqualifizierer gespeichert hat. Der verwaltete SMS-Anbieter verwaltet die Datenübertragung. Wenn Sie VBScript verwenden, können Sie die folgenden Schritte ausführen, um die Datenmenge zu reduzieren, die über das Netzwerk übertragen wird.
Erstellen eines SWBemNamedValue-Wertsatzes .
Fügen Sie Ihre Qualifizierer zum Kontextobjekt hinzu. Weitere Informationen finden Sie unter Hinzufügen eines Configuration Manager-Kontextqualifizierers mithilfe von WMI.
Rufen Sie die GetContextHandle-Methode auf, um die Qualifizierer auf dem Server zwischenzuspeichern. Der SMS-Anbieter speichert das Kontextobjekt zwischen, das Sie als Parameter von ExecMethod übergeben, wenn Sie GetContextHandle aufrufen.
Entfernen Sie alle Begrenzungszeichen aus dem Kontextobjekt.
Fügen Sie den Qualifizierer und den
ContextHandleWert zu Ihrem Kontextobjekt hinzu.Übergeben Sie das Kontextobjekt bei allen Aufrufen von IWbemServices.
Sie müssen die ClearContextHandle-Methode aufrufen, um die zwischengespeicherten Qualifizierer zu entfernen, bevor Sie die Anwendung beenden. Sie können beliebig viele
ContextHandleWerte erstellen, wobei jeder Wert unterschiedliche Informationen für Ihre Anwendung bereitstellt.
Hinweis
Nachdem Sie Ihre Kontextbegrenzungszeichen zwischengespeichert haben, können Sie Ihre zwischengespeicherten Werte überschreiben, indem Sie die gleichen Kontextbegrenzungszeichen mit unterschiedlichen Werten zu Ihrem Kontextobjekt hinzufügen.
InstanceCount
Der InstanceCount Kontextqualifizierer ist ein ganzzahliger Wert, der verwendet wird, um die Anzahl der Instanzen zu begrenzen, die von den Methoden ExecQuery und CreateInstanceEnum zurückgegeben werden. Sie legen die maximale Anzahl von Instanzen fest InstanceCount , die von der Abfrage oder dem Enumerator zurückgegeben werden sollen. Eine Einstellung InstanceCount auf 10 gibt z. B. maximal 10 Instanzen zurück.
LimitToCollectionIDs
Der LimitToCollectionIDs Kontextqualifizierer ist ein Zeichenfolgenarray, das eine Liste von CollectionID Werten enthält. Derzeit können Sie nur einen CollectionID Wert angeben. Sie verwenden diesen Qualifizierer, um die Ergebnisse einer Ressourcenabfrage auf die Mitglieder der benannten Sammlung zu beschränken. Eine Ressourcenabfrage ist eine Abfrage, die Klassen enthält, die von SMS_Resource oder SMS_Group abgeleitet wurden.
Der Benutzer muss über instance-Leseressourcenberechtigungen für die Sammlung verfügen, zu der die Ressource gehört. Sie müssen die Sammlungseinschränkung verwenden, wenn der Benutzer nicht über Klassenleseressourcenrechte für Sammlungen verfügt. Andernfalls werden keine Daten zurückgegeben. Für SMS 2.0 mit Service Pack 1 und neueren Versionen gilt diese Einschränkung nur für Klassen, die von SMS_Group abgeleitet werden.
Sie können diesen Qualifizierer nicht verwenden, wenn Sie Sammlungen abfragen.
LocaleID
Der LocaleID Kontextbezeichner ist ein Zeichenfolgenwert, der entweder einen Hexadezimalwert oder einen Dezimalwert im Format MS\x akzeptiert, wobei x die Gebietsschema-ID ist. Beispielsweise können Sie den englischen LocaleID Wert als ms\0x0409 oder ms\1033 eingeben. Der SMS-Anbieter akzeptiert LocaleID nur Werte, die das Microsoft-Format verwenden. Eine Liste der locale IDsvon Microsoft zugewiesenen Gebietsschema-IDs finden Sie hier.
Wenn Sie das Gebietsschema für nicht-US-amerikanische können Sie sie aus der Eigenschaft SMS_Identification Server WMI-KlasseLocaleID abrufen.
MachineName
Der MachineName Kontextqualifizierer ist ein Zeichenfolgenwert, der angibt, auf welchem Computer die Anwendung ausgeführt wird. Sie sollten dies für Ihre Anwendung angeben MachineName , da sie für die Überwachung verwendet wird. Wenn Sie den Computernamen nicht angeben, wird der Wert "Unbekannt" verwendet. Sie müssen den MachineName-Wert angeben, wenn Sie eine der Methoden zum Auslösen status Nachricht aufrufen, z. B. SMS_StatusMessage::RaiseRawStatusMsg, da der Aufruf andernfalls fehlschlägt.
QueryQualifiers
Der QueryQualifiers Kontextbezeichner ist ein boolescher Wert, der verwendet wird, um die SecurityVerbs-Bitflags zurückzugeben, wenn Sie Abfragen für gesicherte Objekte wie SMS_Site oder SMS_Package ausführen. Beachten Sie, dass die Verwendung QueryQualifiers beim Abfragen ungesicherter Objekte einen Fehler generiert. Standardmäßig werden SecurityVerbs-Flags nicht mit der Abfrage zurückgegeben. Sie müssen diesen Qualifizierer erstellen und seinen Wert festlegen, wenn true die Flags zurückgegeben werden sollen. Nicht zu erstellen QueryQualifiers ist dasselbe wie das Festlegen des Werts auf false.
SessionHandle
Der SessionHandle Kontextqualifizierer ist ein Zeichenfolgenwert, der als out-Parameter der GetSessionHandle-Methode zurückgegeben wird. Die Zeichenfolge ist eine eindeutige GUID, die die Kopie Ihrer Anwendung der Standortsteuerungsdatei für Configuration Manager identifiziert. Sie sollten diesen Mechanismus verwenden, um die Standortsteuerungsdatei zu ändern und Datenkonflikte mit anderen Anwendungen zu reduzieren, die gleichzeitig die Standortsteuerungsdatei ändern. Wenn Sie keinen SessionHandle Wert angeben, ändert Ihre Anwendung die globale Kopie der Websitesteuerungsdatei, die keinen Schutz vor Anwendungen bietet, die die Daten der anderen Anwendungen überschreiben.
Hinweis
Wenn Sie den verwalteten SMS-Anbieter verwenden, wird die Websitesteuerungsdatei-Sitzungsverwaltung für Sie verwaltet.
Siehe auch
So fügen Sie mithilfe von verwaltetem Code einen Configuration Manager-Kontextqualifizierer hinzu Hinzufügen eines Configuration Manager-Kontextqualifizierers mithilfe von WMIGrundlagen des SMS-Anbieters