WMI学习笔记(一)-编写脚本来监控Windows服务器的性能

3 篇文章 0 订阅

版权声明:可以任意转载,转载时请务必以超链接形式标明文章和作者信息。

来到新单位,发现这里的服务器不说成千上万,也比以前单位足足多出来五、六倍。看来只有用把一些监控的任务自动化才有可能达到目的。遂拣起来以前有兴趣看过两眼的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分钟左右。

目前所得到的是一个很粗略的版本,计划在将来的时间在使用、数据收集、临界报警上做一些改进。

如何编写WMI脚本,参看《WMI学习笔记》。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值