好的,我在使用 psexec 在远程机器上注册 OCX 文件时遇到了问题,但我想我已经弄清楚我的问题出在哪里了。
基本上我有一个运行以下命令的脚本
PSEXEC \WORKSTATION1 REGSVR32 /S "\WORKSTATION1\C$\WINDOWS\SYSTEM32\CONTROL.OCX"
这成功注册了 CONTROL.OCX,我的应用程序适用于管理员。
如果非管理员登录,它不起作用。
经过对 StackOverflow 的数小时研究和帮助,我确定原因是在远程机器(WORKSTATION1)的注册表中,OCX 文件的位置存储在一个字符串中,其值为:
\WORKSTATION1\C$\WINDOWS\SYSTEM32\CONTROL.OCX
代替:
C:\WINDOWS\SYSTEM32\CONTROL.OCX
由于普通用户无权访问管理共享 C$,因此他们无法运行依赖于 OCX 的应用程序。
有没有办法在远程机器上使用 PSEXEC 运行 REGSVR 并让脚本将 C:\WINDOWS\SYSTEM32 视为远程机器上的目录,而不是我正在运行 PSEXEC 的机器?这样,OCX 将使用正确的路径名进行注册。
谢谢