Доброе время суток, дело вот в чем, пытаюсь с помощью скрипта гасить сервера в случае отключения электропитания, по отслеживанию соответствующих событий на сервере к которому подключен УПС. Но скрипт не работает не запускается пишет ошибку в последней строке "Предпологается наличие инструкции"
Код: 800А0400
Помогите в чем ошибка? Я не программер с VBscript здороваюсь на вы.)
Option Explicit
Dim objWMI, objItem
Dim strComputer
Dim intRecordNum, intRec, colLoggedEvents
Dim strAdmin, strAdmin2, i, intrecordNum2, iteration
strComputer="192.168.x.x"
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
iteration=2
strAdmin = "UPS On Battery"
strAdmin2 = "Utility Power Restored"
Do While 1=1
Set colLoggedEvents = objWMI.ExecQuery ("Select * from Win32_NTLogEvent Where Logfile = 'Application'" )
intRecordNum=0
intRec=0
intRecordNum2=0
For Each objItem in colLoggedEvents
If intRecordNum=0 Then
If InStr(1,objItem.message,strAdmin,1) Then intRecordNum = intRec+1
End If
If intRecordNum2=0 Then
If InStr(1,objItem.message,strAdmin2,1) Then intRecordNum2 = intRec +1
End If
intRec=intrec+1
If intRecordNum>0 AND intrecordNum2>0 Then Exit For
Next
If intrecordNum=0 Then intRecordNum2=0
If iteration=0 Then
shutdown
End If
If intrecordNum<intrecordNum2 Then
iteration=iteration-1
End If
If intrecordNum2=0 Then
If intRecordNum>0 Then iteration=iteration-1
End If
loop
WScript.Sleep 10000
'=============================================================================
'=============================================================================
Sub Shutdown
On Error Resume Next
Dim arrComputers, objLocator
Dim login, password, domain
arrComputers = Array("server1","server2")
login="login"
password="password"
domain="domain"
For Each strComputer In arrComputers
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2", login, password, domain)
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Shutdown(1)
Next
WScript.Quit
End Sub
Ответить
|