CMD/BAT - Батник на выключение компьютеров по сети.

Аватара пользователя
Hrust2010

CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение Hrust2010 »

Доброго времени суток!



Я не силен в этих вещах, поэтому прошу помощи.



Подскажите как написать батник для принудительного выключения нескольких компьютеров в локальной сети (если это конечно возможно), при помощи команды shutdown /m \\10.x.x.x



Спасибо за помощь!
Аватара пользователя
deepred

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение deepred »

Hrust2010,



Выключить все станции в домене:





Код:

Код: Выделить всё

Echo on& Chcp1251 & CLS
Set "Domain=Mshome"
for /f %%a in ('"net view /domain:%Domain% | Find /i "\\""') ^
Do Shutdown /p /m %%a
pause

Выключить выборочно станции:





Код:

Код: Выделить всё

Echo on& Chcp1251 & CLS
Set machine1="pc1"
Set machine2="pc2"
...
Set machine4="pc4"
for /f "tokens=2 delims==" %%a in ('set machine') ^
Do Shutdown /p /m \\%%~a
pause

Используя WSH (*.vbs)





Код:

Код: Выделить всё

Dim OpSysSet, Flags
Dim IntErrlevel
  arrTargetComps = Array("Comp1","Comp2","Comp3")
     For Each strTargetComp In arrTargetComps
         Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate,(RemoteShutdown)}//" & strTargetComp ).ExecQuery("select * from Win32_OperatingSystem where Primary=true")
  ' 0-Logoff, 1-Shutdown, 2-Reboot, 4-Force
  ' 8-Power Off, 16-Force If Hung 
          Flags       =  1 ' Выключаем
          IntErrlevel =  0
          For Each OpSys In OpSysSet
              OpSys.Win32Shutdown Flags,IntErrlevel
          Next
      Next

Пара примеров для vbs:

http://gallery.technet.microsoft.com...1-eace6ff99bcd


http://gallery.technet.microsoft.com...1-7c30388c1adb
Аватара пользователя
base

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение base »

Petya V4sechkin, я не против того чтоб минуту таймаут был) я хотел бы, чтоб задание на выключение подавалось всем компьютерам одновременно
Аватара пользователя
Hrust2010

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение Hrust2010 »

Убрал имя ПК, код не сработал. Ни уведомления, ни отключения нету.

Путь указан верно. Проверил только-что.

Нет. Не весь. Исключительно psshutdown.exe.



Успел заметить, что при обработке, в окне командной строки появляется куча каких-то знаков вопроса.
Аватара пользователя
Hrust2010

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение Hrust2010 »

Попробовал второй скрипт. Работает. Только есть один ньюанс.

Когда компьютер из списка станций уже рание выключен, батник на нем останавливается и долго обрабатывает. Можно ли избежать этого?



Спасибо!
Аватара пользователя
deepred

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение deepred »

Hrust2010,



Вариант для расположения все станций в одном домене:



Код:

Код: Выделить всё

Echo off & Chcp 866 & CLS
Set machine1="pc1"
Set machine2="pc2"
::...
Set machine4="pc4"
Set machine5="HPPAVILION-PC"
Set "Dmn=Mshome"
for /f "tokens=2 delims==" %%a in ('set machine') ^
Do for /f %%b in ('"net view /domain:%Dmn% | Find /i "\\""') ^
Do if "\\%%~a"=="%%~b" (Shutdown /m \\%%~a)
pause

Если PC расположены в разных доменах, то в команде Net View следует

применить ключ /Network
Аватара пользователя
Hrust2010

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение Hrust2010 »

Что - то не так.



Домен я свой указал. после запуска выводит сообщение

machine "pc1" powered off

machine "pc1" powered off

machine "pc1" powered off

machine "pc1" powered off

........................................

machine "pc2" powered off

machine "pc2" powered off

machine "pc2" powered off

.................................



Хотя кокраз эти машины были включены.

И после отработки батника машины продолжают работать
Аватара пользователя
Rintok

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение Rintok »

А чем тебе не нравится команда "shutdown"?





shutdown -s -f -m \\"Имя 1-ого компа, можно IP" -t 03

shutdown -s -f -m \\"Имя 2-ого компа" -t 03

shutdown -s -f -m \\"Имя 3-ого компа" -t 03
Аватара пользователя
Rintok

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение Rintok »

как можно удаленно перевести компьютеры в спящий режим?
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - Батник на выключение компьютеров по сети.

Сообщение Petya V4sechkin »

Цитата base:



как можно удаленно перевести компьютеры в спящий режим?



С помощью
PsShutdown




Код:

Код: Выделить всё

psshutdown.exe \\имя_или_IP-адрес -d -t 0

или



Код:

Код: Выделить всё

psshutdown.exe \\имя_или_IP-адрес -h -t 0
Ответить

Вернуться в «Скриптовые языки администрирования Windows»