zoukankan      html  css  js  c++  java
  • WMI执行远程文件(RPC)

    通过wmi在远程机上执行命令(wmi:windows management interface 可以通过一个公共的接口访问不同操作系统(windows系统)的构成单元,利用它可以高效的管理远程和本地的计算机。

    它也是w2k3,w2k8和xp的管理系统的控制核心),下面是完成这个工作的示范代码: 

    public static void ExecuteRemote(string serverHostName, string domain, string userName, string password, string strCommand, string path)
    {
        //ConnectionOptions指定生成wmi连接所需的设置
        ConnectionOptions connOption = new ConnectionOptions();
        connOption.Username = domain + @"" + userName;
        connOption.Password = password;
    
        //ManagementPath 包装了生成和分析wmi对象的路径
    
        ManagementPath mngPath = new ManagementPath(@"\" + serverHostName + @"
    ootcimv2:Win32_Process");
        ManagementScope scope = new ManagementScope(mngPath, connOption);
        scope.Connect();
    
        //ObjectGetOptions 类是指定用于获取管理对象的选项
        ObjectGetOptions objOption = new ObjectGetOptions();
    
        //ManagementClass 是表示公共信息模型 (CIM) 管理类,通过该类的成员,可以使用特定的 WMI 类路径访问 WMI 数据
        ManagementClass classInstance = new ManagementClass(scope, mngPath, objOption);
        ManagementBaseObject inParams = classInstance.GetMethodParameters("Create");
    
        //设定命令行参数
        inParams["CommandLine"] = @"cmd.exe /c " + @path + @" -inFile " + @strCommand;
        ManagementBaseObject outParams = classInstance.InvokeMethod("Create", inParams, null);
    }

    RPC 不能访问问题解决方法:

    使防火墙允许远程登录 netsh firewall set service RemoteAdmin

  • 相关阅读:
    Android之Activity启动过程
    Android之Application进阶
    Android之Context进阶
    Thread之ThreadLocal
    Android 系统服务与Binder应用服务
    Android Binder
    Android SystemServer
    Android系统服务与服务注册
    Android Binder进阶扁一
    小米商城-题头3
  • 原文地址:https://www.cnblogs.com/baby0814/p/4383716.html
Copyright © 2011-2022 走看看