1

在从服务运行的 Windows 2003 服务器上,createprocessasuser 失败并出现错误 87,并且来自 WLEXECSERVER 的错误提示无法模拟用户。

在从服务运行的 64 位 Windows 2003 服务器上,createprocessasuser 失败并出现错误 1349。

令牌是使用创建的OpenProcess -> OpenProcessToken(TOKEN_QUERY, TOKEN_DUPLICATE) -> DuplicateTokenEx (WITH GRANT_ALL, PrimaryToken, SecurityImpersonation).

在 WIN7 和 2008 R2 上运行良好,没有问题。

如果我使用 WTSQueryUserToken 获取令牌,它也可以正常工作。

任何人都知道为什么?

4

1 回答 1

2

在 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函数。

于 2013-08-30T21:55:10.033 回答