首页 文章

Windows服务作为LocalSystem运行,但需要以当前登录的用户身份启动进程

提问于
浏览
2

我正在运行一个Windows服务(使用.NET编写)作为用户 - LocalSystem .

从服务中,我需要启动一个进程,但作为当前登录的用户 . 如果我使用Process.Start(process_name),它默认使用服务的权限运行 - 就像LocalSystem一样 . 如何模拟当前登录的用户并在相同的情况下运行该过程?

EDIT :我赢了't have access to user credentials - I wouldn't知道登录用户的密码

EDIT2 :标记为答案的帖子中的第2条评论是有帮助的 .

2 回答

  • 0

    类似的问题已经被问到Setting Service to Run as Current User

  • 0

    您可以使用ProcessStartInfo启动流程 - 它允许您为新流程设置用户名和密码,以便:

    ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
    startInfo.UserName = myUserName;
    startInfo.Password = myUserPassword;
    startInfo.Arguments = "www.northwindtraders.com";
    Process.Start(startInfo);
    

    Update: (更新后的问题)

    您可能可以使用RunAs - 如果其他人提供凭据 .

相关问题