2

我目前正在使用一个 VB-Skript,它用于启动 setup.exe 文件,该文件需要管理权限才能正确安装,如果未以管理员身份启动,它将返回相应的错误消息。脚本和安装程序都位于一个窗口共享上,该窗口共享位于 Win7(32 位)中分类为“Worokplace”的网络中。

我有以下奇怪的效果,我不明白:

  • 我以“管理员”身份运行 explorer.exe,并通过双击启动脚本,这导致最终错误消息 setup.exe 需要管理权限才能运行。我认为当我以管理员身份运行 explorer.exe 时,在其中启动的所有其他进程都将具有相同的权限。

  • 我通过以管理员身份启动 cmd.exe 进行了同样的尝试,只需键入 myscript.vbs 即可运行 vbs,安装成功。

很明显,同一个脚本从拥有管理权限的资源管理器开始,从拥有管理权限的cmd.exe开始,最终得到不同的权限,这是我完全不明白的。有人可以解释那里发生了什么吗?

非常感谢

4

1 回答 1

1

任何进程都可以启动子进程,父进程可以选择子进程将运行在什么环境(包括访问权限)。区别只是cmd.exe允许子进程继承自己的环境,而explorer.exe会只有在被告知这样做时才应用管理员权限,方法是右键单击并“以管理员身份运行”或编辑快捷方式的属性。

最重要的是,它们是以这种方式编码的。

于 2011-11-09T08:05:44.483 回答