c# - 如何使用 Related ObjectQuery 访问远程 Windows 服务

标签 c# visual-studio-2010 windows-services systemmanagement

我想控制(启动和停止)远程机器上的 Windows 服务。我可以连接那台机器,但我无法访问 Windows 服务。这是我的代码。 你能帮帮我吗?

    ConnectionOptions oConn = new ConnectionOptions();
    oConn.Username = "****";
    oConn.Password = "****";

    ManagementScope managementScope = new ManagementScope(@"\\***.***.***.***\root\CIMV2", oConn);
    managementScope.Connect();

  RelatedObjectQuery roq = new RelatedObjectQuery("Win32_Service.Name='KanAktarim'");
  ManagementObjectSearcher moSearcher = new ManagementObjectSearcher(managementScope, roq);
  ManagementObjectCollection mbCollection = moSearcher.Get();

最佳答案

            ManagementObjectSearcher moSearcher = new ManagementObjectSearcher();
            moSearcher.Scope = managementScope;
            moSearcher.Query = new ObjectQuery("SELECT * FROM win32_Service WHERE Name ='KanAktarim'");
            ManagementObjectCollection mbCollection = moSearcher.Get();

            foreach (ManagementObject oReturn in mbCollection)
            {
                ManagementBaseObject outParams = oReturn.InvokeMethod("StartService", null, null);
                ManagementBaseObject outParams = oReturn.InvokeMethod("StopService", null, null);
                string a = outParams["ReturnValue"].ToString();

                string state = oReturn.Properties["State"].Value.ToString().Trim();
            }

关于c# - 如何使用 Related ObjectQuery 访问远程 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117877/

相关文章:

c - 函数得到错误的值

c# - 未知服务器标记 'asp:Silverlight'

c# - 如果前一个线程仍然很忙,如何让 Timer 跳过滴答

c# - UWP 连接字符串

c# - 为 Windows 7 桌面开发我自己的虚拟键盘

c# - 在 C# .NET 构造函数中扩展类和覆盖属性

c# - 如何向结构体添加多个构造函数?

c# - 读取 csv 文件客户端

c# - Windows 服务与任务计划程序 - 手动启动

docker - 在 Docker 容器中安装 Windows 服务