C#程序远程登录并更改服务密码

时间:2010-10-21 20:05:55

标签: c# windows-services

我需要编写一个C#程序,在给定服务器和服务列表的情况下,远程登录服务器,停止服务,更改与该服务关联的密码并重新启动服务。

我不完全确定它是否可能,但我想相信它。关于我应该在哪里/我应该开始考虑的任何指示?

PS - 我不仅限于C#。如果有另一种语言可以使这项任务变得更容易,我可以接受建议。

2 个答案:

答案 0 :(得分:3)

您可以使用 WMI 来完成您提到的所有这些操作。 WMI 通过System.Manangement.Instrumentation公开,有很多例子,只有google C#+ WMI。

另一种选择是使用ServiceController类,您可以使用它来远程连接服务,但不确定是否可以使用它更改服务的凭据(其标识)。

答案 1 :(得分:1)

如果目标计算机具有足够的访问权限,则OpenSCManagerOpenServiceChangeServiceConfig序列可用于修改密码或您要修改的任何其他内容。

我认为本机代码就像在C#中使用P / Invoke一样简单,但是根据你必须处理目标服务器列表的方式,这样做可能是值得的。

编辑:

如果您根据其他答案使用WMI,则需要使用Win32_Service class Change method

相关问题