2010-12-02 9 views
1

サービスから実行しているWindows 2003サーバーでは、createprocessasuserがエラー87で失敗し、WLEXECSERVERからユーザーを偽装できないというエラーが発生します。 Windows 2003のサーバー64ビットでCreateProcessWithUserがエラーのあるユーザーを偽装できない87,1349

は、サービスから実行している、createprocessasuserがエラー1349

で失敗したトークンがWIN7と2008 R2ではOpenProcess -> OpenProcessToken(TOKEN_QUERY, TOKEN_DUPLICATE) -> DuplicateTokenEx (WITH GRANT_ALL, PrimaryToken, SecurityImpersonation).

を使用して作成され、それは問題なく正常に動作します。

私はWTSQueryUserTokenでトークンを取ると、うまくいきます。

誰もが理由を知っていますか?

+1

MSDNのエラー87:http://msdn.microsoft.com/en-us/library/ms681382%28v=VS.85%29.aspx#ERROR_INVALID_PARAMETER – Lekensteyn

+1

エラーが無効なパラメータであることがわかりました。問題は何、そしてなぜですか – vdk

答えて

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機能で見てください。

関連する問題