将Services.msc作为不同的用户C#运行

时间:2010-03-26 09:31:34

标签: c# winforms windows-services runas

我需要创建一个简单的Windows窗体应用程序,允许管理员用户管理远程服务器上的服务。我们不希望向管理员提供服务器的用户名和密码,因此这些将被加密并存储在数据库中。

我的问题是,在冒充数据库中存储的一个用户时,是否可以生成一个Services.msc窗口?

我查看过ProcessStartInfo类但是因为Services.msc不是可执行文件,所以它似乎不喜欢执行它。有关实现模拟和加载Services.msc的简单方法的任何想法 - 例如关闭按钮?

由于

3 个答案:

答案 0 :(得分:1)

文件扩展名 msc 与mmc.exe相关联。您需要启动以下内容:

mmc.exe services.msc

答案 1 :(得分:1)

Spender更快,所以他得到了学分。这就是我所做的,以防它对某人有用。

        SecureString ss = new SecureString();
        ss.AppendChar('X');
        // other calls to AppendChar
        ProcessStartInfo psi = new ProcessStartInfo() {
            UserName = "XXX", Password = ss, Domain = "XXX",
              UseShellExecute = false,
              FileName = "mmc", Arguments = "services.msc"
          };
        Process.Start(psi);

答案 2 :(得分:0)

检查此项目Services +是Services.msc的替代

==> Services+

您可以使用Process.start或shell

运行它

由于