pav Вот вырезал кусок со своего бат-файла. Выбери, что тебе нужно из этого подкорректируй и пользуйся на здоровье. Полный текст далее... [more]
@echo off
rem bat-файл начинает выполнятся по приходу письма на определенный e-mail
setlocal
set buh-3=d:\Work\db_1c\1c_77\Buh-3\Обновление
set buh=d:\Work\db_1c\1c_77\Buh\Обновление
rem %%a-имя пользователя %%b-имя пользователя %%c-имя сессии %%f-имя процесса
rem отключаем вход на терминал сервер
change logon /disable
rem удаляем пришедшее письмо для запуска bat-файла
del /q "C:\windows\ESMS SPOOL\Users\1c_obnov\*.*"
rem Проверяем у кого из влогиненых на ТС запущена 1С и рассылаем предупреждение и записываем имена пользователей в текстовик. Свой аккаунт (Yourbill) пропускаю
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe echo %%b %%c %%e %%f >> u_list_obn.txt))
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe msg %%b "Через 3(ТРИ) минуты будет проводиться Обновление справочника ТМЦ для Актов И Бухгалтерии. Закройте запущенную(ые) у вас 1С!!! Обновление будет длиться 60-80 минут. Об окончании обновления вам будет послано сообщение."))
rem Ждем 2-ве минуты
sleep 120
rem Еще предупреждение
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe msg %%b "Если вы не закроете сами 1С-Предприятие, то через 1(ОДНУ) минуту приложение будет закрыто принудительно!!! Возможна потеря данных!!! Об окончании обновления вам будет послано сообщение."))
rem Ждем 1-ну минуту
sleep 60
rem Все кто не вышел из 1С разлогиниваются автоматом. Нарушителей записываем в текстовик (u_list.txt) и отправляем на мыло админу
rem Прощальное предупреждение.
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe msg %%b "Все!!! Кто не спрятался ... я не виноват"))
rem Записываем в текстовик время происходящего события
now > u_list.txt
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%f==1cv7s.exe echo %%b %%c %%d %%e %%f >> u_list.txt))
for /F "tokens=1-5 skip=1 delims=> " %%b in ('qprocess *') do (if %%b NEQ yourbill (if %%e==1cv7s.exe echo %%b %%c %%d %%e >> u_list.txt))
if exist u_list.txt blat u_list.txt -t annl@trade.local -s "Нарушители спокойствия
"
rem Принудительное разлогинивание... И послание провинившимся.
if exist u_list.txt for /F "tokens=2 skip=2 delims= " %%c in (u_list.txt) do (logoff %%c)
for /F "tokens=1-5 skip=2 delims=> " %%b in (u_list.txt) do (net send %%b "Ваше подключение к терминал серверу было отключено принудительно!!! По всей видимости вы не прочитали предыдущих сообщений или забыли закрыть 1с уходя с рабочего места. Сейчас проводиться Обновление справочника ТМЦ для Актов И Бухгалтерии.")
if exist u_list.txt del /q u_list.txt
REM НА СЕРВЕРЕ ЛИШНИХ НЕТ МОЖНО АРХИВИРОВАТЬ
rem Включаем вход на ТС
change logon /enable
rem Рассылка сообщения всем кто работал на ТС в момент запуска bat-файла
for /F "tokens=1-5 delims=> " %%b in (u_list_obn.txt) do (net send %%b "Обновление справочника ТМЦ для Актов И Бухгалтерии Окончено. Желающие (если такковые имеються
) могут приступить к работе")
if exist u_list_obn.txt del /q u_list_obn.txt
[/more]