你目前正处于脱机状态,正在等待 Internet 重新连接

在配置管理器中添加 CMDistributionPoint 命令 设置 ServerRemoteName 值不正确

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2935813
症状
请考虑以下情形:
  • 您使用 添加 CMDistributionPoint 在 Microsoft System Center 2012 配置管理器 Service Pack 1 (SP1) 来创建新的远程分发点 (DP) 的累积更新 1 中引入的 PowerShell cmdlet。
  • 您将内容部署到新的分发点,然后再创建新的分发点所在的远程位置中的客户端需要该内容的部署。
在此方案中,您可以查找客户端尝试下载内容的层次结构 (CA 或独立主) 中安装的第一个服务器。如果在层次结构中的第一个服务器是独立主即承载的内容分发点,客户端将成功下载内容。这显示在客户端上的 DataTransferService.log 项。
原因
出现这种情况由于添加 CMDistributionPoint PowerShell 命令 错误地将该分发点的ServerRemoteName属性设置为完全限定的域名 (FQDN) 的层次结构中的第一个服务器。正因为如此,则客户机会选择最佳从中下载内容的分发点。客户端使这种选择基于位置 (相同的 IP 子网、 同一 活动目录(AD) 站点中,依次类推),但然后使用错误的 FQDN 与分发点进行通信。
解决方案
若要解决此问题,请安装累积更新 3 系统中心 2012年配置管理器 Service Pack 1 (SP1)。有关此累积更新的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2882125 累积更新 3 System Center 2012 配置管理器 Service pack 1 的说明
替代方法
您可以通过纠正 DP 的 ServerRemoteName属性来变通解决此问题。下面的 VBScript 示例将验证并更正此属性所需的一个或多个分发点:

'Sample script to connect to the SMS provider for a specific site server (argument 1)' for a specific site code (argument 2) and ' and correct ServerRemoteName for a specified DP (argument 3) in a specified site (argument 4) if it does not match ServerName.On Error Resume Next'Validate command line argumentsSet args=wscript.argumentsIf args.Count = 4 then strProviderSiteServer = WScript.Arguments(0) strProvSiteCode = UCASE(WScript.Arguments(1)) strDPServer = WScript.Arguments(2) strDPSiteCode = UCASE(WScript.Arguments(3))Else wscript.Echo "Incorrect command line arguments." & vbCrLf wscript.Echo "Usage: cscript //nologo CorrectServerRemoteName.VBS <ProviderServer> <ProvSiteCode> <DPServer> <DPSiteCode>" & vbCrLf wscript.Echo "Example: cscript //nologo CorrectServerRemoteName.VBS Server01 CAS DPServer PRI" & vbCrLf WScript.Quit(1)End If'Connect to the provider on the specified site serverstrProviderSiteServer = "\\" + strProviderSiteServer + "\"Set ObjSDKConn = GetObject("winmgmts:" & "{impersonationLevel=Impersonate,authenticationLevel=Pkt}!" & strProviderSiteServer & "root\sms\site_" & strProvSiteCode)If Err.number <> 0 then wscript.Echo "Connecting to the provider failed with code: " & Err.number WScript.Quit(2)End If'Query for the specified DPstrQuery = "Select * from SMS_SCI_SysResUse where RoleName='SMS Distribution Point' and SiteCode='" & strDPSiteCode & "' and NetworkOSPath like '%" & strDPServer & "%'"Set ObjQueryResult = ObjSDKConn.ExecQuery(strQuery)If Err.number <> 0 then wscript.Echo "Querying for the specified DP server failed with code: " & Err.number WScript.Quit(3)End IfIf ObjQueryResult.Count < 1 Then wscript.Echo "Querying for the specified DP server succeeded but no DPs were returned." WScript.Quit(4)End If'Loop through the list of DPs returnedwscript.Echo "Found " & ObjQueryResult.Count & " DPs matching the specified name."For each ObjDP in ObjQueryResult  wscript.Echo strServeName = Replace(ObjDP.NetworkOSPath,"\","") For each ObjProp in ObjDP.Props  If ObjProp.PropertyName = "Server Remote Name" then   If strServeName = ObjProp.Value1 then    wscript.Echo "ServerName and ServerRemoteName both match as '" & strServeName & ".  Not making any change to this DP."   Else    wscript.Echo "ServerRemoteName for " & strServeName & " is " & ObjProp.Value1 & ".  Correcting."    ObjProp.Value1 = strServeName    ObjDP.Put_    If Err.number <> 0 then     wscript.Echo "Saving the change failed with code: " & Err.number    Else     wscript.Echo "Successfully updated the property."    End If   End If  End If NextNext
更多信息
此问题的修复程序包括在将来的更新产品的计划。

警告:本文已自动翻译

属性

文章 ID:2935813 - 上次审阅时间:02/28/2014 00:30:00 - 修订版本: 1.1

Microsoft System Center 2012 Configuration Manager Service Pack 1

  • kbmt KB2935813 KbMtzh
反馈