我有一家第三方供应商提供的解决方案,该解决方案使用专有 OPC 服务器,该服务器作为用户进程(而非服务)运行。当管理员帐户登录且 OPC 客户端尝试连接时,它会启动。因此,它以管理员身份运行。
我的 OPC 客户端(在远程计算机上)以 SYSTEM 帐户作为服务运行。不幸的是,使用此配置,我的 OPC 客户端无法访问供应商的 OPC 服务器,因为它们在不同的凭据下运行。
如果我以 AS 管理员身份运行我的 OPC 客户端(在远程计算机上),我就可以正常浏览供应商的 OPC 服务器,因为客户端和服务器现在都以相同的凭据运行 AS 管理员。
我不想让我的 OPC 客户端以管理员身份运行 - 我希望它以系统身份运行,就像大多数服务一样。我不喜欢必须自定义配置我的系统才能与第三方系统通信 - 我宁愿第三方系统负责按原样与我的系统通信。
我已设法通过 psexec 让供应商的 OPC 服务器以 AS SYSTEM 身份运行。不幸的是,我的 OPC 客户端(以 AS SYSTEM 身份运行)仍然无法查看/连接到 OPC 服务器。
DCOM 配置为“连接”和“识别”,并且 SYSTEM 帐户被授予本地/远程启动/激活权限。
这个文件Kepware OPC 配置指南建议通过运行 AS SYSTEM 的 OPC 进行通信应该工作。
只是为了好玩,我通过 psexec 在供应商的应用服务器上启动了 OPC 服务器和便携式 Matrikon OPC 客户端,两者都以 AS SYSTEM 运行,都在会话 0 中运行,并启用了交互服务。即使在这种情况下,设置为浏览 LOCALHOST 的 OPC 客户端也无法连接到 OPC 服务器。
这是在工作组环境中,但我不认为这是问题。
我读了一些资料,据我所知,会话 0 隔离仅“隔离”具有 GUI 的服务......与网络隔离无关。
我错过了什么?这简单吗?