WMI使用集锦

1.WMI简介
WMI是英文WindowsManagementInstrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够的权限),比如:重启,关机,关闭进程,创建进程等。
2.使用时首先添加System.Management.dll,然后引用

usingSystem.Management;
usingSystem.Threading;
3.示例代码
3.1 html代码
<HTML>
<HEAD>
<title>WMITest</title>
<metaname="GENERATOR"Content="MicrosoftVisualStudio.NET7.1">
<metaname="CODE_LANGUAGE"Content="C#">
<metaname="vs_defaultClientScript"content="JavaScript">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<bodyMS_POSITIONING="GridLayout">
<formid="Form1"method="post"runat="server">
<FONTface="宋体">
<asp:Buttonid="Button1"style="Z-INDEX:101;LEFT:48px;POSITION:absolute;TOP:16px"runat="server"
Text
="获得本地磁盘的信息"Width="152px"></asp:Button>
<asp:Buttonid="Button2"style="Z-INDEX:102;LEFT:32px;POSITION:absolute;TOP:56px"runat="server"
Text
="获得指定磁盘的容量"Width="144px"></asp:Button>
<asp:Buttonid="Button3"style="Z-INDEX:103;LEFT:32px;POSITION:absolute;TOP:96px"runat="server"
Text
="列出机器中所有的共享资源"Width="192px"></asp:Button>
<asp:Buttonid="Button4"style="Z-INDEX:104;LEFT:8px;POSITION:absolute;TOP:128px"runat="server"
Text
="控制让系统中的某个文件夹共享或取消共享"Width="264px"></asp:Button>
<asp:Buttonid="Button5"style="Z-INDEX:105;LEFT:48px;POSITION:absolute;TOP:160px"runat="server"
Text
="获得系统服务的运行状态"></asp:Button>
<asp:Buttonid="Button6"style="Z-INDEX:106;LEFT:40px;POSITION:absolute;TOP:192px"runat="server"
Text
="通过WMI修改IP,而实现不用重新启动"Width="248px"></asp:Button>
<asp:Buttonid="Button7"style="Z-INDEX:107;LEFT:24px;POSITION:absolute;TOP:224px"runat="server"
Text
="如何利用WMI远程重启远程计算机"Width="232px"></asp:Button>
<asp:Buttonid="Button8"style="Z-INDEX:108;LEFT:40px;POSITION:absolute;TOP:264px"runat="server"
Text
="利用WMI创建一个新的进程"Width="192px"></asp:Button>
<asp:Buttonid="Button9"style="Z-INDEX:109;LEFT:32px;POSITION:absolute;TOP:296px"runat="server"
Text
="如何通过WMI终止一个进程"Width="192px"></asp:Button>
<asp:Buttonid="Button10"style="Z-INDEX:110;LEFT:32px;POSITION:absolute;TOP:328px"runat="server"
Text
="如何用WMI来获取远程机器的目录以及文件"Width="280px"></asp:Button>
<asp:Buttonid="Button11"style="Z-INDEX:111;LEFT:424px;POSITION:absolute;TOP:24px"runat="server"
Text
="网卡的MAC地址"Width="120px"></asp:Button>
<asp:Buttonid="Button12"style="Z-INDEX:112;LEFT:456px;POSITION:absolute;TOP:64px"runat="server"
Text
="CPU的系列号"Width="104px"></asp:Button>
<asp:Buttonid="Button13"style="Z-INDEX:113;LEFT:448px;POSITION:absolute;TOP:120px"
runat
="server"Text="主板的系列号"></asp:Button>
<asp:Buttonid="Button14"style="Z-INDEX:114;LEFT:472px;POSITION:absolute;TOP:160px"
runat
="server"Text="获取硬盘ID"></asp:Button>
<asp:Buttonid="Button15"style="Z-INDEX:115;LEFT:448px;POSITION:absolute;TOP:208px"
runat
="server"Text="获取本机的用户列表"Width="144px"></asp:Button></FONT>
</form>
</body>
</HTML>
3.2cs代码
publicclassWMITest:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.ButtonButton2;
protectedSystem.Web.UI.WebControls.ButtonButton3;
protectedSystem.Web.UI.WebControls.ButtonButton4;
protectedSystem.Web.UI.WebControls.ButtonButton5;
protectedSystem.Web.UI.WebControls.ButtonButton6;
protectedSystem.Web.UI.WebControls.ButtonButton7;
protectedSystem.Web.UI.WebControls.ButtonButton8;
protectedSystem.Web.UI.WebControls.ButtonButton9;
protectedSystem.Web.UI.WebControls.ButtonButton10;
protectedSystem.Web.UI.WebControls.ButtonButton11;
protectedSystem.Web.UI.WebControls.ButtonButton12;
protectedSystem.Web.UI.WebControls.ButtonButton13;
protectedSystem.Web.UI.WebControls.ButtonButton14;
protectedSystem.Web.UI.WebControls.ButtonButton15;
protectedSystem.Web.UI.WebControls.ButtonButton1;

privatevoidPage_Load(objectsender,System.EventArgse)
{
//Putusercodetoinitializethepagehere
}


WebFormDesignergeneratedcode#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:ThiscallisrequiredbytheASP.NETWebFormDesigner.
//
InitializeComponent();
base.OnInit(e);
}


/**////<summary>
///RequiredmethodforDesignersupport-donotmodify
///thecontentsofthismethodwiththecodeeditor.
///</summary>

privatevoidInitializeComponent()
{
this.Button1.Click+=newSystem.EventHandler(this.Button1_Click);
this.Button2.Click+=newSystem.EventHandler(this.Button2_Click);
this.Button3.Click+=newSystem.EventHandler(this.Button3_Click);
this.Button4.Click+=newSystem.EventHandler(this.Button4_Click);
this.Button5.Click+=newSystem.EventHandler(this.Button5_Click);
this.Button6.Click+=newSystem.EventHandler(this.Button6_Click);
this.Button7.Click+=newSystem.EventHandler(this.Button7_Click);
this.Button8.Click+=newSystem.EventHandler(this.Button8_Click);
this.Button9.Click+=newSystem.EventHandler(this.Button9_Click);
this.Button10.Click+=newSystem.EventHandler(this.Button10_Click);
this.Button11.Click+=newSystem.EventHandler(this.Button11_Click);
this.Button12.Click+=newSystem.EventHandler(this.Button12_Click);
this.Button13.Click+=newSystem.EventHandler(this.Button13_Click);
this.Button14.Click+=newSystem.EventHandler(this.Button14_Click);
this.Button15.Click+=newSystem.EventHandler(this.Button15_Click);
this.Load+=newSystem.EventHandler(this.Page_Load);

}

#endregion


1.如何用WMI获得指定磁盘的容量#region1.如何用WMI获得指定磁盘的容量
privatestringDriveType(stringtype)
{
stringrtntype="";
switch(type)
{
case"1":
rtntype
="NotType";
break;
case"2":
rtntype
="Floppydisk";
break;
case"3":
rtntype
="Harddisk";
break;
case"4":
rtntype
="Removabledriveornetworkdrive";
break;
case"5":
rtntype
="CD-ROM";
break;
case"6":
rtntype
="RAMdisk";
break;
default:
break;
}

returnrtntype;
}


privatevoidButton1_Click(objectsender,System.EventArgse)
{
SelectQueryquery
=newSelectQuery("Select*FromWin32_LogicalDisk");
ManagementObjectSearchersearcher
=newManagementObjectSearcher(query);
foreach(ManagementBaseObjectdiskinsearcher.Get())
{
Response.Write(disk[
"Name"]+""+DriveType(disk["DriveType"].ToString())+""+disk["VolumeName"]+"<br>");
}

}

#endregion


2.如何用WMI获得指定磁盘的容量#region2.如何用WMI获得指定磁盘的容量
privatevoidButton2_Click(objectsender,System.EventArgse)
{
ManagementObjectdisk
=newManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();
Response.Write(
"LogicalDiskSize="+disk["Size"]+"bytes");
}

#endregion


3.如何列出机器中所有的共享资源#region3.如何列出机器中所有的共享资源
privatevoidButton3_Click(objectsender,System.EventArgse)
{
ManagementObjectSearchersearcher
=newManagementObjectSearcher("SELECT*FROMWin32_share");
foreach(ManagementObjectshareinsearcher.Get())
{
Response.Write(share.GetText(TextFormat.Mof));
}

}

#endregion


4.怎样写程控制让系统中的某个文件夹共享或取消共享#region4.怎样写程控制让系统中的某个文件夹共享或取消共享
privatevoidButton4_Click(objectsender,System.EventArgse)
{
/**/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值