zoukankan      html  css  js  c++  java
  • 获取远程机器上的windows服务 完全有效已测试

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Management;
    using System.ServiceProcess;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace ConsoleApp2
    {
    class Program
    {
    static void Main(string[] args)
    {
    //try
    //{
    // ServiceController ctrl = new ServiceController();
    // ctrl.MachineName = "192.168.1.10";
    // ctrl.ServiceName = "BFE";
    // Console.WriteLine(ctrl.Status.ToString());
    //}
    //catch(Exception ex)
    //{
    // Console.WriteLine(ex.Message);
    //}
     
    //Console.Read();
     
    ConnectionOptions op = new ConnectionOptions();
    //op.Username = "WIN-50QHRP5SDUI\administrator"; //Remote Mangerment User
    //op.Password = "RongDa2018";
    op.Username = "WIN-50QHRP5SDUI\administrator";
    op.Password = "RongDa2018";
    ManagementScope scope = new ManagementScope(@"\WIN-50QHRP5SDUI ootcimv2", op);
    scope.Connect();
     
    ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_Service ");//Where Name like 'Windows%'
    ManagementObjectSearcher query1 = new ManagementObjectSearcher(scope, oq);
    //获取WMI操作内容
    ManagementObjectCollection queryCollection1 = query1.Get();
    //根据使用者选择执行相应的远程操作
    int i = 0;
    foreach (ManagementObject service in queryCollection1)
    {
    Console.WriteLine(i++ + " " + service.GetPropertyValue("Name").ToString() + " " + service.GetPropertyValue("Caption").ToString() + " ab" + service.GetPropertyValue("State").ToString());
    }
     
     
    ManagementPath path = new ManagementPath("Win32_Service");
    ManagementClass services;
    services = new ManagementClass(scope, path, null);
     
    foreach (ManagementObject service in services.GetInstances())
    {
    //Console.WriteLine(i++ +" ab"+ service.GetPropertyValue("Name").ToString() + " ab" + service.GetPropertyValue("State").ToString());
    //if (service.GetPropertyValue("State").ToString().ToLower().Equals("running"))
    //{ // Do something }
     
    //}
     
    //return;
     
    //try
    //{
    // string pcname = "WIN-50QHRP5SDUI";
    // ConnectionOptions connectionOptions = new ConnectionOptions();
    // connectionOptions.Username = pcname + "administrator";
    // connectionOptions.Password = "RongDa2018";
    // //connectionOptions.Authority = "ntlmdomain:DOMAIN";
    // ManagementScope managementScope = new ManagementScope("\\" + pcname + "\root\cimv2", connectionOptions);
    // managementScope.Connect();
     
    // try
    // {
    // ServiceController ctrl = new ServiceController();
    // ctrl.MachineName = pcname;
    // ctrl.ServiceName = "BFE";
    // Console.WriteLine(ctrl.Status.ToString());
    // }
    // catch (Exception ex)
    // {
    // Console.WriteLine(ex.Message);
    // }
     
    // ////////string pcname = "192.168.1.81";
    // ////////ImpersonationUtil.Impersonate("rd","9527", pcname); //DESKTOP-4VQ2TCU
    // ////////// code you want to execute as impersonated user.....
     
    // ServiceController[] Services = ServiceController.GetServices(pcname); //192.168.1.20
    // foreach (ServiceController sc in Services)
    // {
    // Console.WriteLine(sc.DisplayName);
    // }
     
    // ImpersonationUtil.UnImpersonate();
    //}
    //catch (Exception ex)
    //{
    // Console.WriteLine(ex.Message);
    //}
     
    //Console.Read();
    }
    Console.Read();
     
    /////
    ///// 获取windows 服务状态
    /////
    /////服务名称
    /////服务器IP
    /////
    //public ServiceControllerStatus GetServiceState(string serviceName, string serverIP)
    //{
    // ServiceControllerStatus serviceSate;
    // using (ServiceController sc = ServiceController.GetServices(serverIP)
    // .FirstOrDefault(x => x.ServiceName == serviceName))
    // {
    // if (sc == null)
    // {
    // throw new Exception($"{serviceName}不存在于{serverIP}");
    // }
    // serviceSate = sc.Status;
    // sc.Close();
    // }
    // return serviceSate;
    //}
    }
     
     
    public String getServices()
    {
    string s = "";
    ManagementObjectCollection itemCollection2 = new ManagementObjectSearcher("SELECT * FROM Win32_Service").Get();
    foreach (ManagementObject MO in itemCollection2)
    {
    String displayName = (String)MO["Caption"];
    s += displayName + " ";
    }
    return s;
    }
    }
    }
     
  • 相关阅读:
    vue typescript: Parameter ‘XXX’ implicitly has an ‘any’ type.解决方法
    ESLint学习(一)简介、安装、配置、命令行、规则
    使用vite搭建vue3项目(三) 配置国际化
    VUE3+Typescript 引用process提示错误
    centos7安装vsftpd,配置
    使用vite搭建vue3项目(一) 创建一个工程
    Symbols 是 JavaScript 最新推出的一种基本类型
    使用vite搭建vue3项目(二) 引入vuerouter
    在使用vite时使用import.meta.globEager 代替 require.context 自动导入文件
    VUE3.X版本error: Parsing error: Parsing error: Unexpected token 的解决办法
  • 原文地址:https://www.cnblogs.com/devgis/p/14180821.html
Copyright © 2011-2022 走看看