2 sinxxxxx sinxxxxx 于 2015.06.26 16:32 提问

Windows服务如何为用户进程提权

有两个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的方法?

1个回答

oyljerry
oyljerry   Ds   Rxr 2015.06.26 21:09

基本上只有你的方法,没有其它更好的办法了。这就是不同用户session控制

Csdn user default icon
上传中...
上传图片
插入图片