当前位置:  开发笔记 > 编程语言 > 正文

使用C#更改Windows服务凭据的最佳方法是什么?

如何解决《使用C#更改Windows服务凭据的最佳方法是什么?》经验,为你挑选了1个好方法。

我需要使用C#更改已存在的Windows服务的凭据.我知道有两种不同的方法.

    ChangeServiceConfig,请参阅pinvoke.net上的ChangeServiceConfig

    ManagementObject.InvokeMethod使用Change作为方法名称.

这似乎都不是一种非常"友好"的方式,我想知道我是否错过了另一种更好的方法来做到这一点.



1> Magnus Johan..:

下面是一个使用System.Management类的快速而脏的方法.

using System;
using System.Collections.Generic;
using System.Text;
using System.Management;

namespace ServiceTest
{
  class Program
  {
    static void Main(string[] args)
    {
      string theServiceName = "My Windows Service";
      string objectPath = string.Format("Win32_Service.Name='{0}'", theServiceName);
      using (ManagementObject mngService = new ManagementObject(new ManagementPath(objectPath)))
      {
        object[] wmiParameters = new object[11];
        wmiParameters[6] = @"domain\username";
        wmiParameters[7] = "password";
        mngService.InvokeMethod("Change", wmiParameters);
      }
    }
  }
}

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有