如何使用Related ObjectQuery访问远程windows服务

本文关键字:windows 服务 访问 何使用 Related ObjectQuery | 更新日期: 2023-09-27 18:06:09

我想控制(启动和停止)远程机器中的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();

如何使用Related ObjectQuery访问远程windows服务

            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();
            }