VBS脚本获得CPU使用率,硬盘使用率和内存使用率

在不用第三方软件前提下想定时检查服务器的cpu使用率硬盘使用率和内存使用率,并生成报表在服务器巡检过程当中至关实用,其实在Windows下,能够用批处理命令写一个脚本,在必定程度上完成这些简单的任务,可是若是想要实现复杂的功能,批处理命令就力不从心了。处理批处理命令,微软还提供了WSH。咱们能够使用VBScript来写脚本,访问其内置对象或COM对象,而后让其在WSH中执行,就能够完成较为复杂的功能。下面提供几种实用的代码,只须要将代码复制到文本文档而后保存为vbs格式就能够在windows上直接运行了,若是是win2k的系统那么你须要从xp或win2003的system32下copy “CScript.exe”到vbs的脚本目录。windows

CPU 使用率代码以下服务器

CPU 使用率代码以下ide

On Error Resume Next Set objProc = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'") Wscript.Echo "CPU 使用率: " & objProc.LoadPercentage & "%"

硬盘 使用率代码以下对象

Set fsoobj = CreateObject("Scripting.FileSystemObject") DriversInfo = GetDriversInfo DriversInfo = Replace(DriversInfo, "|", vbCrLf) sReturn ="硬盘信息:" & vbCrLf & DriversInfo Wscript.Echo sReturn Function GetDriversInfo() GetDriversInfo = "" Set drvObj = fsoobj.Drives For Each D In drvObj Err.Clear If D.DriveLetter <> "A" Then If D.isReady Then GetDriversInfo = GetDriversInfo & "分区:" & D.DriveLetter & vbCrLf GetDriversInfo = GetDriversInfo & "可用空间:" & cSize(D.FreeSpace) & vbCrLf GetDriversInfo = GetDriversInfo & "总大小:" & cSize( D.TotalSize) & vbCrLf GetDriversInfo = GetDriversInfo & "使用率 :" & (100*((D.TotalSize-D.FreeSpace)/D.TotalSize)) &"%" & vbCrLf GetDriversInfo = GetDriversInfo & "|" Else End If Else End If Next End Function Function cSize(tSize) If tSize &gt;= 1073741824 Then cSize = Int((tSize / 1073741824) * 1000) / 1000 & " GB" ElseIf tSize &gt;= 1048576 Then cSize = Int((tSize / 1048576) * 1000) / 1000 & " MB" ElseIf tSize &gt;= 1024 Then cSize = Int((tSize / 1024) * 1000) / 1000 & " KB" Else cSize = tSize & "B" End If End Function

内存 使用率代码以下ip

strComputer = "." set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") set colOS = objWMI.InstancesOf("Win32_OperatingSystem") for each objOS in colOS strReturn = "内存总数: " & round(objOS.TotalVisibleMemorySize / 1024) & " MB" & vbCrLf &"内存可用数: " & round(objOS.FreePhysicalMemory / 1024) & " MB" & vbCrLf &"内存使用率 :" & Round(((objOS.TotalVisibleMemorySize-objOS.FreePhysicalMemory)/objOS.TotalVisibleMemorySize)*100) & "%" Wscript.Echo strReturn next

若是想把结果保存在文本里只须要用批处理调用内存

echo off echo CPU信息:&gt;info.xls cscript //Nologo cpu.vbs &gt;&gt; info.xls echo.&gt;&gt;info.xls echo 内存信息:&gt;&gt;info.txt cscript //Nologo ram.vbs &gt;&gt; info.txt echo.&gt;&gt;info.xls cscript //Nologo hard.vbs &gt;&gt; info.txt rem copy info.xls "%date%".xls