Всем доброго времени суток.
Проблема в следующем. Накатал батник который разрывает все сеансы терминальных пользователей по ID. Использовал команду reset session <ID>. После батник выполняет определенные действия которым мешали сеансы пользователей. Теперь мне необходимо запустить батник на терминальном сервере удаленно. Поначалу решил сделать вызов батника из другого который располагается на моей машине. То есть сделал скрытую шару и вызвал его, но естественно батник попытался оборвать сеансы на МОЕЙ машине где их нет, подскажите как мне решить данную проблему. Заранее спасибо, с уважением CyMpak. |
CyMpak
Ну и входи терминально и запускай его из сеанса. Или из телнета :) Добавлено: Если из своего сеанса - свой сеанс закрывать не надо. Еще вариант - добейся нужной работы явно указав запуск через cmd (что-то типа "cmd.exe /s batnik.bat") и потом эту строку запускай как службу (про srvany знаешь?) с любой NT-машины удаленно (через srvmgr или mmc) |
vasketsov
Цитата:
ну блин короче без сарказма, маразм это все конечно, но так надо... Цитата:
Цитата:
Добавлено: Либо как мне научить батник не убивать свой же сеанс ? ----------------------------------------------- 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: ... Но как это сделать пока не знаю. |
CyMpak
Вариант со службой мне представляется более правильным и простым, несмотря на то, что Вы откразываетесь его понимать. Итак, необходимо из Windows 2000 Resource Kit (что это такое - в поиск) взять утилиту srvany.exe и научиться ей пользоваться. Справка по ней входит в тот же Resource Kit. Надо посредством srvany запускать в качестве службы cmd.exe с параметрами командной строки /s batnik.bat (и то и другое пишется в реестр в известные места, тут главное строго следовать документации на srvany, благо, она вполне подробная, и не записать в имя исполняемого файла параметры его командной строки). Установить ее в качестве службы можно либо руками, либо через srvinstw в том же Resource Kit. |
vasketsov
Спасибо, получилось... Сейчас добиваюсь того чтобы на машине где через mmc открывается список служб нужной машины, автоматически выбиралась и запускалась нужная мне служба после чего консоль закрывалась.... Кстати давай на ты ?!? :beer: Еще раз спасибо. |
CyMpak
Если командная строка не пугает, посмотри синтаксис sc.exe. Для нее можно сделать соответствующий ярлык (а то net start нельзя указать имя сервера). |
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] |
!
Прога юзает имена, которые можно получить командой getkeyname.
например строка sc getkeyname telnet даст ответ TlntSvr. вот ТЛНТСВР и надо юзать для стопа и пуска. |
Время: 03:51. |
Время: 03:51.
© OSzone.net 2001-