Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Запуск bat файла на другой машине (http://forum.oszone.net/showthread.php?t=5283)

CyMpak 29-03-2003 08:13 26809

Всем доброго времени суток.
Проблема в следующем.
Накатал батник который разрывает все сеансы терминальных пользователей по ID.
Использовал команду reset session <ID>.
После батник выполняет определенные действия которым мешали сеансы пользователей.
Теперь мне необходимо запустить батник на терминальном сервере удаленно. Поначалу решил сделать вызов батника из другого который располагается на моей машине.
То есть сделал скрытую шару и вызвал его, но естественно батник попытался оборвать сеансы на МОЕЙ машине где их нет, подскажите как мне решить данную проблему.
Заранее спасибо, с уважением CyMpak.

vasketsov 29-03-2003 09:31 26810

CyMpak
Ну и входи терминально и запускай его из сеанса.
Или из телнета :)

Добавлено:

Если из своего сеанса - свой сеанс закрывать не надо.

Еще вариант - добейся нужной работы явно указав запуск через cmd (что-то типа "cmd.exe /s batnik.bat") и потом эту строку запускай как службу (про srvany знаешь?) с любой NT-машины удаленно (через srvmgr или mmc)

CyMpak 29-03-2003 09:53 26811

vasketsov
Цитата:

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

Еще вариант - добейся нужной работы явно указав запуск через cmd (что-то типа "cmd.exe /s batnik.bat")
все полностью писал там, решения пока не нашел...
Цитата:

с любой NT-машины удаленно (через srvmgr или mmc)
пока парюсь mmc, можно поподробней про данный вариант ??



Добавлено:

Либо как мне научить батник не убивать свой же сеанс ?
-----------------------------------------------
reset session 1
reset session 2
reset session 3
reset session 4
reset session 5
reset session 6
reset session 7
reset session 8
reset session 9
reset session 10
reset session 11
reset session 12
reset session 13
reset session 14
reset session 15
reset session 16
reset session 17
reset session 18
reset session 19
reset session 20
rd /S /Q E:\dir\dir1\
xcopy E:\dir\dir2 E:\dir\dir1 /E /C /I /Q /H /R /K /O /X /Y
rd /S /Q E:\dir\dir1\
xcopy E:\dir\dir2 E:\dir\dir1 /E /C /I /Q /H /R /K /O /X /Y
exit
--------------------------------------------
вот упрощенный вариант, вот в чем проблема запуска батника из терминала... он просто тупо хлопает сессию со всеми процессами которые в ней запущены то есть когда он дойдет до reset session <ID запустившего> наступит кирдык его дальнейшему выполнению.


Добавлено:

Вариантом может быть следующий алгоритм:
1) Получение ID текущего пользователя.
2) Перед каждым сбросом сессии проверять ID сбрасываемого сеанса на совпадение с полученным в :1: ...

Но как это сделать пока не знаю.

vasketsov 29-03-2003 23:50 26812

CyMpak
Вариант со службой мне представляется более правильным и простым, несмотря на то, что Вы откразываетесь его понимать.

Итак, необходимо из Windows 2000 Resource Kit (что это такое - в поиск) взять утилиту srvany.exe и научиться ей пользоваться. Справка по ней входит в тот же Resource Kit. Надо посредством srvany запускать в качестве службы cmd.exe с параметрами командной строки /s batnik.bat (и то и другое пишется в реестр в известные места, тут главное строго следовать документации на srvany, благо, она вполне подробная, и не записать в имя исполняемого файла параметры его командной строки). Установить ее в качестве службы можно либо руками, либо через srvinstw в том же Resource Kit.

CyMpak 30-03-2003 13:58 26813

vasketsov
Спасибо, получилось... Сейчас добиваюсь того чтобы на машине где через mmc открывается список служб нужной машины, автоматически выбиралась и запускалась нужная мне служба после чего консоль закрывалась....
Кстати давай на ты ?!? :beer:
Еще раз спасибо.

vasketsov 31-03-2003 08:06 26814

CyMpak
Если командная строка не пугает, посмотри синтаксис sc.exe.
Для нее можно сделать соответствующий ярлык (а то net start нельзя указать имя сервера).

CyMpak 31-03-2003 08:42 26815

vasketsov
Сенкс, идею понял. Доустановил sc .
Вот только пока что "[SC] OpenService failed 1060"
или "[SC]StartService:OpenService 1060".
Но думаю с этим я справлюсь.
Спасибо за совет.
[img]http:\\www.security.kz\cmpk\smile\friday.gif[/img]


[s]Исправлено: CyMpak, 8:43 31-03-2003[/s]

ALFATRON 20-12-2005 12:39 385015

!
 
Прога юзает имена, которые можно получить командой getkeyname.
например строка sc getkeyname telnet даст ответ TlntSvr. вот ТЛНТСВР и надо юзать для стопа и пуска.


Время: 03:51.

Время: 03:51.
© OSzone.net 2001-