**摘要**:本文提供了K3 WISE客户端访问服务器连接问题的解决方案,因Windows 10月和11月安全更新导致的DCOM安全变更,使得客户端无法再通过仅来宾或匿名方式与服务器通讯。文中详述了问题的背景、基础架构、服务器和客户端的基础配置要求,包括RPC服务、MSDTC服务、Windows身份验证等关键服务的配置。还分析了连接问题可能的分类,并给出了针对不同情况的解决步骤和操作指南,旨在帮助用户快速定位并解决问题。
K3 WISE客户端访问服务器连接问题解决方案
注:因windows操作系统10月、11月安全更新,DCOM安全变更,客户端电脑无法再通过仅来宾或匿名方式和服务器通讯,因此,如有更新windows 10月、11月安全更新补丁,出现客户端连接服务器出现需要对象或拒绝的权限,请参考如下方案处理:
https://vip.kingdee.com/article/370602477613629440
另为了系统安全,后续的方案中尽量不要选用仅来宾模式使用!!!
因Windows操作系统一直在迭代升级,K/3 Wise老版本发版的一些一键配置工具、一键配置精灵,大部分是按仅来宾模式使用,所以如果配置经典后,不要再使用这些工具去配置服务器!!!
1 概述
K/3 Wise是客户端/服务器(即C/S)架构,所以客户端需要正常使用,必须正常连接访问服务器,从服务器获取功能支持和数据支持。所以出现连接问题,可能是客户端上的原因,也可能是服务器端的原因,如所有客户端无法连接优先从服务器上找原因,如部分客户端或单个客户端无法连接问题基本在客户端或客户端访问服务器的网络上等。
金蝶K/3 系统遵循微软Windows DNA框架结构,基于三层结构技术,故GUI客户端访问服务器必须有RPC服务、MSDTC服务等的支持,确保DCOM通讯的正常,才能保障客户端和服务器的连接访问正常。
从而大部分连接问题也就需要从上述切入检查,基本可概括为以下三个方面的问题:
w RPC服务:涉及通讯端口135号端口以及RPC服务
w MSDTC服务:涉及MSDTC是否正常运行、组件服务配置是否正确、DCOM动态端口是否开放访问
w Windows身份验证:不同计算机之前身份验证,如网络访问方式为仅来宾或经典模式下的配置情况,其他身份验证策略设置等,以及不同版本系统、不同补丁下对于身份验证安全性的不同而影响验证等
※ 具体问题的排查分析参见后续详细讲解。
2 K/3 Wise 基础架构
金蝶K/3 系统遵循微软Windows DNA框架结构,基于三层结构技术,K/3系统是典型的三层结构应用,由数据库、中间层、客户端三层构成,此外HR/Web系统为可选部件:
w 数据库——安装数据库产品和K/3数据库服务部件,目前K/3系统支持的数据库产品是Microsoft SQL Server,所有的业务数据都存储在这里;
w 中间层——包括所有业务系统的业务逻辑组件,这些组件会被客户端所调用,是K/3系统的核心部分;
w 客户端——K/3客户端桌面应用程序,基于Windows GUI,安装在业务系统操作人员的机器上;
w HR/Web系统——基于IIS提供K/3人力资源、管理门户、CRM等WEB服务。
※ 更详尽的K/3产品技术架构说明请参阅安装包中HELP目录中的《金蝶K/3技术白皮书》和《金蝶K3Wise系统管理员手册》 。
3 K/3 Wise 服务器基础环境安装配置及客户端基础配置
我们在处理连接问题之前,应先确保服务器基础环境配置正常,正确的服务器配置是服务器稳定高效运行和客户端正常连接的前提,服务器的基础环境配置主要针对操作系统的配置,下面就操作系统基础环境在安装部署之前应该需要做好的配置做简单的概述。
3.1 服务器操作系统基础环境配置
3.1.1 服务器管理器安装必要服务角色和功能
1、以具有本机系统管理员的身份登录,关闭其它应用程序,特别是防病毒软件。
2、打开开始菜单--选择服务期管理器--添加角色功能,按照向导,勾选“应用程序服务器”以及“WEB服务器(IIS)”:
3、功能中.NET3.5以及.NET4.5的功能都需要勾选,还需要勾选IIS可承载web核心 :
4、下一步后,选择应用程序服务器的角色服务,应用程序服务器的角色服务必须选择COM+网络访问,最好全选:
5、下一步,选择Web服务器角色的角色服务,建议全选Web服务器和管理工具:
6、下一步确认等待安装完成即可,如提示需要重启,请按提示重启再进行后续操作。
※ 如果操作系统为Windows Server 2016及以上版本,系统不提供独立的“应用程序服务器角色”安装,需要调整注册表,启用COM+网络访问:
通过修改注册表实现安装“COM+网络访问”;
1、在该服务器上依次打开【开始】→【运行】,输入“regedit”,打开注册表编辑器;
2、找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\”,将“RemoteAccessEnabled”的值修改为“1”后【确定】即可。
3.1.2 配置组件服务
1、打开运行,输入“Dcomcnfg”打开组件服务;
2、依次展开“组件服务”-“计算机”-“我的电脑”,鼠标右键“我的电脑”选择“属性”,切换到“COM安全”,分别在访问权限和启动和激活权限下的“编辑限制…”中选择Everyone和ANONYMOUS LOGON用户,勾选所有本地和远程的允许复选框:
3、展开“Distributed Transaction Coordinator”,鼠标右键“本地DTC”,选择“属性”,如图所示,勾选“网络DTC访问”,及勾选允许远程客户端、允许远程管理、允许入站、允许出站、不要求进行验证、启用XA事务:
4、点击“确定”,根据提示自动重启MSDTC服务后,即配置完成组件服务。
5、部分服务器Distributed Transaction Coordinator服务默认为手动启动,运行中输入“services.msc”打开“服务”,找到“Distributed Transaction Coordinator”服务,设置启动类型为“自动”或“自动(延迟启动)”。
3.1.3 配置IIS
(如中间层不需要提供web访问、不需要合并报表和HR,该配置可忽略)
1、开始运行,输入“inetmgr”打开IIS管理器。
2、选中起始页下的WEB服务器名称,在右边窗体中,双击“ISAPI和CGI限制”,确认.net2.0和.net 4.0设置限制为“允许”:
3、展开服务器-网站-默认网站(Default Web Site),如图:
4、双击“ASP”,在“启用父路径”中选择“true”,设置正确后,点击右上角的“应用”保存设置:
5、选择“应用程序池”,在右边窗体分别选择KingdeeK3Net和KingdeeK3Net4,选择其“高级设置”,设置“启用32位应用程序”为“True”,点击“确定”,保存设置:
3.1.4 配置防火墙
防火墙的配置需要开启对应的默认策略和自定义端口和例外程序,保障K3客户端和服务器的通讯不受限制,具体可参考如下设置:
3.1.4.1 服务器上需要开启的防火墙策略
打开管理工具-“高级安全 Windows 防火墙”,在入站规则中,启用“COM+ 网络访问(DCOM-In)”一个规则和“分布式事务处理协调器 (***)”三个规则;在出站规则中,启用“分布式事务处理协调器”(TCP-Out),如图所示:
3.1.4.2 中间层服务器上开放的端口
1、TCP端口135,RPC服务的固定端口,不能改。
2、TCP端口5159,加密服务固定端口,不能改。
3、TCP端口8189,HR客户端端口,不能改。
4、DCOM动态端口,DTC默认的动态端口为TCP 1025--65534,可以更改,可将端口设置到较小范围,一般设置500个连续端口即可,如5000-5500。
附:动态端口设置方式:
打开运行,输入“Dcomcnfg”打开组件服务;依次展开“组件服务”-“计算机”-“我的电脑”,鼠标右键“我的电脑”选择“属性”,切换到“默认协议”,选中“面向连接的TCP/IP”,点击“属性”,“添加”设置需要的连续端口范围,如5000-5500,确定完成保存设置即可:
此外如果有下列服务(如不使用相关功能,可不开放),需要开通如下端口:
1、TCP端口 5150,门店系统使用的数据同步端口。可以在门店系统中更改。
2、TCP端口5678,IMTS远程传输系统端口。可以在IMTS系统中更改。
3、HTTP端口80,合并报表系统需要调用的http端口,可以在IIS设置更改。
4、TCP端口8185,HR客户端使用。
3.1.4.3 数据库服务器上开放的端口
1、TCP端口135端口,RPC服务的固定端口,不能改。
2、TCP端口1433,SQL服务的默认实例的默认端口,可以在SQL Server中更改。
3、DCOM动态端口。DTC默认的动态端口为TCP 1025--65534,可以更改,可通过设置将动态端口改到较小范围,一般设置500个连续端口即可,如5000-5500
3.1.4.4 WEB服务器上开放的端口
1、TCP端口135端口,RPC服务的固定端口,不能改。
2、TCP端口80端口,K3WEB网页端访问和HR网页端访问端口,可在IIS中更改。
2、TCP端口5159,加密服务固定端口,不能改。
3、TCP端口8189,HR客户端端口,不能改。
4、DCOM动态端口,DTC默认的动态端口为TCP 1025--65534,可以更改,可将端口设置到较小范围,一般设置500个连续端口即可,如5000-5500。
3.2 客户端基础配置
3.2.1 配置组件服务、重置MSDTC
1、打开运行,输入“Dcomcnfg”打开组件服务;(或者控制面板-管理工具-组件服务打开)
2、展开“组件服务”-“计算机”-“我的电脑”-“Distributed Transaction Coordinator”-“本地DTC”,右键选择“属性”
3、切换到“安全”选项卡,勾选“网络DTC访问”、“允许远程客户端”、“允许远程管理”、“允许入站”、“允许出站”、“不要求进行验证”,确定保存即可。如图:
4、 如组件服务器异常,我的电脑上有向下的红色箭头,参考如下重置MSDTC:
① 删除注册表中的键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID
② 开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)
③ 停止MSDTC服务:net stop msdtc
④ 卸载MSDTC服务:msdtc -uninstall (卸载后重新启动电脑)
⑤ 重新安装MSDTC服务:msdtc –install
⑥ 启动MSDTC服务:net start msdtc
3.2.2 添加配置hosts解析
※(非必要配置,局域网NetBIOS解析异常的环境需要配置)※
1、依次打开到C:\WINDOWS\system32\drivers\etc\目录下;
2、用记事本打开hosts文件(如果不存在新建hosts文件,不要任何扩展名);
3、找到“127.0.0.1 localhost”,或直接在文件最后一行回车到下一行按照“IP地址 服务器计算机名”的格式输入hosts解析记录,如“192.168.1.2 K3Server”,然后【保存】
4、如果保存提示需要“另存为”,取消暂不保存,因权限不足导致,需要设置hosts权限后再进行保存:
① 鼠标右键hosts文件,选择属性,切换到安全,点击编辑-添加,在“输入对象名称来选择”中输入everyone(或当前登录操作系统的用户名如administrator),点击“检查名称”,名称正常后,点击“确定”:
② 选择Everyone,勾选“完全控制”的允许权限,点击“确定”保存,会有一个安全警告提醒,选择“是”即可:
③ 确认Everyone有完全控制权限允许权限后,点击“确定”完成权限设置:
5、再重新保存hosts文件即可。
3.2.3 添加服务器Windows凭据
※(非必要配置,客户端访问服务器身份验证异常时配置)※
1、打开“控制面板”-查看方式设置“大图标”,找到“凭据管理器”(或者运行中输入:control keymgr.dll 回车,如是xp系统只能使用该方法打开)
2、打开凭据管理器,切换到“windows凭据”,点击“添加windows凭据”
3、在添加windows凭据界面,分别输入正确的服务器IP地址或计算机名、服务器管理员用户名和密码,点击“确定”完成
4、部分系统添加凭据后需要重启才能生效,建议添加后,重启电脑。
5、Windows XP操作系统中打开“运行”,输入“ control keymgr.dll ”回车,即可打开“存储用户名和密码”窗口,单击“高级”选项卡,然后单击“管理密码”,添加服务器的IP地址、用户和密码,确认退出后,重启电脑。
3.2.4 客户端上防火墙限制设置
1、TCP端口135,不能更改。
2、允许例外程序:正常开启防火墙状态下,打开K3客户端,会自动弹出访问控制界面,点击允许即可,系统自动添加下述程序到防火墙入站规则例外程序:kdmain.exe和kdmainnet.exe。
4 K/3 Wise 客户端服务器连接访问问题分类
※ 本文档如未特别说明,默认为同一台服务器部署中间层和数据库、Web服务器。※
※ 本文处理的连接问题均是登录客户端提示:“无法创建K/3中间层组件,请确定中间层组件配置正确或当前用户拥有相关权限后重试”或打开没反应的问题,不针对打开客户端有其它明确报错信息的。※
4.1 按C/S架构(客户端/服务器)分类
K/3 Wise的C/S架构是多客户端模式,即可以同时多客户端访问服务器,所以可以通过初步分析来确认连接问题是发生在服务器还是客户端来更快定位和处理问题,大概可以分为如下几类情况:
1、 所有客户端无法连接服务器,同时服务器上客户端也无法登录
2、 所有客户端无法连接服务器,但服务器上客户端登录正常
3、 个别客户端连接服务器不正常,其他客户端正常连接访问服务器
4.2 按系统DNA框架原理分类
金蝶K/3 系统遵循微软Windows DNA框架结构,基于三层结构技术,故GUI客户端访问服务器必须有RPC服务、MSDTC服务等的支持,确保DCOM通讯的正常,才能保障客户端和服务器的连接访问正常,因此可从原理上分析排查问题发生的原因来更快定位问题,连接访问原理问题的定位,一般可通过“远程组件配置工具”测试来大致定位分析:
1、 没有注册类
2、 RPC服务器不可用:{所有客户端} {个别客户端}
3、 网络中间层连接失败,请检查是否正确安装了正确的中间层组件:{所有客户端} {个别客户端}
4、 请确保中间层上的组件为最新版本:{所有客户端} {个别客户端}
5、 中间层服务器不能作为远程服务器,可能是Windows 9X:{所有客户端} {个别客户端}
6、 创建中间层对象错误,需要对象或拒绝的权限:{所有客户端} {个别客户端}
※ 此处需要注意,需测试“加密服务”,因其他组件的报错可能是因补丁不一致导致,而非客户端和服务器连接问题,即如果加密组件测试通过,即说明客户端和服务器连接正常,只有kdsvrmgr加密组件测试无法通过的情况下,才是存在连接问题!
※ WIN7操作系统存在RPC的bug,如果是前部分组件测试通过,后部分组件全不通过,安装资源盘中操作系统补丁KB2401588、KB2815853。
5 分析思路及解决方案
5.1 所有客户端无法连接服务器,同时服务器上客户端也无法登录
5.1.1 账套管理打开正常,客户端无法登录
5.1.1.1 客户端登录提示:“中间层创建事务失败,请联系系统管理员!”高级显示:错误代码:5(5H)
上述报错分两种情况:
1、 中间层服务器和数据库服务器在同一台服务器上
【分析原因】
同一台服务器上创建事务失败,因中间层无法通过分布式事务处理协调器访问数据库导致,检查分布式事务处理协调器服务。
【操作步骤】
① 、在服务器上依次打开【开始】→【控制面板】→【管理工具】→【服务】,找到“Distributed Transaction Coordinator”,确保该服务存在且为正常运行状态,若显示“停止”,则手工启动,正常启动后登录K/3即可;同时将该服务启动类型设置为“自动”;
② 、若服务不存在或启动时提示错误,请参考以下步骤尝试修复MSDTC服务:
删除注册表中的键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID
开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)
停止MSDTC服务:net stop msdtc
卸载MSDTC服务:msdtc -uninstall (卸载后重新启动电脑)
重新安装MSDTC服务:msdtc –install
启动MSDTC服务:net start msdtc
2、 中间层服务器和数据库服务器分开部署
【分析原因】
中间层和数据库分开部署环境下,创建事务失败,一般因相互间的分布式事务处理协调器服务调用存在权限、身份验证等问题引起,可参考如下重新配置处理。
【操作步骤】
① 、在中间层和数据库服务器分别相互添加hosts解析:
依次打开到C:\WINDOWS\system32\drivers\etc\目录下,以记事本打开hosts文件;直接在最后一行回车到下一行按照“IP地址 服务器计算机名”的格式输入hosts解析记录,如“192.168.1.2 K3Server”,然后【保存】;
② 、在中间层和数据库服务器检查是否安装好应用程序服务器角色,如果未安装请在服务器管理器中添加应用程序服务器角色完整安装。(如服务器操作系统为windows server 2016及以上系统,不支持应用程序服务器角色安装,需要修改注册表启用COM+网络访问:在该服务器上依次打开【开始】→【运行】,输入“regedit”,打开注册表编辑器;找到“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/COM3/”,将“RemoteAccessEnabled”的值修改为“1”后【确定】即可)
③ 、检查两个服务器windows防火墙设置:
w 依次打开【控制面板】→【管理工具】→【高级安全windows防火墙】,在【入站规则】中设置“COM+网络访问”、“分布式事物协调器”(默认有三个)右键设置为允许规则,同时在【出站规则】中设置”“分布式事务协调器”也是允许规则;
w 单击左上角的【入站规则】,在右上角打开【新建规则】,在弹出的向导界面,选择【端口】,单击【下一步】,勾选“TCP”,输入“特定端口号”,单击【下一步】,勾选【允许连接】,单击【下一步】,按照向导输入“名称”、“描述”后单击【完成】完成端口添加;
w 单击【新建规则】,在弹出的向导界面,选择【程序】→【下一步】,在“此程序路径”处浏览选择“C:\Windows\System32\dllhost.exe”,单击【下一步】,勾选【允许连接】,单击【下一步】,按照向导输入“名称”、“描述”后单击【完成】完成程序添加,若为64位操作系统,还需同时添加“C:\Windows\Syswow64\dllhost.exe”;
w 操作完毕后务必重启计算机才能生效
附服务器端口说明:
中间层服务器上开放的端口: 1、TCP端口135,远程过程调用服务的固定端口,不能改 2、TCP端口5159,加密服务固定端口,不能改 3、DCOM动态端口,DTC默认的动态端口为TCP 1025--65534,可以更改,可将端口设置到较小范围,一般设置500个连续端口即可,如5000-5500 此外如果有下列服务,需要开通以额端口: 1、TCP端口 5150,门店系统使用的数据同步端口。可以再门店系统中更改。 2、TCP端口5678,IMTS远程传输系统端口。可以再IMTS系统中更改。 3、HTTP端口80,合并报表系统需要调用的http端口,可以在iis设置更改。 |
数据库服务器 1、TCP端口135端口,远程过程调用服务的固定端口,不能改 2、TCP端口1433,SQL服务的默认端口,可以在SQL Server中更改。 3、DCOM动态端口。DTC默认的动态端口为TCP 1025--65534,可以更改,可通过设置将动态端口改到较小范围,一般设置500个连续端口即可,如5000-5500 |
④ 、在两台服务器上依次打开【开始】→【控制面板】→【管理工具】→【服务】,找到“Distributed Transaction Coordinator”,确保该服务存在且为正常运行状态,并设置启动类型为自动;
⑤ 、在中间层和数据库服务器上均需要设置组件服务中“我的电脑”属性的访问权限:
w 在服务器上依次打开【开始】→【控制面板】→【管理工具】→【组件服务】→【计算机】→【我的电脑】,在“我的电脑”上右键,选择【属性】;
w 选择“默认属性”页签,勾选“在此计算机上启用分布式COM”,“默认身份验证级别”选择“连接”,“默认模拟级别”选择“标识”;
w 选择“默认协议”页签,确保在“DCOM协议”中有存在“面向连接的TCP/IP”,若无则添加;
w 选择“COM安全”页签,在“访问权限”处点击【编辑限制】,分别选择“Everyone”和“ANONYMOUS LOGON”用户,“本地访问”、“远程访问”勾选“允许”;同理在“启动和激活权限”处点击【编辑限制】,分别选择“everyone”和“ANONYMOUS LOGON”用户,“本地启动”、“远程启动”、“本地激活”、“远程激活”均勾选“允许”,单击【确定】;
w 依次展开【组件服务】→【计算机】→【我的电脑】→【Distributed Transaction Coordinator】→【本地DTC】,在“本地DTC”上右键选择【属性】,选择“安全”页签,勾选“网络DTC访问”、“允许远程客户端”、“允许远程管理”、“允许入站”、“允许出站”以及“不要求进行验证”,单击【确定】
⑥ 如果上述操作后,仍有异常,重置MSDTC重新参考上述步骤设置。重置MSDTC方法:
删除注册表中的键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID
开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)
停止MSDTC服务:net stop msdtc
卸载MSDTC服务:msdtc -uninstall (卸载后重新启动电脑)
重新安装MSDTC服务:msdtc –install
启动MSDTC服务:net start msdtc
5.1.1.2 客户端登录提示:“中间层创建事务失败,请联系系统管理员!”高级显示:错误代码: Source :frmMainNew.CheckAcctIsUse()KDLogin
【分析原因】
该报错导致的客户端无法登录,一般因ebosystem公共组件服务中组件异常导致,注册错误组件或删除组件服务中组件重新注册中间层即可
【操作步骤】
1、在中间层服务器上依次打开【开始】→【控制面板】→【管理工具】→【组件服务】→【计算机】→【我的电脑】→【COM+应用程序】找到【ebosyatem】组件包;
2、打开【ebosystem】组件包中的【组件】,并查找是否存在“ebsbase.XXX”文件,若有则先删除;
3、在【ebosystem】组件包的【组件】上右键选择【新建】→【组件】→【下一步】→【安装新组件】,浏览选择到金蝶K/3安装目录【K3ERP】→【KDSYSTEM】→【KDCOM】下的“ebsbse10.dll”文件,单击【下一步】直至完成即可。
4、如重新注册上述组件后无效或手动启动ebosystem组件异常,删除所有ebo*开头的组件,重新运行“中间层组件注册”,重新注册中间层组件处理。
5.1.2 账套管理无法打开,客户端无法登录
账套管理登录提示:中间层配置有误,请重新配置
客户端远程组件配置测试显示:网络中间层连接失败,请检查是否正确安装了正确的中间层组件
【分析原因】
中间层组件未注册或注册异常无法正常运行,需要重新进行中间层组件注册。
【操作步骤】
1、 可以先尝试标识组件处理:
在服务器上依次单击【开始】→【设置】→【控制面板】,然后单击【管理工具】→【组件服务】,弹出【组件服务】窗口中,依次展开【计算机】→【我的电脑】→【COM+应用程序】,选择所有的“ebo”开头的组件和kdsvrmgr组件,注意需要排除“EBOHRMS”,然后点击右键选择【属性】,点击【标识】,勾选“下列用户”,点击【浏览】→【高级】→【立即查找】,选择操作系统管理员用户并输入密码后单击【确定】;
2、 如标识组件无效,或无法标识,打开【开始菜单】-【所有程序】-【金蝶 K/3wise】-【金蝶K/3服务器工具】-【中间层组件注册】,默认设置即可,点击【安装】完成中间层组件注册即可。(如有使用HR或web端,还需运行“HR中间层服务组件注册”)
5.2 所有客户端无法连接服务器,但服务器上客户端登录正常
所有客户端无法连接服务器,但服务器上客户端正常的情况下,需要在任一台异常客户端上,运行“远程组件配置工具”,点击测试-中止,后观察其中具体的提示来确认问题。根据提示信息分一下几种情况处理(注意测试加密服务,如果加密服务测试正常,其他组件测试不通过,非连接问题,一般均是因为补丁不统一,此文档不讨论):
5.2.1 RPC服务器不可用
1、确保远程组件配置工具中输入中间层服务器IP地址或计算机名正确。
2、参考“3.14 配置防火墙”检查防火墙配置,或临时关闭防火墙测试客户端连接服务器是否恢复正常,如恢复正常,参考上述防火墙配置好即可解决。
3、在服务器上依次打开【开始】→【控制面板】→【管理工具】→【本地安全策略】,打开后找到“IP安全策略,在本地计算机”,打开查看是否有添加了某些IP安全策略,若有,请将这些IP安全策略删除。
4、在客户端打开【开始】→【运行】,输入“cmd”,单击【确定】,输入“ping 服务器IP”,如“ping 192.168.1.2”,确保网络正常,若显示“请求超时”,则需先检查和修复网络。
5、在cmd中输入“telnet 服务器IP 135”,检查客户端访问服务器RPC端口135是否正常,同时测试5159加密端口是否正常,如端口不通,请检查网络是否存在防火墙或其他安全设备限制了135端口及其他必须端口的访问。(如telnet无法使用,在程序和功能启用或关闭windows功能中添加“telnet客户端”安装即可)
6、如果网络访问使用仅来宾模式,打开控制面板--管理工具--本地安全策略--本地策略--安全选项--网络访问: 将 Everyone 权限应用于匿名用户,选择“已启用”;然后更新组策略:打开cmd--输入gpupdate /force回车更新组策略。
5.2.2 中间层服务器不能作为远程服务器,可能是Windows 9X
1、 确保远程组件配置工具中输入中间层服务器IP地址或计算机名正确。
2、 参考【3.14 配置防火墙】检查防火墙配置,或临时关闭防火墙测试客户端连接服务器是否恢复正常,如恢复正常,参考上述防火墙配置好即可解决。
3、 在服务器上依次打开【开始】→【控制面板】→【管理工具】→【本地安全策略】,打开后找到“IP安全策略,在本地计算机”,打开查看是否有添加了某些IP安全策略,若有,请将这些IP安全策略删除。
4、 在cmd中输入“telnet 服务器IP 135”,检查客户端访问服务器RPC端口135是否正常,同时测试5159加密端口是否正常,如端口不通,请检查网络是否存在防火墙或其他安全设备限制了135端口及其他必须端口的访问。(如telnet无法使用,在程序和功能启用或关闭windows功能中添加“telnet客户端”安装即可)
5、 在cmd中输入“telnet 服务器IP 135”,检查客户端访问服务器RPC端口135是否正常,同时测试5159加密端口是否正常,如端口不通,请检查网络是否存在防火墙或其他安全设备限制了135端口及其他必须端口的访问。(如telnet无法使用,在程序和功能启用或关闭windows功能中添加“telnet客户端”安装即可)
6、 参考【3.1.2 配置组件服务】配置服务器上组件服务。
7、 使用netstat –ano 查看服务器上DCOM使用了哪些端口,确保在客户端telnet能访问DCOM的动态端口,如果无法访问,请检查网络中是否有其他防火墙设备限制。
5.2.3 创建中间层对象错误,需要对象或拒绝的权限
1、 在中间层服务器上依次打开【开始】→【控制面板】→【管理工具】→【本地安全策略】→【本地策略】→【安全选项】,查看“网络访问:本地账户的共享及安全模型”当前选择是哪一项:
① 若为“仅来宾”,请点击查看以下操作:
a) 在如上【安全选项】中,找到“帐户:来宾帐户状态”设置为“已启用”;
b) 在如上【安全选项】中,找到“帐户:使用空密码的本地帐户只允许进行控制台登录”设置为“已禁用”;
c) 在如上【安全选项】中,找到“网络访问:将Everyone权限应用于匿名用户”设置为“已启用”(win10客户端可优先配置该项)
d) 左边导航栏切换到【用户权限分配】,找到“拒绝从网络访问这台计算机”,清空其中的“Guest”帐户;
e) 在服务器上依次单击【开始】→【设置】→【控制面板】,然后单击【管理工具】→【组件服务】,弹出【组件服务】窗口中,依次展开【计算机】→【我的电脑】→【COM+应用程序】,选择所有的“ebo”开头的组件和kdsvrmgr组件,注意需要排除“EBOHRMS”,然后点击右键选择【属性】,点击【标识】,勾选“下列用户”,点击【浏览】→【高级】→【立即查找】,选择管理员用户并输入密码后单击【确定】。
f) 配置策略完成后,管理员运行cmd,输入gpupdate /force 更新组策略。
② 若为“经典”,请点击查看以下操作:
a) 在中间层服务器上依次打开【开始】→【控制面板】→【管理工具】→【本地安全策略】→【本地策略】→【安全选项】,将“网络访问:本地账户的共享及安全模式”更改为“经典”,“帐户: 使用空白密码的本地帐户只允许进行控制台登录”更改为“禁用”;“账户:来宾账户状态”设置为禁用;
b) 在客户端电脑上打开【开始】→【运行】,输入“cmd”,单击【确定】弹出DOS界面,输入“echo %username%”后回车即可看到当前客户端开机用户名,若查询到用户为Administrator,进入第c)步,若不是Administrator,则进入第d)步;
c) 建议客户端另外新增一个管理员用户,可通过打开【开始】→【运行】,输入“lusrmgr.msc”,单击【确定】弹出“本地用户和组(本地)”界面,请在用户中右键选择【新用户】,输入用户名及密码,并取消勾选“用户下次不能更改密码”,勾选“密码用户过期”,单击【确定】,然后双击该新增用户,选择【隶属于】,单击【添加】→【高级】→【立即查找】,选择“Administrators”,单击【确定】后注销电脑,使用该新增的用户登录操作系统使用;
d) 在中间层服务器上打开【开始】→【运行】,输入“lusrmgr.msc”,单击【确定】弹出“本地用户和组(本地)”界面,请在用户中右键选择【新用户】,用户名处输入与客户端相同用户名,密码也与客户端密码相同,并取消勾选“用户下次不能更改密码”,勾选“密码用户过期”,单击【确定】完成用户新建;
2、 参考【3.1.2 配置组件服务】配置服务器上组件服务。
3、 参考【3.2.1 配置组件服务】配置客户端上组件服务。
5.2.4 请确保中间层上的组件为最新版本
1、 确保客户端和服务器安装的是同一个版本的wise产品;
2、 检查是否在服务器上运行过“远程组件配置工具”,该工具不能在服务器上运行,运行注册后,将注册客户端组件,从而导致服务器端异常,如有运行,重新注册中间层组件即可。
3、 检查是否正确安装了【应用程序服务器】角色,参考【3.1.1 服务器管理器安装必要服务角色和功能】。
5.3 个别客户端无法创建中间层组件,无法连接服务器,其他客户端使用正常
5.3.1 创建中间层对象错误,没有注册类
出现该提示是因为本客户端上安装了中间层部件或安装过中间层部件存在残留组件包。
1、 使用K/3 Wise安装包,以管理员身份运行安装程序setup.exe,点击“修改”,取消勾选中间层部件,确保只勾选客户端部件,点击“下一步”完成修改安装;
2、 打开“管理工具”-“组件服务”,展开“组件服务”-“计算机”-“我的电脑”-“COM+应用程序”,查看其中是否还有“ebo*”或“kdsvrmgr”的组件包,如果存在右键“删除”。
3、 重新运行“远程组件配置工具”进行测试即可。
4、 如果重新测试通过后,部分业务出现问题,建议完整卸载清理后,重新单独安装客户端(考虑存在注册表残留导致业务异常)。
5.3.2 请确保中间层上的组件为最新版本
一般是由于该客户端安装软件时多勾选安装了“中间层服务部件”或当前客户端有存在中间层组件导致;
1、可在出问题的客户端上依次单击【开始】→【设置】→【控制面板】,然后单击【管理工具】→【组件服务】,弹出【组件服务】窗口中,依次展开【计算机】→【我的电脑】→【COM+应用程序】,选择所有的“ebo”开头的组件和kdsvrmgr组件,点击鼠标右键删除;
2、重新运行远程组件配置进行测试组件即可。
5.3.3 RPC服务器不可用
1、 确保远程组件配置工具中输入中间层服务器IP地址或计算机名正确。
2、 检查登录操作系统的用户是否本地管理员账户,如使用Microsoft邮箱帐户,请先切换到本地帐户登录操作系统;如使用win10家庭版,请开启administrator帐户:
① 开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)
② 输入命令:net user administrator /active:yes 回车执行命令
③ 命令执行成功后,重启或注销,重新以administrator登录操作系统即可。
3、 在客户端打开【开始】→【运行】,输入“cmd”,单击【确定】,输入“ping 服务器IP”,如“ping 192.168.1.2”,确保网络正常,若显示“请求超时”,则需先检查和修复网络。
4、 在cmd中输入“telnet 服务器IP 135”,检查客户端访问服务器RPC端口135是否正常,同时测试5159加密端口是否正常,如端口不通,请检查网络是否存在防火墙或其他安全设备限制了该客户端访问服务器的135端口及其他必须端口。(如telnet无法使用,在程序和功能启用或关闭windows功能中添加“telnet客户端”安装即可)
5、 检查服务器上,打开控制面板--管理工具--本地安全策略--本地策略--安全选项--网络访问: 将 Everyone 权限应用于匿名用户,是否启用,如未启用,则选择“已启用”,然后更新组策略:打开cmd--输入gpupdate回车,等待更新完成即可。
6、 如上述操作还提示RPC服务器不可用,请以管理员身份运行CMD,输入如下命令:
netsh winsock reset 回车
net stop msdtc 回车
msdtc –uninstall 回车,必须重启电脑。
电脑重启完成后,重新管理员身份运行CMD,输入下述命令:
msdtc –install 回车
msdtc –resetlog 回车
net start msdtc 回车,待服务提示启动完成即可。
7、 重新连接测试。
5.3.4 创建中间层对象错误,需要对象或拒绝的权限
1、 检查登录操作系统的用户是否本地管理员账户,如使用Microsoft邮箱帐户,请先切换到本地帐户登录操作系统;如使用win10家庭版,请开启administrator帐户:
① 开始菜单搜索cmd,匹配出“命令提示符”,右键以管理员身份运行;(或者找到c:\windows\system32\cmd.exe,鼠标右键选择“以管理员身份运行”)
② 输入命令:net user administrator /active:yes 回车执行命令
③ 命令执行成功后,重启或注销,重新以administrator登录操作系统即可。
2、 检查服务器上,打开控制面板--管理工具--本地安全策略--本地策略--安全选项--网络访问: 将 Everyone 权限应用于匿名用户,是否启用,如未启用,则选择“已启用”,然后更新组策略:打开cmd--输入gpupdate回车,等待更新完成即可。
3、 在客户端上运行中输入“\\服务器IP地址”回车,是否能正常打开共享,如提示需要输入用户名和密码,在客户端凭据管理中添加服务器管理员的windows凭据:参考【3.2.3 添加服务器windows凭据】
4、 在客户端上配置组件服务,参考【3.2.1 配置组件服务】
如上述操作仍需要对象,参考如下再进行排查:
1、 以管理员身份运行CMD,输入命令“nbtstat –a 服务器IP”,看客户端能否通过NetBIOS解析到服务器计算机名,如无法解析到,参考【3.2.2 添加配置hosts解析】
2、 如果服务器网络访问模式为经典,客户端新建同名同密码用户使用:
① 在客户端电脑上打开【开始】→【运行】,输入“cmd”,单击【确定】弹出DOS界面,输入“echo %username%”后回车即可看到当前客户端开机用户名,若查询到用户为Administrator,进入第c)步,若不是Administrator,则进入第d)步;
② 建议客户端另外新增一个管理员用户,可通过打开【开始】→【运行】,输入“lusrmgr.msc”,单击【确定】弹出“本地用户和组(本地)”界面,请在用户中右键选择【新用户】,输入用户名及密码,并取消勾选“用户下次不能更改密码”,勾选“密码用户过期”,单击【确定】,然后双击该新增用户,选择【隶属于】,单击【添加】→【高级】→【立即查找】,选择“Administrators”,单击【确定】后注销电脑,使用该新增的用户登录操作系统使用;
③ 在中间层服务器上打开【开始】→【运行】,输入“lusrmgr.msc”,单击【确定】弹出“本地用户和组(本地)”界面,请在用户中右键选择【新用户】,用户名处输入与客户端相同用户名,密码也与客户端密码相同,并取消勾选“用户下次不能更改密码”,勾选“密码用户过期”,单击【确定】完成用户新建。
5.3.5 中间层服务器不能作为远程服务器,可能是Windows 9X
1、 可先尝试将远程组件配置界面中的服务器地址由IP地址修改为计算机名,或将计算机名修改为IP地址测试是否测试通过;
2、 若不行,请在客户端打开【开始】→【运行】,输入“cmd”,单击【确定】,输入“ping 服务器IP”,如“ping 192.168.1.2”,回车确认网络是否正常连通,若显示“请求超时”,则需先检查和修复网络;
3、 在客户端上依次打开【开始】→【控制面板】→【管理工具】→【服务】,找到“Distributed Transaction Coordinator”服务,确保其为“启动”状态;
4、 参考【3.2.1 配置组件服务】,如果组件服务我的电脑有红色向下箭头,参考其中的重置MSDTC操作重置;
5、 参考【3.2.2 添加配置hosts解析】
6、 在服务器及客户端分别打开【开始】→【运行】,输入“cmd”,单击【确定】,输入“netsh winsock reset”,回车显示“成功地重置 Winsock 目录”后重启电脑;
5.3.6 网络中间层连接失败,请检查是否正确安装了正确的中间层组件
1、 检查远程组件配置中,输入的中间层服务器IP地址是否正确,是否有电脑与服务器计算机名重名,若有需修改计算机名确保不重名;
2、 检查客户端与服务器的版本是否一致。可通过【开始】→【所有程序】→【金蝶k/3wise创新管理平台】→【金蝶k/3工具】→【客户端工具包】,点击【帮助】菜单“关于”确认版本,若版本不一致需要卸载重新安装正确版本;
3、 可能为操作系统用户权限不足,可尝试以administrator登录操作系统,运行“远程组件配置工具”,输入服务器地址后直接单击【确定】,完成后重新打开“远程组件配置工具”确认服务器信息是否正确显示,确保地址正确后,再切换到对应系统用户进入操作系统后运行远程组件配置。
K3 WISE 客户端访问服务器连接问题解决方案3.21.p …(2.26MB)
推荐阅读