在Windows上将用户模拟为LocalSystem

我有一个在Windows XP及以下版本上以LocalSystem身份运行的进程。 我试图find一种方法,让它启动另一个进程模拟另一个用户, 不必提供用户密码。

原则上这应该是可能的,因为LocalSystem具有“作为操作系统的一部分行事”的特权。 但是我无法find正确的API。

有人可以告诉我如何做到这一点:

  • 用API,或者
  • 从batch file?

您可以通过先通过WTSQueryUserToken获取用户的令牌,然后调用CreateProcessAsUser来启动进程。 请注意,您只能为当前登录系统的用户执行此操作。