LinuxForum.Fans
Тема

Как включить WOL на разношерстных компьютерах без физического доступа?

Автор: smaharbA 3 сообщений 641 просмотров
#357281

Есть сеть из windows машин, доменная, в основном windows xp, физического доступа к компьютерам нет (лениво), WOL в бивайсах вряд ли включено, есть wheezy с доступом к домену, возможностью wmic (только просмотр) и luit ... telnet ..., есть реквизиты администратора домена - как просче включить WOL на максимальном количестве машин ?
MSPower_DeviceWakeEnable ? powercfg ? ... ?
Гуевого доступа нет, вернее так - можно получить тонелем, но не хотелось бы.

#357355

Ладно, что дальше ? (с експектом не стал развивать, нудно это, все в телнет перевел)
(потребовался експект и поправить луит, ну и локалдефайн добавить
если луит выкинуть, то и експект не нужен, но тогда отображение хромает)

Как узнать карточка без бивайса - может поднять плату или нет ?

text
#!/bin/bash

LANG=ru_RU.UTF-8

user=Администратор pass=Пароль domain=Домен exclude='192\.168\.0\.100\|192\.168\.0\.200'

kbfix() { expect -f <(echo -e 'eval spawn -noecho $argv\ninteract {\n \\177 {send "\\010"}\n "\\033\\[3~" {send "\\177"}\n}\n') -- "$@" }

smbtree -U "${domain}\\${user}%${pass}" smbtree 2>&1 | grep ^Connecti | grep 445 | awk '{ print $3 }' | sort -u | grep -v "${exclude}" |\ while read x; do TERM=vt100 { sleep 1 echo -e "${pass}\r" sleep 1 echo -e "cmd /q /v:on /c \"for /f %x in ('wmic /namespace:\\\\\\\\root\\\\cimv2 path win32_networkadapterconfiguration where ipenabled^=true get index /value ^| find /i \"index^=\"') do (\ for /f \"delims=\" %z in ('echo %~x') do (\ set %~z & for /f %y in ('wmic /namespace:\\\\\\\\root\\\\cimv2 path win32_networkadapter where index^=!index! get PNPDeviceID /value ^| find /i \"PNPDeviceID^=\"') do (\ for /f \"delims=\" %a in ('echo \"%~y\"') do ( set \"%~a\" & set \"PNPDeviceID=!PNPDeviceID:\\=\\\\\\\\!\" & \ wmic /namespace:\\\\\\\\root\\wmi path MSPower_DeviceEnable where \"instancename like '!PNPDeviceID:^&amp;=^&!%'\" set enable=true && \ wmic /namespace:\\\\\\\\root\\wmi path MSPower_DeviceWakeEnable where \"instancename like '!PNPDeviceID:^&amp;=^&!%'\" set enable=true && \ wmic /namespace:\\\\\\\\root\\wmi path MSNdis_DeviceWakeOnMagicPacketOnly where \"instancename like '!PNPDeviceID:^&amp;=^&!%'\" set EnableWakeOnMagicPacketOnly=true ) ) ) )\"\r" sleep 10 echo -e "exit\r" sleep 1 } | { kbfix luit -encoding 'CP 866' -- telnet -l ${domain}\\`echo ${user} | iconv -t cp866` ${x} } # break done

#357508

так и не найду метода, не считая новомодных "бивайсов" и прочих лио (

хотя отмечу, части карт пох на биос, все сами могут, но то известно ранее и не все.

Войдите или зарегистрируйтесь, чтобы ответить.