如何在System Windows用户帐户下运行Console App?

Jad*_*ias 5 .net c# process createprocessasuser

我试过了

var process = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = filename,
        UserName = "System",
        UseShellExecute = false,
    },
};

process.Start();
Run Code Online (Sandbox Code Playgroud)

但它产生了

Win32Exception未处理

登录失败:未知用户名或密码错误

我要用CreateProcessAsUser吗?如何获取传递给该方法的相应参数?

Jus*_*tin 8

系统帐户密码由Windows进行内部维护(我认为),即通过以这种方式提供凭证来尝试以系统帐户启动进程最终注定要失败.

然而,我找到了一个论坛帖子,描述了一个巧妙的技巧,可用于通过(ab)使用Windows服务在系统帐户下运行进程:

提示:在系统帐户(sc.exe)中运行进程

或者,Windows Sysinternals工具PsExec似乎允许您使用该-s开关在系统帐户下运行进程.