krosaftcheg
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Простите за некропостинг, тем не менее это решение может быть полезно другим гуглящим. Гуглите, да найдете то что искали. Итак, столкнулся с такой же проблемой как и у ТС. Имеем: а) сервер терминалов, в настройках которого снята галочка "Ограничить пользователя единственным сеансом" (или "Ограничить всех пользователей одиночными сеансами" как оно выглядит если зайти собственно в эти свойства узла сеансов удаленных рабочих столов) б) сотрудники из офиса открывают несколько сеансов, будь то полноценные рабочие столы или запуск программ с помощью свойства "запускать программу при запуске" RDP-файла (актуально для пользователей под линуксом) в) удаленные сотрудники должны работать только в одном сеансе. Продиктовано это может быть разными факторами. Например, ограниченное количество лицензий 1С 8 версии, или занятый каталог в 1С 7.7, мало ли зачем это может понадобиться. В таком случае, если у удаленного пользователя тупо отсоединить сетевой шнурок (и закрыть RemoteApp/перезагрузить компьютер) - на сервере остается висеть сеанс этого пользователя. Идея проста - при запуске конкретных пользователей запускать батник, который делает logoff всех пользователей с таким же именем. Делаем вот такой простой батник: Цитата: @echo off for /f "tokens=4 delims= " %%G in ('tasklist /FI "IMAGENAME eq tasklist.exe" /NH') do (SET RDP_SESSION=%%G) for /f "tokens=3 delims= " %%G in ('query user %username%') do (IF NOT %%G == ID (IF NOT %%G == %RDP_SESSION% (logoff %%G))) | первая строка определяет ID текущей сессии на сервере терминалов, вторая строка получает выборку IDшников пользователей с таким же именем как и у текущего пользователя из-под которого грузится этот батник и делает logoff всем, кроме своего ID. При чем этот батник срабатывает из-под обычного пользователя. Далее если у нас не RemoteApp - тупо кидаем батник в автозапуск в HKLM/Microsoft/Windows/CurrentVersion/Run и ограничиваем просто доступ к файлу, а нужным пользователям даем право на запуск. Группе администраторов, если нужно, можно выставить доп. правило с запретом на запуск, оно имеет как известно больший приоритет. Если удаленные пользователи работают с RemoteApp, то тут чуть сложнее. Батник нужно кинуть в групповые политики в скрипты запускающиеся при входе в систему, и тут два варианта: если у нас не поднят домен: открываем mmc, добавляем оснастку "Редактор объектов групповой политики", и тут либо выбираем каждого пользователя по отдельности и добавляем батник в скрипты входа в систему, либо выбираем группу "Не администраторы" и так же добавляем в скрипты входа в систему, но ограничиваем доступ к батнику на уровне файловой системы если поднят домен, то не нужно ограничивать доступ на уровне файловой системы, достаточно воспользоваться данной статьей http://www.windowsnetworking.com/articles-tutorials/windows-2003/Group-Policy-Security-Filtering.html, актуально и для Server 2008/2012 в принципе, если поднят домен, но RemoteApp не используется, также применяем Group Policy Security Filtering вот статейка про скрипты автозапуска, которые отрабатывают даже в случае использования RemoteApp: https://technet.microsoft.com/en-us/library/cc731758.aspx?f=255&MSPPError=-2147217396 вот такой своеобразный костыль, но: а) простой, делающийся за 15 минут которые сэкономят кучу времени на звонках от пользователей б) 100% рабочий | Всего записей: 84 | Зарегистр. 20-03-2009 | Отправлено: 21:16 21-01-2016 | Исправлено: krosaftcheg, 01:44 29-01-2016 |
|