Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Выключить все компы в сети

Автор: Krechet
Дата сообщения: 18.05.2004 08:52
Сеть на (много)хWin2k, (много)WinXP, 2xWin98. Сервер Win2k
Юзеры не выключают компы на ночь. Достали уже.
Нужно выключить все компы, например, в 23-00.
Простой командой из фара shutdown \\имя_компа t:14400 и на удаленном компе всплывает окошко завершения работы.
Если я эту же команду переношу в .bat, то при его запуске возникает бесконечный цикл и никакого завершения не происходит. что делать?
Автор: slaj1
Дата сообщения: 18.05.2004 09:07
а если попробовать доменными политиками ?
если я не ошибаюсь, то там можно сделать привязку насчет этого
Автор: Krechet
Дата сообщения: 18.05.2004 09:08
поточнее можно узнать?
где в доменных политиках?
Автор: slaj1
Дата сообщения: 18.05.2004 09:12
правда это относится только к Windows NT

Добавлено
сейчас посмотрю, врямя терпит ?

Добавлено
Krechet
насколько я понимаю домен у тебя поднят
запускаешь на сервере оснастку "Active Directory Users and Computers", правой клавишей мышки топчешь на любую из групп - выбираешь свойства, далее закладочка "Group Policy", создаешь новую политику и редактируешь ее

Там смотри "Computer Configuration" - "Administrative Templates" - "System" - "Scripts" - "Run Shutdown Scripts"
думаю это, ну а если и нет то можно написать свой скрипт и прикрепить к этой политике, который будет выполняться в определенное время
Автор: voidzzz
Дата сообщения: 18.05.2004 11:37
slaj1

Цитата:
Там смотри "Computer Configuration" - "Administrative Templates" - "System" - "Scripts" - "Run Shutdown Scripts"

Этот параметр отвечает за то, показывать или нет скрипты, выполняемые при завершении работы или перезагрузке.
Krechet
Я думаю, нужно поэкспериментировать с ключами команды shudown, а именно /p в связке с /d и /f
Автор: Krechet
Дата сообщения: 18.05.2004 12:11
voidzzz

Цитата:
Я думаю, нужно поэкспериментировать с ключами команды shudown, а именно /p в связке с /d и /f

ты, кажется не читал мой первый пост -

Цитата:
Если я эту же команду переношу в .bat, то при его запуске возникает бесконечный цикл и никакого завершения не происходит. что делать?


Ты же не думаешь, что я буду сам руками запускать ее каждый вечер... Нужно через коммандный файл.

slaj1
посмотрю, спасибо.

Добавлено
slaj1

Цитата:
Там смотри "Computer Configuration" - "Administrative Templates" - "System" - "Scripts"

Там нет папки "Скриптс"
Автор: voidzzz
Дата сообщения: 18.05.2004 13:11
Krechet
Скриптс в русской версии называется "Сценарии" и ключ, который slaj1 указал не выполняет перезагрузку, а только показывает/прячет выполнение скриптов при завершении работы.


Цитата:
ты, кажется не читал мой первый пост -

а ты мой
Я предлагал другие ключи команды shutdown попробовать, а не говорил, что делать с зацикливанием.

Добавлено
Только что проверил: команда shutdown /s /m <имя компа> выключает компьютер по сети. Если поместить в .cmd-файл - тоже работает. Написать файлик, перечислив имена компьютеров, повесить его как задание на сервак на 23:00 каждый день и все.
Автор: slaj1
Дата сообщения: 18.05.2004 15:37
Krechet
извини, насчет скрипта ошибся, торопился в спешке
думаю то что предлагает voidzzz должно сработать

Автор: Krechet
Дата сообщения: 19.05.2004 07:17
voidzzz

Цитата:
Скриптс в русской версии называется "Сценарии"

Что-то я не помню, чтоб говорил про русскую версию. Русским транслитом написал просто..

Цитата:
Только что проверил: команда shutdown /s /m <имя компа> выключает компьютер по сети

не вижу разницы с тем что предлагал я.

Из командной строки завершение работы проходит нормально, а из файла - нет
Если интересно, то можешь посмотреть - http://oleg.kasik.ru/shutdown.jpg Верхнее окошко - цикл, который начинается после запуска файла shutdown.cmd(внутренности файла справа снизу) из папки, которая слева снизу.


Цитата:
Только что проверил: команда shutdown /s /m <имя компа> выключает компьютер по сети. Если поместить в .cmd-файл - тоже работает. Написать файлик, перечислив имена компьютеров, повесить его как задание на сервак на 23:00 каждый день и все.

не работает. Читать выше.
Автор: voidzzz
Дата сообщения: 20.05.2004 06:07
Krechet

Цитата:
Если интересно, то можешь посмотреть - http://oleg.kasik.ru/shutdown.jpg

Ссылка не открывается - имя oleg.kasik.ru не найдено
Автор: Krechet
Дата сообщения: 20.05.2004 10:01
Тогда здесь - www.olden.ru/musor/shutdown.jpg
Автор: voidzzz
Дата сообщения: 20.05.2004 11:10
У меня есть глупое предположение - попробуй Shutdown.cmd переименовать по-другому. Может быть cmd запускает сам себя?
Автор: Jovanotti
Дата сообщения: 20.05.2004 11:16
Права админа на удаленном компе есть ?
Т.е. ты должен являться админом для удаленной машины.
Выполняй скрипт от имени админа удаленной машины
Автор: Krechet
Дата сообщения: 20.05.2004 12:14
voidzzz
Именовал и .cmd, и .bat - одинаково.
Jovanotti
Я думаю прав администратора домена, в который входят все машины достаточно.
Еще раз повторю -

Цитата:
Из командной строки завершение работы проходит нормально, а из файла - нет

Автор: leorick
Дата сообщения: 20.05.2004 13:08
Krechet
На самом деле похоже на то, что команда shutdown /s /m \\proton просто запускает этот же скрипт shutdown.cmd. Попробуй назвать его по другому, например down.cmd, а не просто поменять расширение на .bat.

Сейчас у себя попробовал, скрипт down.cmd - все работает.
А если скрипт назвать shutdown.cmd - начинает сам себя вызывать.

Или расширение пропиши shutdown.exe /s /m \\proton
Автор: Krechet
Дата сообщения: 20.05.2004 13:37
leorick


Цитата:
На самом деле похоже на то, что команда shutdown /s /m \\proton просто запускает этот же скрипт shutdown.cmd. Попробуй назвать его по другому, например down.cmd, а не просто поменять расширение на .bat.

Сейчас у себя попробовал, скрипт down.cmd - все работает.
А если скрипт назвать shutdown.cmd - начинает сам себя вызывать.

Или расширение пропиши shutdown.exe /s /m \\proton


СПАСИБО!!!
Все было так просто... А я уже второй день пытаюсь придумать в чем весь прикол!

Добавлено
Все работает, но вот незадача - если комп уже выключен, то на сервере появляется предупреждение о невозможности выключения. Можно ли сделать так, чтобы его не появлялось? Например, в скрипте написать что-то вроде

Цитата:

IF ping <Computer 1> = 1 THEN shutdown /t:3500 \\<Computer 1> //Если пинг есть, то комп выключить.
IF ping <Computer 2> = 1 THEN shutdown /t:3500 \\<Computer 2>
IF ping <Computer 3> = 1 THEN shutdown /t:3500 \\<Computer 3>
...........
IF ping <Computer N> = 1 THEN shutdown /t:3500 \\<Computer N>


Как бы это правильно написать?
Автор: Newbie777
Дата сообщения: 20.05.2004 15:39
если терпишь скрипты, тогда вот такой можно прилепить
вычитывает из AD с домена domain.com все компы, пингует и если есть ответ - гасит

'----ShutwoanAll.vbs---
Set Container = GetObject("WinNT://" & "domain.com")
Container.Filter = Array("Computer")

Set oShell = WScript.CreateObject ("WSCript.shell")

For Each Member In Container
On Error Resume Next
If IsAlive(Member.name)=True Then
oShell.run "shutdown.exe -s m \\"&Member.name
End If
Next

Function IsAlive(sHost)
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sTemp = oShell.ExpandEnvironmentStrings("%TEMP%")
sTempFile = sTemp & "\runresult.txt"
oShell.Run "%comspec% /c ping -n 2 " & sHost & " >" & sTempFile, 0 , True
Set fFile = oFSO.OpenTextFile(sTempFile, ForReading, _
FailIfNotExist, OpenAsDefault)
sResults = fFile.ReadAll
fFile.Close
oFSO.DeleteFile(sTempFile)
Select Case InStr(sResults,"TTL=")
Case 0 IsAlive = False
Case Else IsAlive = True
End Select

End Function
'-------

если нету домена, тогда можно заиспользовать net view > view.txt, потом парсить полученый список в shutdown
Автор: Krechet
Дата сообщения: 21.05.2004 03:19
Newbie777

Цитата:
Set Container = GetObject("WinNT://" & "domain.com")

поставил здесь название домена - все работает. Только вот он пытается и сервер загасить... Как не гасить выбранные компы?

Кроме того, если на компе открыто много приложений, то скрипт эти компы тоже не гасит... Даже если поставить параметр /c.
Автор: voidzzz
Дата сообщения: 21.05.2004 05:56
Krechet

Цитата:
Именовал и .cmd, и .bat - одинаково.

Опять же, мы друг друга не поняли.

Цитата:
На самом деле похоже на то, что команда shutdown /s /m \\proton просто запускает этот же скрипт shutdown.cmd. Попробуй назвать его по другому, например down.cmd, а не просто поменять расширение на .bat.

Вот именно это я и хотел сказать.
Автор: Jovanotti
Дата сообщения: 21.05.2004 07:51
Krechet

Цитата:
Кроме того, если на компе открыто много приложений, то скрипт эти компы тоже не гасит... Даже если поставить параметр /c.

параметр С --- комментарий юзай F --- (force shutdown)
Автор: RuslanFM
Дата сообщения: 21.05.2004 10:31
Посмотри скрипты я ими пользовался на Win2k, на Win98 не пробовал, их поставил в шедулер с паролем админа. все работало, приложения не все закрывались , это есть (.

poweroff.vbs
dim OpSysSet, obj
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _
"(Shutdown)}//./root/cimv2").ExecQuery _
("SELECT * FROM Win32_OperatingSystem" &_
" WHERE Primary=true")

For Each obj In OpSysSet
obj.Win32Shutdown(8)
Next

и
reboot.vbs

dim OpSysSet, obj
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _
"(Shutdown)}//./root/cimv2").ExecQuery _
("SELECT * FROM Win32_OperatingSystem" &_
" WHERE Primary=true")

For Each obj In OpSysSet
obj.Win32Shutdown(2)
Next
Автор: nightlight
Дата сообщения: 21.05.2004 16:08
Предлагаю рассмотреть вариант с известной утилиткой PsShutdown c не менее известного сайта
http://www.sysinternals.com/ntw2k/freeware/psshutdown.shtml
В Вашем случае должно быть что-то вроде этого:

psshutdown \\* -f -t 300 // гасим все в домене....даем задержку, чтоб успеть отменить.
psshutdown \\server -a //отменяем для сервера
Автор: Krechet
Дата сообщения: 24.05.2004 06:20
nightlight

Цитата:
Предлагаю рассмотреть вариант с известной утилиткой PsShutdown c не менее известного сайта
http://www.sysinternals.com/ntw2k/freeware/psshutdown.shtml
В Вашем случае должно быть что-то вроде этого:

psshutdown \\* -f -t 300 // гасим все в домене....даем задержку, чтоб успеть отменить.
psshutdown \\server -a //отменяем для сервера

Лучший вариант - решает главную задачу. Буду пользоваться этим.
Да и вообще, комплект утилит PSTools, который есть на это сайте очень хорош!
Автор: Raredemon
Дата сообщения: 24.05.2004 12:28
nightlight

Цитата:
psshutdown \\* -f -t 300 // гасим все в домене....даем задержку, чтоб успеть отменить.
psshutdown \\server -a //отменяем для сервера

Можно сделать гораздо проще. Сделать список компьютеров подлежащих к выключению и указать его в качестве аргумента. У меня например так:
psshutdown.exe @complist.txt -c -t 300 -m "Your computer will be powered down. Just press \"Cancel\" if you really need to work now."
Запускается в 11 часов вечера шедулером. Список компов можно получить таким скриптом:
Set objDomain = GetObject("WinNT://DOMAIN_NAME")
objDomain.Filter = Array("computer")

For each comp in objDomain
wscript.echo comp.Name
Next

Сделать вывод в файл и отредактировать...
Автор: liski
Дата сообщения: 02.02.2007 14:07
--------------------------------------------------------------------------------
Сеть на (много)хWin2k, (много)WinXP, 2xWin98. Сервер Win2k
Юзеры не выключают компы на ночь. Достали уже.
Нужно выключить все компы, например, в 23-00.

Злой админ выключает мой комп по сети каждый день по сети.Не дает ,противный, качать с rapidshare.

Как ему запретить это делать.

спасибо!!
Автор: slava00
Дата сообщения: 15.03.2007 15:52
У меня подобный вопрос. Не знаю где спросить, а так как тема очень близка моей, то и решил задать вопрос здесь.
Тоже надо выключаться все (ну или почти все) компы в локалке, но не по расписанию, а после времени бездействия.
В принципе самый простой способ - найти какой-нибудь скринсейвер, который это может делать, т.е. через, например, 5 минут бездействия включается скринсейвер, в настройках которого можно указать через сколько времени выключать комп - и поставить тому кому надо. И, например, через политики, включить скринсейвер всем. Но не смог найти нужный скринсейвер. Есть некий 911, но он не выключает комп. Есть некий GreenSaver, но у него некрасивая картинка. Есть winexit.scr из ресурскита, но он только логофф делает. прикрутить к логофф скрипт выключения мне не удалось, но это и неудобно.
Так в результате и не знаю что предпринять. Если кто-то делал что-то подобное - подскажите как лучше поступить?

Страницы: 1

Предыдущая тема: Где хранятся настройки сканера в реестре WinXP


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.