1

On a windows 2003 server, running from a service, createprocessasuser fails with error 87, and an error from WLEXECSERVER that says fails to impersonate user.

On a windows 2003 server 64 bit, running from a service, createprocessasuser fails with error 1349.

The token is created using OpenProcess -> OpenProcessToken(TOKEN_QUERY, TOKEN_DUPLICATE) -> DuplicateTokenEx (WITH GRANT_ALL, PrimaryToken, SecurityImpersonation).

On WIN7 and 2008 R2 it works fine with no problems.

If i take the token with WTSQueryUserToken, it works fine also.

Anyone has an idea why?

vakuras
  • 987
  • 6
  • 10

1 Answers1

2

It seems the same problem on Windows XP: CreateProcessAsUser fails with error 233 (0xE9) if the session id is not 0 and if no user logged on. This bug is fixed on NT 6.0 and higher.

There are some workarounds which may help: 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

Take a look on CreateRemoteSessionProcess function.

Stas'M
  • 71
  • 1
  • 3
  • 7