小编Bjö*_*örn的帖子

如何获取CreateProcessAsUser的有效用户令牌?

我有一个以普通用户身份运行的应用程序,以及作为本地系统运行的服务.我希望应用程序能够告诉服务再次启动应用程序,一旦服务完成了其他一些事情.(因此,当服务正在执行"事物"时,应用程序将不会运行.)为了使服务能够以首次启动它的用户启动应用程序,它需要一个用户令牌.应用程序在退出之前将令牌发送到服务,但是当服务尝试使用它时,令牌/句柄无效.(它首先使用DuplicateTokenEx来获取主令牌.)

用户令牌是否始终仅在调用OpenProcessToken的进程中有效?

还有其他方法可以做到吗?我不希望用户必须使用logonuser"登录"应用程序.那只是愚蠢的.我想我可以将"explorer.exe"的进程句柄从应用程序移交给服务,该服务可以用来获取用户令牌,但这需要PROCESS DUP HANDLE访问权限.我对这个解决方案并不感到兴奋,但也许是这样做的方法呢?

windows-services token createprocessasuser

5
推荐指数
1
解决办法
6716
查看次数