Показать полную графическую версию : [решено] Удаленное выключение ПК
The_Immortal
16-10-2016, 17:16
Всех приветствую!
Возникла задача выполнения команды (выключение машины) удаленно без задействования PsExec (т.к. он ни в какую работать не хочет) и не используя в скрипте каких-либо ожиданий. Решение через telnet в ручном режиме срабатывает, поэтому погуглив, наткнулся на утилиту plink.exe, которая работает с telnet.
Пробую делать так:
plink.exe -telnet server.com < todo.txt
todo.txt:user
qwerty
shutdown -s -t 0Но это не срабатывает.
В чем может быть проблема?
Спасибо!
P.S. Что-то я даже не могу врубиться как посмотреть, что там вообще происходит... Вызываю в cmdplink.exe -telnet server.com < todo.txt > res.txt, но res получается пустым.
и не используя в скрипте каких-либо ожиданий »
Типа такого:
plink 192.168.1.3 -l root –pw DS_PASSWORD poweroff
Будет расцениваться как ожидание??
The_Immortal
16-10-2016, 18:30
Казбек, указанные Вами параметры (-l -pw) насколько мне известны применимы лишь к SSH. У меня же telnet.
В любом случае я попробовал и получил: FATAL ERROR: Network error: Connection timed out
указанные Вами параметры (-l -pw) насколько мне известны применимы лишь к SSH. »
Да, вы правы.
3.8.3.6 -m: read a remote command or script from a file
The -m option performs a similar function to the ‘Remote command’ box in the SSH panel of the PuTTY configuration box (see section 4.18.1). However, the -m option expects to be given a local file name, and it will read a command from that file.
Я не ручаюсь за свой совет, но в сети пишут, что для таких целей годно использовать Telnet Scripting Tool: автоматизация telnet-сессий (http://blog.openquality.ru/telnet-scripting/)
[SOLVED] Remote shutdown for Win users (http://xpenology.com/forum/viewtopic.php?f=2&t=1325)
Ограничившись plink.exe, я считаю, что осуществить задуманное вами невозможно.
The_Immortal
16-10-2016, 19:19
Казбек, Ограничившись plink.exe, я считаю, что осуществить задуманное вами невозможно. »Вроде как можно (http://forum.oszone.net/post-1086600.html#post1086600), но у меня почему-то не получается...
т.к. он ни в какую работать не хочет »
А банальный shutdown.exe?
telnet я бы стал использовать только в изолированной сети.
The_Immortal
16-10-2016, 21:44
Iska, банальный shutdown.exe »Пардон, а как сиё запускать от имени определенного пользователя? И разве роутер пропустит такое?
Или, быть может, я Вас не так понял...
без задействования PsExec (т.к. он ни в какую работать не хочет) »Поясню почему не хочет. Для работы PsExec нужно наличие функционирующего SMB (общего доступа к папкам). У меня роутер ни в какую не хочет извне предоставлять доступ к общим папкам. Внутри сети - пожалуйста, извне - фигушки.
Пардон, а как сиё запускать от имени определенного пользователя? »
ПКМ или Shift-ПКМ, запуск от имени… Или runas.
И разве роутер пропустит такое?
Или, быть может, я Вас не так понял... »
Похоже, что это я не понимаю, что у Вас. Между Вами и удалённой машиной нет вообще никакой связи, окромя глобальной сети?
У меня роутер ни в какую не хочет извне предоставлять доступ к общим папка. Внутри сети - пожалуйста, извне - фигушки. »
И не должен. Вы же не хотите наружу «светить» ресурсами?!
Ну, а VPN как-нибудь организовать и через него в локальную сеть ходить не пробовали?
The_Immortal
16-10-2016, 23:22
Iska, runas. »А как в runas указать пароль, не подскажите? Что-то не могу додумать.
Между Вами и удалённой машиной нет вообще никакой связи, окромя глобальной сети? »Именно так.
И не должен. Вы же не хотите наружу «светить» ресурсами?! »Вообще не хочу.
Ну, а VPN как-нибудь организовать и через него в локальную сеть ходить не пробовали? »Идея, но ради одного shutdown'а делать VPN? Средства не оправдывают цель в данном случае :)
The_Immortal,
How do I add a password to a batch file to automatically authenticate? (http://superuser.com/questions/521278/how-do-i-add-a-password-to-a-batch-file-to-automatically-authenticate)
Идея, но ради одного shutdown'а делать VPN? Средства не оправдывают цель в данном случае »
А «голым» telnet'ом светить наружу лучше? Ну, ставьте TeamViewer или что-нибудь аналогичное, подключайтесь и «гасите ручками».
The_Immortal,
How do I add a password to a batch file to automatically authenticate? »
Токмо без /savecred.
Возникла задача выполнения команды (выключение машины) удаленно »
Запустите командную строку от имени администратора, затем используйте следующее:
net use \\имя_компьютера /user:имя_пользователя пароль && shutdown -s -f -t 0 -m \\имя_компьютера
Пример:
net use \\my_pc /user:user 12345 && shutdown -s -f -t 0 -m \\my_pc
или
net use \\192.168.0.10 /user:user 12345 && shutdown -s -f -t 0 -m \\192.168.0.10
The_Immortal
17-10-2016, 08:32
Iska, А «голым» telnet'ом светить наружу лучше? »Не лучше, соглашусь.ставьте TeamViewer или что-нибудь аналогичное»Сиё решение известно, но это не есть автоматизированный подход :)
runas »Похоже, что shutdown не хочет работать с удаленной машиной. Пытаюсь делать так:
runas /user:The_Immortal "shutdown -r -f -t 0 -m \\server.com"Далее запрашивается пароль для указанного пользователя, я ввожу правильный пароль и получаю:1326: Неверное имя пользователя или пароль.Единственное, пользователя The_Immortal на машине, откуда запускается runas, нету. Но не думаю, что это важно. Видимо, проблема в другом.
Nordek, подскажите, пожалуйста, а действие shutdown'а неразделимо связано c монтированием диска удаленной машины? Как-то я о таком вообще не знал =/
В любом случае:У меня роутер ни в какую не хочет извне предоставлять доступ к общим папкам. Внутри сети - пожалуйста, извне - фигушки. »
Да и, прислушавшись к уважаемому Iska, я осознал, что telnet/SMB - это чреватые решения. Заглянул в лог роутера после открытия telnet'а:
Oct 17 08:21:43telnetd
the maximum session count (4) reached, disconnecting ::ffff:121.187.173.101.
Oct 17 08:21:56telnetd
Syslog: last message repeated 8 times.
Oct 17 08:21:56telnetd
the maximum session count (4) reached, disconnecting ::ffff:178.158.138.81.
Oct 17 08:21:57telnetd
Syslog: last message repeated 9 times.
Oct 17 08:21:58telnetd
the maximum session count (4) reached, disconnecting ::ffff:121.187.173.101.
Oct 17 08:24:07telnetd
the maximum session count (4) reached, disconnecting ::ffff:5.225.59.105.
Oct 17 08:24:09telnetd
Syslog: last message repeated 9 times.
Oct 17 08:25:43telnetd
the maximum session count (4) reached, disconnecting ::ffff:2.180.26.60.
Oct 17 08:25:48telnetd
Syslog: last message repeated 2 times.
Oct 17 08:27:01telnetd
the maximum session count (4) reached, disconnecting ::ffff:134.196.46.86.
Oct 17 08:28:41telnetd
Syslog: last message repeated 18 times.
Oct 17 08:29:55telnetd
the maximum session count (4) reached, disconnecting ::ffff:103.217.85.154.
Oct 17 08:30:10telnetd
Syslog: last message repeated 9 times.
Oct 17 08:30:44telnetd
the maximum session count (4) reached, disconnecting ::ffff:191.177.78.227.
Oct 17 08:30:50telnetd
Syslog: last message repeated 9 times.И так постоянно. Рано или поздно ведь навредят :)
Эх, как-то я обнадежился насчет рабочего решения относительно shutdown'а, а не всё так просто :(
Единственное, пользователя The_Immortal на машине, откуда запускается runas, нету. Но не думаю, что это важно. Видимо, проблема в другом. »
А Вы попробуйте завести его там под тем же паролем.
The_Immortal
17-10-2016, 10:14
Iska, увы, это бесмысленно, т.к. клиенский компьютер находится под доменом, соответственно имена (полные имена пользователей) совпадать не будут, т.к. имя домена и компьютера в моем случае совпадать не может.
The_Immortal, тогда тем более без разговоров Вам нужен поверх глобальной сети закрытый тоннель до той локальной сети.
The_Immortal
17-10-2016, 10:40
Iska, преодолев лень, организовал PPTP :) И... Вы не поверите, проблема не решается! :)
Поясню. Да, теперь у меня есть доступ к компьютеру из локальной сети через VPN. НО! Я подсоединяюсь к cерверу (компьютер, к которому происходит подключение) абсолютно из другой (доменной) сети. Сервер ничего не знает про учетную запись mydomain\user (с которой идет подключение), соответственно у этого пользователяправ-то нет ни на что, в том числе на shutdown.
Ага, возвращаясь к баранчикам, можно использовать telnet, где будет указываться необходимый пользователь. А telnet хрен автоматизируешь...
PsExec тоже не работает:Отказано в доступеВидимо, ему для запуска нужна шара admin$, которая опять-таки недоступна...
Красота =\ Или я как всегда опять что-то не додумал?..
а действие shutdown'а »Нужно произвести идентификацию входа, только потом команду перезагрузки.
The_Immortal
17-10-2016, 11:43
Nordek, а как быть в моем случае тогда, не подскажите?
подсоединяюсь к cерверу (компьютер, к которому происходит подключение) абсолютно из другой (доменной) сети. Сервер ничего не знает про учетную запись mydomain\user (с которой идет подключение), соответственно у этого пользователяправ-то нет ни на что, в том числе на shutdown. »
UPD: что-то я перетрудился. PsExec успешно срабатывает и в моей ситуации (при соединении через VPN). Просто задается нужный пользователь и всё.
Всем спасибо! И особенно уважаемому Iska за здраво наставленный путь! :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.