Dcpromo 在 Server 2008 中作为本地系统运行

Dcpromo 在 Server 2008 中作为本地系统运行

我正在尝试让在 Windows Server 2008 R2 上运行的服务能够执行 dcpromo 以加入和删除 AD。在 Server 2003 中,我能够简单地使用 C# 中的 Process.Start() 并提供 dcpromo 的路径和用户提供的应答文件的路径。

但是,在 Server 2008 中,这将返回 FileNotFoundException。我已经验证了 dcpromo 的路径,甚至尝试运行 System32 文件夹中的其他可执行文件,如 ipconfig 和 whoami,它们执行得很好。

该服务以本地系统帐户运行,我发现让它工作的唯一方法是将命令保存到批处理文件并模拟管理员执行批处理文件。但这有它自己的问题,例如需要管理员密码。

根据 dcpromo.exe 上的权限,SYSTEM 帐户具有读取/执行权限,我尝试授予完全权限并将所有者更改为 SYSTEM,但这些都无济于事。如果由用户作为常规应用程序(即不是服务)运行,则相同的代码可以正常工作。

您知道如何在 Server 2008 R2 中的服务下运行时授予 SYSTEM 帐户权限来执行 dcpromo 吗?

答案1

我一直遇到这个问题,然后意识到 DCPromo 是一个 64 位进程,你可能已将 Visual Studio 设置为创建 x32 应用程序。好吧,我将 VS 改为在 64 位中进行编译,结果运行良好!

卡洛斯

答案2

您能否将服务更改为以用户身份而不是系统帐户身份运行?

相关内容