软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
使用WMI编写脚本来监控Windows服务器的性能

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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




相关文章

相关软件