VBScript開篇

        最近寫了不少的腳本,除了一部分內部專用的保留之外,其他的我會陸續發佈到Blog上來,希望對大家有所幫助。由於屏幕顯示的原因,腳本的換行可能會出現錯位的情況,不方便閱讀,請將該腳本複製到記事本中查看。
 
 功能: 檢查磁盤溫度、空間利用情況,以及近一週內的所有錯誤、警告日誌。
 
 
  1. '***********************************************************************   
  2. ' Script:IT Weekly Checks VBScript      
  3. ' Version: 1.0   
  4. '***********************************************************************   
  5.  
  6. On Error Resume Next   
  7. Set WShell         = CreateObject("wscript.shell")   
  8. Set objNetwork    = CreateObject("wscript.network")   
  9. Set objFSO         = CreateObject("scripting.FileSystemObject")   
  10. strComputer        = objNetwork.ComputerName   
  11.  
  12. If Not objFSO.FolderExists("D:\ITWeeklyChecks"Then   
  13.   objFSO.CreateFolder("D:\ITWeeklyChecks")   
  14. End If   
  15.  
  16. strWriteFile    = "D:\ITWeeklyChecks\"& FormatDateTime(Now(),2) & "_" & strComputer & "_WeeklyChecks.txt"      
  17. Set textWriteFile = objFSO.CreateTextFile(strWriteFile,true,false)   
  18.  
  19. textWriteFile.WriteLine(("=========================== " & strComputer & " Disk Drive Check Information ====================================") & vbCrLf & vbCrLf &_   
  20.       ("Date Time : " & Now()) & vbCrLf)   
  21.  
  22. 'Check HardDisk Temp   
  23. Set objWMIService   = GetObject("winmgmts:\\" & strComputer & "\root\WMI")   
  24. Set colDriverSMART  = objWMIService.execquery ("Select * from MSStorageDriver_ATAPISmartData")   
  25.  
  26. For Each objDriverSMART in colDriverSMART   
  27.         arrVendorSpecific = objDriverSMART.VendorSpecific   
  28.     
  29.         For lngIndex = 0 To 255   
  30.            If arrVendorSpecific(lngIndex) = 194 Then   
  31.              HDDTempIndex = lngIndex + 5   
  32.              strHDDTemp = arrVendorSpecific(HDDTempIndex)   
  33.            End if   
  34.       Next   
  35.      
  36. strHDDTempMessage = "Disk : " & objDriverSMART.InstanceName & vbcrlf &_   
  37.                            "Current Temperature : " & strHDDTemp & "℃" & vbcrlf   
  38.      textWriteFile.WriteLine(strHDDTempMessage)   
  39. Next   
  40.  
  41. 'Check Disk Drive   
  42. For Each objDriver In objFSO.Drives   
  43.    If objDriver.DriveType =2 Then   
  44.      strDriverMessage = "Letter & Volume : " & objDriver.DriveLetter & " " & objDriver.VolumeName & vbCrLf &_   
  45.                   "File System     : " & objdriver.FileSystem & vbCrLf &_   
  46.               "Total Space     : " & Round((objDriver.TotalSize / 1073741824),2) & "G " & vbCrLf &_   
  47.                  "Free Space      : " & Round((objDriver.AvailableSpace/1073741824),2) & "G " & formatpercent(objDriver.AvailableSpace / objDriver.TotalSize) & vbCrLf   
  48.          textWriteFile.WriteLine(strDriverMessage)   
  49.   End If   
  50. Next   
  51.  
  52. 'Check Event log      
  53. Set objWMIService     = GetObject("winmgmts:""{(Security)}\\" & strComputer & "\root\cimv2")   
  54. Set colLoggedEvents = objWMIService.execquery ("Select * from win32_NTLogEvent Where EventType = 1 or EventType = 2 or EventType = 16")   
  55.  
  56. textWriteFile.WriteLine("=========================== " & strComputer & " Event Log Check Information ====================================") & vbCrLf   
  57.  
  58. For Each objEvent In colloggedEvents   
  59.    TodayDate     = FormatDateTime(Now(),2)   
  60.    EventDateTime = Mid(objEvent.timeGenerated,1,4) & "-" & Mid(objEvent.timeGenerated,5,2) & "-" & Mid(objEvent.timeGenerated,7,2)& " " & Mid(objEvent.timeGenerated,9,2) & ":" & Mid(objEvent.timeGenerated,11,2)& ":" & Mid(objEvent.timeGenerated,13,2)   
  61.  
  62.   If DateDiff("d",EventDateTime,FormatDateTime(TodayDate,2))<=7 And DateDiff("d",EventDateTime,FormatDateTime(TodayDate,2))>=0 Then   
  63.      strEventMessage = "LogFile : " & objEvent.logfile & vbCrLf &_   
  64.                           "Data    : " & EventDateTime & vbCrLf &_   
  65.                           "Type    : " & objEvent.Type & vbCrLf &_   
  66.              "EventID : " & objEvent.EventCode & vbCrLf &_   
  67.              "Source  : " & objEvent.SourceName & vbCrLf &_   
  68.              "User    : " & objEvent.User & vbCrLf &_   
  69.              "Message : " & objEvent.Message & vbCrLf   
  70.               
  71.      textWriteFile.WriteLine(strEventMessage)   
  72.   End if   
  73. Next      
  74.  
  75. 'The end 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章