我有一个作为本地系统运行的服务。
在服务中,我需要在所有登录用户的上下文中执行一些操作(调用NetworkIsolationSetAppContainerConfig
- 尝试解决Windows 8-10中的隔离免除问题)。
所以我用WTSEnumerateSessions
迭代用户并尝试了两种方法:
模拟 - WTSQueryUserToken
获取用户令牌,DuplicateTokenEx
复制用户令牌,SetThreadToken
使用它。
不同的流程 - 我创建了一个调用NetworkIsolationSetAppContainerConfig
的不同流程,在我的服务中,我使用WTSQueryUserToken
,DuplicateTokenEx
,CreateEnvironmentBlock
和CreateProcessAsUserW来运行此流程在用户的背景下。
两种方法都因Windows 10上缺少权限(错误编号5 - 访问被拒绝)而失败。 但是,当我以管理员模式运行我的Visual Studio并尝试运行此功能时,一切正常。 我能做什么?如何在用户的上下文中运行该功能但保持服务管理员权限? 感谢