有两个exe程序,其中一个是window是服务(称为a.exe),运行在system用户下,另一个是普通进程(称为b.exe),运行在ad域账户(该账户没有admin权限)下,但是该进程是需要管理员权限运行的。
如何让a.exe启动b.exe,使b.exe运行在没有admin权限的ad域用户下,但是该程序又具有管理员权限?
本人暂时想到一个方法:写一个不需要admin权限的c.exe,a.exe启动c.exe(使用CreateProcessAsUser),再由c.exe“runas”(可以用CreateProcessWithLogonW来启动)b.exe,这样启动的b.exe就能正常启动了。
但是感觉这种方法不是很优雅,想问下有没有直接a.exe调起b.exe的方法?