扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:马金虎 来源:yesky 2007年11月14日
关键字:
ConnectionOptions options = new ConnectionOptions ( ) ; options.Username ="管理者帐号用户名"; options.Password = "管理者帐号口令" ; ManagementScope scope = new ManagementScope( "\\\\" + "远程计算机名或IP地址" + "\\root\\cimv2", options ) ; //用给定管理者用户名和口令连接远程的计算机 scope.Connect ( ) ; |
System.Management.ObjectQuery oq = new System.Management.ObjectQuery ( "SELECT * FROM Win32_OperatingSystem" ) ; ManagementObjectSearcher query1 = new ManagementObjectSearcher ( scope , oq ) ; //得到WMI控制 ManagementObjectCollection queryCollection1 = query1.Get ( ) ; |
foreach ( ManagementObject mo in queryCollection1 ) { string [ ] ss= { "" } ; //重启远程计算机 mo.InvokeMethod ( "Reboot" , ss ) ; } |
using System ; using System.Drawing ; using System.Collections ; using System.ComponentModel ; using System.Windows.Forms ; using System.Data ; using System.Management ; public class Form1 : Form { private TextBox textBox1 ; private TextBox textBox2 ; private TextBox textBox3 ; private Label label1 ; private Label label2 ; private Label label3 ; private Button button1 ; private System.ComponentModel.Container components = null ; public Form1 ( ) SuspendLayout ( ) ; textBox2.Location = new System.Drawing.Point ( 138 , 85 ) ; textBox3.Location = new System.Drawing.Point ( 139 , 120 ) ; label1.Location = new System.Drawing.Point ( 24 , 50 ) ; label2.Location = new System.Drawing.Point ( 37 , 88 ) ; label3.Location = new System.Drawing.Point ( 37 , 125 ) ; button1.Location = new System.Drawing.Point ( 95 , 168 ) ; this.AutoScaleBaseSize = new System.Drawing.Size ( 6 , 14 ) ; this.Name = "Form1" ; } |
下图是编译上面代码后得到的程序运行界面:
图01:用C#实现重启远程计算机的程序运行界面 |
六.总结:
其实WMI控制可以实现很多以前让我们很头痛的操作。并且使用WMI编写的管理程序也比不用WMI来实现同样功能的程序在设计难度上大大减轻。WMI内容十分丰富,重新启动远程计算机只是其中的一个最为基本的操作。在使用WMI控制之前有一点必须记住,就是你必须知道你所要进行操作的远程计算机的超级管理者的帐号,这是使用WMI的一个前提。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者