Показать сообщение отдельно
Старый 10.02.2010, 00:07   #8
GlebSav
Неактивный пользователь
 
Регистрация: 09.02.2010
Сообщений: 4
Репутация: 1
По умолчанию Re: Выключить комп по расписанию

Цитата:
Сообщение от VaskoCuturil Посмотреть сообщение
А вот интересно как выключить несколько компов в сети по расписанию с помощью VBS скрипта ... Планировщик конечно поможет в определанное время запустит скрипт, а вот как прописать в скрипте чтобы он выключал не все компы в сети подряд а именно определенные минуя серваки .... Искал в инете особо ничего вразумительно не нашел вот тут есть кое-что [Для просмотра ссылок требуется регистрация. Зарегистрироваться...]
и пример скрипта :
Исходник функции (параметры: имя/адрес машины и символ-признак действия "R"/"S"/"A" - из кода все понятно):

Код:
' --- uf_shutdn( sNamePC ) ------------------------------------------
' Перезагрузка/выключение удаленной машины %sNamePC%
' через запуск внешней стандартной утилиты "shutdown.EXE"
'--------------------------------------------------------------------
' (!) Объект "oShell" должен быть опеределен глобально:
' Set oShell = CreateObject("WScript.Shell") '
'--------------------------------------------------------------------
Function uf_shutdn( sNamePC, sAction )
'~ If IsNull(sAction) Then sAction="-"
retMsg = 0
Select Case UCase(sAction)
Case "R"
retMsg = MsgBox("Перезагрузить принудительно `" & sNamePC &"` ?",_
VBQuestion+VBOKCancel, "Shutdown/reboot remote computer")
Case "S"
retMsg = MsgBox("ВЫКЛЮЧИТЬ принудительно `" & sNamePC &"` ?",_
VBQuestion+VBOKCancel, "Shutdown/reboot remote computer")
Case "A"
retMsg = vbOK
Case Else 'если второй параметр был указан неправильно'
MsgBox "В вызове функции не указано требуемое действие:"& vbCR &" [R]eboot / [S]hutdown / [A]bort shutdown.", _
vbExclamation + vbOKOnly, "Reboot/shutdown computer `" & sNamePC & "`"
End Select
If retMsg=vbOK Then
oShell.Run "shutdn.cmd " & sNamePC & " " & sAction
End IF
End Function

Батник "shutdn.cmd". Т.к. все это вызывалось интерактивно (из HTA), то в банике присутствует пинг отключаемой машины после выполнения команд и пауза - для так сказать визуального контроля, Вам же это по идее надо "зарэмить":
Код:
:: Run Shutdown/Reboot remote computer.
:: ------------------------------------
:: Usage: C:\WINDOWS\system32\shutdown.EXE [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]
:: No args Display this message (same as -?)
:: -i Display GUI interface, must be the first option
:: -l Log off (cannot be used with -m option)
:: -s Shutdown the computer
:: -r Shutdown and restart the computer
:: -a Abort a system shutdown
:: -m \\computername Remote computer to shutdown/restart/abort
:: -t xx Set timeout for shutdown to xx seconds
:: -c "comment" Shutdown comment (maximum of 127 characters)
:: -f Forces running applications to close without warning
:: -d [u][p]:xx:yy The reason code for the shutdown
:: u is the user code
:: p is a planned shutdown code
:: xx is the major reason code (positive integer less than 256)
:: yy is the minor reason code (positive integer less than 65536)

@Echo off
If %1.==. Goto NO_PARAM
If %2.==. Goto NO_PARAM
If %2==s Goto RUN_SHUTDN
If %2==S Goto RUN_SHUTDN
If %2==r Goto RUN_REBOOT
If %2==R Goto RUN_REBOOT
If %2==a Goto ABORT_SHTDN
If %2==A Goto ABORT_SHTDN

Goto NO_PARAM

:RUN_SHUTDN
@Echo on
shutdown -t 10 -c "This computer forced SHUTDOWN ! Administrator domain." -m \\%1 -f -s
@Echo.
@Echo Return Code = %ERRORLEVEL%
@Echo.
ping -w 100 -t -a %1
@Goto THE_END

:RUN_REBOOT
@Echo on
shutdown -t 10 -c "This computer forced REBOOT ! Administrator domain." -m \\%1 -f -r
@Echo.
@Echo Return Code = %ERRORLEVEL%
@Echo.
ping -w 100 -t -a %1
@Goto THE_END

:ABORT_SHTDN
@Echo on
shutdown -m %1 -a
ping -w 100 -t -a %1
@Goto THE_END

:NO_PARAM
Echo.
Echo -!- Need parameters:
Echo 1) Name (or IP) remote computer;
Echo 2) [s]-shutdown or [r]-reboot or [a]-abort a system shutdown

:THE_END
@Echo.
@Echo.
@Pause

Кто понимает может быть обсудим ????

а зачем огород городить? Если тебе надо выключить компы в сети просто запускаешь на каждом shutdown с принудительным ввыключением и все.
GlebSav вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.08444 секунды с 9 запросами