CreateProcessWithUser 无法模拟用户,出现错误 87、1349
Posted
技术标签:
【中文标题】CreateProcessWithUser 无法模拟用户,出现错误 87、1349【英文标题】:CreateProcessWithUser fails to impersonate user with errors 87, 1349 【发布时间】:2010-12-02 09:01:18 【问题描述】:在 Windows 2003 服务器上,从服务运行时,createprocessasuser 失败并出现错误 87,并且来自 WLEXECSERVER 的错误提示无法模拟用户。
在 Windows 2003 服务器 64 位上,从服务运行,createprocessasuser 失败并出现错误 1349。
令牌是使用OpenProcess -> OpenProcessToken(TOKEN_QUERY, TOKEN_DUPLICATE) -> DuplicateTokenEx (WITH GRANT_ALL, PrimaryToken, SecurityImpersonation).
创建的
在 WIN7 和 2008 R2 上运行良好,没有任何问题。
如果我使用 WTSQueryUserToken 获取令牌,它也可以正常工作。
有人知道为什么吗?
【问题讨论】:
MSDN 上的错误 87:msdn.microsoft.com/en-us/library/… 我知道错误是无效参数...问题是什么以及为什么 【参考方案1】:在 Windows XP 上似乎同样的问题: 如果会话 ID 不为 0 并且没有用户登录,则 CreateProcessAsUser 失败并出现错误 233 (0xE9)。此错误已在 NT 6.0 及更高版本中修复。
有一些解决方法可能会有所帮助: https://groups.google.com/d/msg/microsoft.public.win32.programmer.kernel/h72eJ7iMynE/zVgBe_aVj24J https://github.com/zealotous/ultravnc/blob/master/winvnc/winvnc/service.cpp
看看CreateRemoteSessionProcess函数。
【讨论】:
以上是关于CreateProcessWithUser 无法模拟用户,出现错误 87、1349的主要内容,如果未能解决你的问题,请参考以下文章
请问vegas为啥会无法渲染?以前渲染都成功的,这次就一直报错,根据网上的方法找不到对应的编码模
ZBrush 里刷的模型面数太多 无法导入3dMAX 修改 或者减面 怎么办 白刷了?