JS调用WMI获取远程客户机信息
东海凌波 2010-11-30 10:22:38 通过JS调用WMI获取远程客户机信息,其中DVD,硬盘型号,硬盘大小,硬盘分区,网卡型号,IP,MAC等都要考虑多个的情况,如何实现。
一下张贴一部分代码:
//连接目标计算机
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
//硬盘信息
var properties = service.ExecQuery("SELECT * FROM Win32_DiskDrive");
var e = new Enumerator (properties);
debugger;
for (; !e.atEnd(); e.moveNext ())
{
var p = e.item ();
document.getElementById("hfHardModel").value=p.Size/1024/1024;
document.getElementById("hfHardVer").value=p.Caption;
}
C#代码://获取硬盘型号
#region
//string strHardVer = "";
int hCount = 0;
string wmiSQLHard = "SELECT * FROM Win32_DiskDrive";
ManagementObjectCollection harddisk = new ManagementObjectSearcher(wmiSQLHard).Get();
if (hfHardVer.Value == "")
{
cblHHVer.Items.Insert(0, "找不到磁盘驱动器");
return;
}
else
{
foreach (ManagementObject hard in harddisk)
{
PropertyDataCollection.PropertyDataEnumerator pde = hard.Properties.GetEnumerator();
while (pde.MoveNext())
{
if (pde.Current.Name == "Caption")
{
if (hCount < harddisk.Count)
{
cblHHVer.Items.Insert(hCount, hfHardVer.Value);
hCount++;
}
}
}
}
}
#endregion
//获取磁盘大小
#region
string strHardSize = "";
int hSize = 0;
string wmiHardSize = "SELECT * FROM Win32_DiskDrive";
ManagementObjectCollection hardsize = new ManagementObjectSearcher(wmiHardSize).Get();
if (hfHardModel.Value == "")
{
cblHMpdel.Items.Insert(0, "找不到磁盘驱动器");
return;
}
else
{
foreach (ManagementObject hard in hardsize)
{
PropertyDataCollection.PropertyDataEnumerator pde = hard.Properties.GetEnumerator();
while (pde.MoveNext())
{
if (pde.Current.Name == "Size")
{
double a = Convert.ToDouble(hfHardModel.Value);
strHardSize = Convert.ToUInt32(a).ToString() + "MB";
if (hSize < hardsize.Count)
{
cblHMpdel.Items.Insert(hSize, strHardSize);
hSize++;
}
}
}
}
}
#endregion
在线等待,十万火急。