Initiieren einer Synchronisierung
Der Asset Intelligence-Katalog kann außerhalb des normalen Synchronisierungszeitplans manuell aktualisiert werden. Eine manuelle Aktualisierung erfolgt mithilfe der RequestCatalogUpdate-Methode für die WMI-Klasse des SMS_AIProxy Servers.
Wichtig
Diese Methode kann nur einmal innerhalb eines Zeitraums von 12 Stunden aufgerufen werden, nachfolgende Methodenaufrufe funktionieren nicht.
Aktualisieren des Asset Intelligence-Katalogs
Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.
Fragen Sie den SMS-Anbieter nach der SMS_AIProxy Instanz ab, auf der Sie den Katalog aktualisieren möchten.
Rufen Sie die SMS_AIProxy Klasse RequestCatalogUpdate-Methode auf, um eine Aktion für die Auflistung auszuführen.
Beispiel
Die folgende Beispielmethode führt die Aktualisierung auf dem bereitgestellten Server aus.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.
Function InitiateSync(connection, serverName)
On Error Resume Next
Dim classObj: Set classObj = connection.Get("SMS_AIProxy")
Dim inParams: Set inParams = classObj.Methods_("RequestCatalogUpdate").InParameters.SpawnInstance_()
Dim outParams
inParams.Properties_.Item("ProxyName") = serverName
Set outParams = connection.ExecMethod("SMS_AIProxy", "RequestCatalogUpdate", inParams)
If Err.Number <> 0 Then
InitiateSync = False
Else
InitiateSync = True
End If
On Error Goto 0
End Function
public void InitiateSync(WqlConnectionManager connection, string serverName)
{
try
{
Dictionary<string, object> inParams = new Dictionary<string, object>();
IResultObject classObj = connection.GetClassObject("SMS_AIProxy");
inParams.Add("ProxyName", serverName);
Console.WriteLine("Requesting catalog update on server " + serverName);
classObj.ExecuteMethod("RequestCatalogUpdate", inParams);
}
catch (SmsException ex)
{
Console.WriteLine(String.Format("Failed to request catalog update on server {0}. Error: {1}", serverName, ex.Message));
throw;
}
}
Die Beispielmethode verfügt über die folgenden Parameter:
Parameter | Typ | Beschreibung |
---|---|---|
Verbindung | Verwalteten: WqlConnectionManager VBScript: SWbemServices |
Eine gültige Verbindung mit dem Anbieter. |
serverName | Verwalteten: String Vbscript: String |
Name des Servers, auf dem die Aktualisierung ausgeführt werden soll. Dieser Name wird der ProxyName -Eigenschaft einer SMS_AIProxy -Instanz zugeordnet. |
Kompilieren des Codes
Für das C#-Beispiel ist Folgendes erforderlich:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuste Programmierung
Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.
.NET Framework-Sicherheit
Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.