1、bat调用vbs,将主机巡检结果输出到log文件
新建bat文件,并添加以下脚本:
@echo off
cscript //Nologo check_host.vbs > check_host_info.log
2、在控制台输入以下命令,将主机巡检结果输出到控制台
cscript //Nologo check_host.vbs
3、新建check_host.vbs文件,并添加以下脚本:
REM----------------硬盘信息-------------------------
Wscript.Echo "<rcds>"
Wscript.Echo "<rcd>"
Set fsoobj = CreateObject("Scripting.FileSystemObject")
DriversInfo = GetDriversInfo
DriversInfo = Replace(DriversInfo, "|", vbCrLf)
DriversInfoA = GetDriversInfoA
DriversInfoA = Replace(DriversInfoA, "|", vbCrLf)
sReturn = "<filesystem_used>" & vbCrLf & DriversInfo &"</filesystem_used>"
BReturn = "<filesystem_usedA>" & vbCrLf & DriversInfoA &"</filesystem_usedA>"
Wscript.Echo sReturn
Wscript.Echo BReturn
REM----------------内存信息-------------------------
strComputer = "."
set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set colOS = objWMI.InstancesOf("Win32_OperatingSystem")
for each objOS in colOS
strReturn = "<mem_used>" & Round(((objOS.TotalVisibleMemorySize-objOS.FreePhysicalMemory)/objOS.TotalVisibleMemorySize)*100) & "% </mem_used>"
Wscript.Echo strReturn
REM----------------cpu信息-------------------------
Next
On Error Resume Next
Set objProc = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'")
Wscript.Echo "<cpu_used>" & objProc.LoadPercentage & "%</cpu_used>"
Wscript.Echo "</rcd>"
Wscript.Echo "</rcds>"
Function GetDriversInfo()
GetDriversInfo = ""
Set drvObj = fsoobj.Drives
For Each D In drvObj
Err.Clear
REM C盘
If D.DriveLetter = "C" Then
If D.isReady Then
GetDriversInfo = GetDriversInfo & CInt((100*((D.TotalSize-D.FreeSpace)/D.TotalSize))) &"%" & vbCrLf
Else
End If
Else
End If
Next
End Function
Function GetDriversInfoA()
GetDriversInfoA = ""
Set drvObj = fsoobj.Drives
For Each A In drvObj
Err.Clear
REM B盘
If A.DriveLetter = "B" Then
If A.isReady Then
GetDriversInfoA = GetDriversInfoA & CInt((100*((A.TotalSize-A.FreeSpace)/A.TotalSize))) &"%" & vbCrLf
Else
End If
Else
End If
Next
End Function
Function cSize(tSize)
If tSize >= 1073741824 Then
cSize = Int((tSize / 1073741824) * 1000) / 1000 & " GB"
ElseIf tSize >= 1048576 Then
cSize = Int((tSize / 1048576) * 1000) / 1000 & " MB"
ElseIf tSize >= 1024 Then
cSize = Int((tSize / 1024) * 1000) / 1000 & " KB"
Else
cSize = tSize & "B"
End If
End Function
4、运行结果
(1)、方法一:
(1)、方法二: