Een synchronisatie initiëren
De Asset Intelligence-catalogus kan handmatig worden vernieuwd, buiten het normale synchronisatieschema. Een handmatige vernieuwing wordt uitgevoerd met behulp van de methode RequestCatalogUpdate op de WMI-klasse SMS_AIProxy Server.
Belangrijk
Deze methode kan slechts eenmaal binnen een periode van 12 uur worden aangeroepen, de volgende methode-aanroepen werken niet.
De Asset Intelligence-catalogus vernieuwen
Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.
Voer een query uit op de SMS-provider voor het SMS_AIProxy exemplaar waarop u de catalogus wilt vernieuwen.
Roep de methode SMS_AIProxy-klasse RequestCatalogUpdate aan om een actie uit te voeren op de verzameling.
Voorbeeld
Met de volgende voorbeeldmethode wordt de vernieuwing uitgevoerd op de opgegeven server.
Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.
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;
}
}
De voorbeeldmethode heeft de volgende parameters:
Parameter | Type | Beschrijving |
---|---|---|
Verbinding | Beheerd: WqlConnectionManager VBScript: SWbemServices |
Een geldige verbinding met de provider. |
Servernaam | Beheerd: String Vbscript: String |
Naam van de server waarop de vernieuwing moet worden uitgevoerd. Deze naam wordt toegewezen aan de ProxyName eigenschap van een SMS_AIProxy exemplaar. |
De code compileren
Voor het C#-voorbeeld is het volgende vereist:
Naamruimten
Systeem
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Vergadering
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuust programmeren
Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.
.NET Framework Beveiliging
Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.