Скрипт для отключения от сервера всех онлайн-пользователей и завершения работы всех приложений MyChat Client
Добавлено: Вт янв 24, 2017 12:55 pm
Скрипт написан специально для тех людей, у кого используется терминальный сервер WIndows. Обычно в таком случае MyChat Client устанавливается в папку C:\Program Files (x86)\MyChat Client\ , а Windows-пользователи уже запускают приложения каждый в своей сессии.
Профили настроек и история сохраняются в отдельных папках каждого Windows-пользователя и друг другу не мешают.
Проблема возникает, когда нужно обновить такой MyChat Client на новую версию. Прав на обновление клиента MyChat такие пользователи не имеют, а выйти из приложения, которое говорит им, что сервер более свежей версии и подключиться к нему не выйдет — не догадаются. Обновлять запущенный MyChat Client не выйдет, система будет "держать" используемые файлы.
Поэтому, схема обновления в таком случае будет такая:
1. На работающем сервере MyChat, перед обновлением, нужно запустить скрипт для отключения всех пользователей терминального сервера Windows.
2. Обновить сервер MyChat.
3. Обновить клиент MyChat на терминальном сервере.
Текст скрипта (версия MyChat 5.24+):
Профили настроек и история сохраняются в отдельных папках каждого Windows-пользователя и друг другу не мешают.
Проблема возникает, когда нужно обновить такой MyChat Client на новую версию. Прав на обновление клиента MyChat такие пользователи не имеют, а выйти из приложения, которое говорит им, что сервер более свежей версии и подключиться к нему не выйдет — не догадаются. Обновлять запущенный MyChat Client не выйдет, система будет "держать" используемые файлы.
Поэтому, схема обновления в таком случае будет такая:
1. На работающем сервере MyChat, перед обновлением, нужно запустить скрипт для отключения всех пользователей терминального сервера Windows.
2. Обновить сервер MyChat.
3. Обновить клиент MyChat на терминальном сервере.
Текст скрипта (версия MyChat 5.24+):
Код: Выделить всё
// ---------------------------------------
// Script created by Alexey Pikurov ([email protected])
// 24.01.2017 11:31:47
// ---------------------------------------
var
sOnlineUINS: string;
iUIN: integer;
begin
sOnlineUINS := mGetUsersListByParams('online');
while length(sOnlineUINS) > 0 do begin
iUIN := StrToInt(GetNextSt(sOnlineUINS, ','));
mHaltMyChatClient(iUIN);
end;
end.