Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: Не работает скрипт! HELP! Добавлено: 02.02.09 16:56  

Автор вопроса:  петр
Доброе время суток, дело вот в чем, пытаюсь с помощью скрипта гасить сервера в случае отключения электропитания, по отслеживанию соответствующих событий на сервере к которому подключен УПС. Но скрипт не работает не запускается пишет ошибку в последней строке "Предпологается наличие инструкции"
Код: 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

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 alroy



Вопросов: 3
Ответов: 28
 Профиль | | #1 Добавлено: 12.02.09 11:13
Слушайте вы наверное и сами нашли ответ на свой вопрос но скажу
вы используете
  1.  
  2. For Each  <element>  In <group>
  3. For Each  <element>  In <group>
  4. <statements>
  5. Next <element>
  6. Next <element>



Дак сколько раз NEXT то должен быть а ??????

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам