文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 网络安全 » 有人用过WMI来监控服务器吗,怎么实现呢       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: 有人用过WMI来监控服务器吗,怎么实现呢  ( 查看:287  回复:3 )   
 
业余坏蛋
技术员  点击可查看详细



帖子 129
精华 0
无忧币 222
积分 205
阅读权限 30
来自 (保密)
注册日期 2007-4-18
最后登录 2008-8-22 在线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-4-1 09:32   标题:有人用过WMI来监控服务器吗,怎么实现呢
上一帖 |
如题



2008-4-1 09:321楼
[ 顶部 ]
 
sxliuxianlin
新新人类  点击可查看详细


帖子 77
精华 0
无忧币 743
积分 193
阅读权限 20
注册日期 2007-6-15
最后登录 2008-8-9 离线

[查看资料]  [发短消息]  [Blog
    ICQ 状态     
发表于:2008-4-1 09:39 
呵呵 没有用过啊



51cto三周年庆典 社区系列活动(购物卡、无忧币大派送!)
2008-4-1 09:392楼
[ 顶部 ]
 
小王
主版主  点击可查看详细


天秤座  
帖子 2965
精华 9
无忧币 16149
积分 10257
阅读权限 150
注册日期 2005-11-5
最后登录 2008-8-22 在线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ       
发表于:2008-4-1 09:40 
我也没有接触过,帮楼主搜索了一篇文章:
来到新单位,发现这里的服务器不说成千上万,也比以前单位足足多出来五、六倍。看来只有用把一些监控的任务自动化才有可能达到目的。遂拣起来以前有兴趣看过两眼的WMI脚本编程,在网上一顿狂啃,花了半天的时间写出了一个可以获得CPU、内存以及硬盘剩余空间的数据信息的程序:

===================enumsingel.vbs===================

Const HARD_DISK = 3
Wscript.Echo "Program start at " & Now()

strComputer = "."

' Connect to server
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    ' Memory/CPU/DiskFree
    Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfOS_Memory",,48)
    For Each objItem in colItems
        Wscript.Echo "AvailableMBytes: " & objItem.AvailableMBytes & "M"
    Next
    Set colItems = objWMIService.InstancesOf("Win32_LogicalMemoryConfiguration")
    For Each colItem In colItems
        WScript.Echo "Total Physical Memory: " & CLng(colItem.TotalPhysicalMemory / 1024) & "M"
    Next

    i = 0
    Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,48)
    For Each objItem in colItems
        Wscript.Echo "CPU(" & i & "): " & objItem.LoadPercentage
     i = i + 1
    Next

    Set colDisks = objWMIService.ExecQuery _
        ("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
    For Each objDisk in colDisks
        Wscript.Echo objDisk.DeviceID & vbTab & CLng(objDisk.FreeSpace /1024/1024) & "M"
    Next

Wscript.Echo "End at " & Now()

===================End===================

随后又针对新环境,加了一个壳,从AD中获得所有服务器的列表,循环了一下。测试运行了一把,66台服务器,花了3分钟左右。



【勿在QQ和网游上浪费生命】
2008-4-1 09:403楼
[ 顶部 ]
 
okokmmmm
技术员  点击可查看详细


十二生肖之兔   行业勋章   技术勋章  
帖子 506
精华 0
无忧币 434
积分 499
阅读权限 30
注册日期 2006-9-23
最后登录 2008-8-18 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-8-18 10:24 
正在学习中.



51cto三周年庆典 社区系列活动(购物卡、无忧币大派送!)
2008-8-18 10:244楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号