通过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
在线等待,十万火急。