如何启动同步
可以在正常同步计划之外手动刷新资产智能目录。 手动刷新是在 SMS_AIProxy 服务器 WMI 类上使用 RequestCatalogUpdate 方法完成的。
重要
此方法只能在 12 小时内调用一次,后续方法调用将不起作用。
刷新资产智能目录
设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识。
在 SMS 提供程序中查询要刷新目录的 SMS_AIProxy 实例。
调用 SMS_AIProxy 类 RequestCatalogUpdate 方法以对集合运行操作。
示例
以下示例方法在提供的服务器上运行刷新。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
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;
}
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
连接 | 管理: WqlConnectionManager VBScript: SWbemServices |
与提供程序的有效连接。 |
serverName | 管理: String VBScript: String |
要运行刷新的服务器的名称。 此名称映射到 ProxyName 实例的 SMS_AIProxy 属性。 |
编译代码
C# 示例需要:
命名空间
System
System.Collections.Generic
System.Text
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。
.NET Framework 安全性
有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理。