科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件简介WMI的功能

简介WMI的功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Windows管理仪器(WMI)在本地建立一个WINMSD是非常有用的,如果将其放在局域网中,那就更加有用了......

作者:飞刀.Net 来源:ASP中华网 2007年10月25日

关键字: WMI 功能 Windows

  • 评论
  • 分享微博
  • 分享邮件
Windows管理仪器(WMI)在本地建立一个WINMSD是非常有用的,如果将其放在局域网中,那就更加有用了。

  很多公司都拥有成千上万台计算机,他们都想将这些列表进行储存管理,但是又不想花费昂贵的价格去购买微软的SMS产品,此时只要你指要你指定你的IP列表,并告诉服务器去扫描这些计算机信息,一个通霄这个问题就解决了,也许你还想把这些数据入库呢:)注意WMI支持收集性能数据。

  WMI在Win2000以上的版本中被默认安装,在NT4中使用WMI则需要下载WMI核心程序(在VS.Net的安装盘中就有这个程序),当然操作WMI的前提是你有管理的权限。

  下面是一个收集信息的例子:

using System;
using System.Management;

namespace WMI2
{
   ///


   /// Summary description for Class1.
   ///

   class Class1
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Computer details retrieved using Windows Management Instrumentation (WMI)");
Console.WriteLine("mailto:Written%2001/23/02%20By%20John%20O'Donnell%20-%20csharpconsulting@hotmail.com");
Console.WriteLine("=========================================================================");

         //连接远程计算机
      ConnectionOptions co = new ConnectionOptions();
      co.Username = "john";
      co.Password = "john";
      System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\192.168.1.4\\root\\cimv2", co);

         //查询远程计算机
      System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem");
      ManagementObjectSearcher query1 = new ManagementObjectSearcher(ms,oq);
      ManagementObjectCollection queryCollection1 = query1.Get();

         foreach( ManagementObject mo in queryCollection1 )
         {
            Console.WriteLine("Name : " + mo["name"].ToString());
            Console.WriteLine("Version : " + mo["version"].ToString());
            Console.WriteLine("Manufacturer : " + mo["Manufacturer"].ToString());
            Console.WriteLine("Computer Name : " +mo["csname"].ToString());
            Console.WriteLine("Windows Directory : " +mo["WindowsDirectory"].ToString());
}

         oq = new System.Management.ObjectQuery("SELECT * FROM Win32_ComputerSystem");
         query1 = new ManagementObjectSearcher(ms,oq) ;
         queryCollection1 = query1.Get();

         foreach( ManagementObject mo in queryCollection1 )
         {
            Console.WriteLine(mo["systemtype"].ToString());
            Console.WriteLine("Total Physical Memory : " + mo["totalphysicalmemory"].ToString());

         }

         oq = new System.Management.ObjectQuery("SELECT * FROM Win32_processor") ;

         query1 = new ManagementObjectSearcher(ms,oq) ;
         queryCollection1 = query1.Get();
         foreach( ManagementObject mo in queryCollection1 )
         {
            Console.WriteLine(mo["caption"].ToString());
         }

         oq = new System.Management.ObjectQuery("SELECT * FROM Win32_bios");
         query1 = new ManagementObjectSearcher(ms,oq) ;
         queryCollection1 = query1.Get();

         foreach( ManagementObject mo in queryCollection1 )
         {
            Console.WriteLine(mo["version"].ToString());
         }
      }
   }
}

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章