0

好的,我在使用 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 将使用正确的路径名进行注册。

谢谢

4

1 回答 1

1

psexec将其参数直接传递给远程程序。
通过C:\WINDOWS\SYSTEM32\CONTROL.OCX应该可以正常工作。

于 2012-12-16T15:25:15.063 回答