通过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 + @"\root\cimv2: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

WMI执行远程文件(RPC)的更多相关文章

  1. 【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件

    原文:https://blog.csdn.net/qq_36622490/article/details/100773589 这个需求主要是我在jenkins中pipeline的代码里,需要使用she ...

  2. 再见Xshell、Xftp!Python执行Linux命令、上传下载远程文件

    相信大家应该都接触过Linux操作系统(Ubuntu.Centos等),那么在使用的Linux操作系统需要使用一些远程ssh工具,尤其是公网服务器. 常用的ssh工具主要有:Xshell.MobaXt ...

  3. C#利用WMI获取 远程计算机硬盘数据

    一.利用WMI获取 远程计算机硬盘数据,先引入"System.Management.dll"文件. /// <summary>        /// 获取存储服务器硬盘 ...

  4. ssh tar 命令把远程文件拉回来或推过去

    ssh tar 命令把远程文件拉回来或推过去 2010-09-11 21:55:35 分类: LINUX     登录22后tar 压缩/var/log目录输出到标准输入通过管道传到本地22_log. ...

  5. Ubuntu 14.10 下SSH执行远程命令

    有些时候需要在远程机器上执行命令,如果每次都等进去挺麻烦的,所以用脚本执行会方便很多.下面介绍一下在shell脚本中执行远程命令. 1,首先写好要运行的脚本 run-command.sh, 加上执行权 ...

  6. PowerShell让系统可以执行.ps1文件

    .ps1文件是PowerShell写好的脚本文件.在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? 什么是“.ps1”文件? 这个是PowerS ...

  7. Windows系统中使用WMI获取远程服务器的信息

    使用WMI获取远程服务器的状态 我做的项目里边主要包含两个内容: (1)对发布在服务器上的服务(IIS服务.WCF服务)是否可以正常访问: (2)获取服务器上的部分指标:如CPU.内存.磁盘空间信息等 ...

  8. [sersync+rsync] centos6.5 远程文件同步部署记录

    针对本地文件的修改,自动同步到远程文件夹,远程备份很方面.研究了下大家的主流同步方案一般是 rsync+inotify和rsync+sersync, 我这里使用sersync的方案,当然大部分都是参照 ...

  9. 远程文件同步详解(Remote File Sync)

    1. 远程文件同步的常见方式: 1.cron + rsync 优点: 简单 缺点:定时执行,实时性比较差:另外,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚 ...

随机推荐

  1. FreeSWITCH第三方库(视频)的简单介绍(二)

    FreeSWITCH使用了大量的第三方库,本文档主要介绍视频相关库的信息: 音频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5486753.html 其他相关 ...

  2. 获取DIV与浏览器顶部相聚一定位置之后移动DIV

    获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative. 方法一: $(function() {  ...

  3. HDU 3549 Flow Problem(最大流)

    HDU 3549 Flow Problem(最大流) Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...

  4. MVC 3 数据验证 Model Validation 详解

    在MVC 3中 数据验证,已经应用的非常普遍,我们在web form时代需要在View端通过js来验证每个需要验证的控件值,并且这种验证的可用性很低.但是来到了MVC 新时代,我们可以通过MVC提供的 ...

  5. ubuntu使用mailx利用SMTP发送邮件

    转载:http://www.blogjava.net/jasmine214--love/archive/2010/10/09/334102.htmlLinux下mail利用外部邮箱发送邮件的方法: 1 ...

  6. 使用ultramon调整任务栏高度

    取消锁定,调整任务栏的高度为一行图标的高度,然后再锁定即可.为啥程序没有默认设置?

  7. c++操作io常见命令

    用c++练习下 系统常见io命令. 1)显示文档的文本 2)统计文本单词数字 3)列出目录所有文件 ,递归思路 4)查找第一个匹配的字符. 5)文本单词排序, 快速排序,其实还是递归思路 6)文本单词 ...

  8. Linux_常用命令_02

    1. 配置网络参数: (1).root登录 --> setup命令 进入到 "text mode setup utiliy" (2).运行命令"/etc/rc.d/ ...

  9. hdu5816 卡特兰数+dp

    题意:共n张无中生有,m张攻击牌.每张攻击牌攻击力已知,敌方有p点血.随机洗牌.游戏开始,己方抽取一张手牌,若是无中生有则可再抽两张牌.求能在第一回合内将敌方杀死的概率. n+m <= 20, ...

  10. 基于Linux的oracle数据库管理 part6 (backup 相关的脚本)

    这里只是简单的介绍几种 备份方法 备份: 逻辑备份, 冷备份, 热备份 逻辑备份 也称作 导入(import), 导出(export), 作用是在不同的oracle数据库之间转移数据 物理备份, 就是 ...