Настройка сессии

Настройка общих параметров RDP сессии, таких как имя и пароль пользователя, используемые раскладки клавиатуры и автозапуск программ.

По умолчанию после подключения к терминальному серверу пользователю терминала в окне "Вход в Windows" придется указать логин, пароль и домен (если терминальный сервер входит в домен). Можно упростить жизнь пользователя, задав некоторые из этих значений в файле конфигурации. Существует два метода задания этих значений:

  1. Явное указание определенных значений. Те значения, которые вы не укажете, пользователю придется вводить самостоятельно. Используются параметры user и domain:
    user = vasyapupkin
    domain = MYDOMAIN
    Можно указать и пароль:
    user = petja:password
  2. Есть возможность дать пользователю выбрать из меню реквизиты для входа. Реквизиты указываются любым из cледующих способов:
    DOMAIN\user[display_name]:password
    DOMAIN\user:password
    user[display_name]:password
    user:password
    DOMAIN\user[display_name]
    DOMAIN\user
    user
    display_name - это имя, которое будет написано на экране в меню. Если не указано, то в меню будет написано имя пользователя. Друг от друга такие блоки отделяются точкой с запятой. Например, такая строка в конфигурационном файле создаст меню из 6 пунктов (пользователи vasja и peter из домена DOMAIN2, у пользователя vasja пароль 'joke', у пользователя john пароль '1'):
    user = DOMAIN2\vasja[Василий Пупкин]:joke;DOMAIN2\peter;john:1;july;Guest;--new--
    Ключевое слово --new-- указывает терминалу оставить поле с именем пользователя пустым. Пунктов меню может быть столько, сколько помещается на экране. Терминал будет автоматически отображать элементы в несколько колонок.

Если сервер не воспринимает пароль - зайдите в Панель управления - Администрирование - Настройка служб терминалов - RDP-Tcp - Параметры входа. Галочка "Требовать пароль только для входа" должна быть убрана.
Можно указать терминалу разрешать работать только пользователям, перечисленным в параметре user=. Если пользователь вручную введет другой логин и правильный пароль, терминал прервёт сессию. Этот режим включается флагом --only-listed--:

user = vasya; peter; john; --only-listed--

Можно указать домен (если терминальный сервер входит в домен). Это значение будет подставлено в окне "Вход в Windows" после подключения терминала к терминальному серверу.

domain = MYDOMAIN

Обычно терминальный сервер запускает explorer сразу после того, как пользователь входит на терминальный сервер. Таким образом пользователь получает привычный рабочий стол Windows. Если вам нужно, чтобы вместо рабочего стола запускалась какая-то одна программа, можно воспользоваться параметром shell. Таким образом неплохо эмулируется режим Seamless Windows из Citrix Metaframe. Стоит отметить, что параметр shell не запрещает излишне опытному пользователю нажать Ctrl-Shift-Esc, запустить "Диспетчер задач Windows" и из него запустить любую другую программу. Запрет на запуск ненужных приложений формируется иным способом с использованием политик Windows или стороннего программного обеспечения. Пример использования shell, запуск консоли командной строки:

shell = c:\windows\system32\cmd.exe

Еще один пример, запуск Microsoft Word и открытие документа (в конфигурационном файле это должно быть записано одной строкой):

shell = C:\Program Files\Microsoft Office\Office10\winword.exe "c:\temp\document 1.doc"

На Windows 2008 server и новее программу надо внести в список RemoteApp Manager (remoteprograms.msc). В политиках можно разрешить запускать произвольную програму: запустите gpedit.msc, Computer Configuration, Administrative Templates, Windows Components, Remote Desktop Services, Remote Desktop Session Host, Connections, Allow remote start of unlisted programs.

При использовании параметра shell может понадобиться задать рабочий каталог запущенной программы. Для этого существует параметр directory. Например, при запуске консоли с командной строкой через параметр shell такая строка заставит вместо домашней директории пользователя открыть командную строку в директории c:\windows\temp:

directory = c:\windows\temp

Язык клавиатуры по умолчанию в окне "Вход в Windows" и раскладку клавиатуры в RDP сессии можно задать параметром keyboard. Этот параметр работает только внутри RDP сессии. Клавиатура для диалогов логина и пароля, которые рисует WTware, для локального Chrome, для VNC клиента настраивается параметром language. По умолчанию устанавливается английская раскладка, кроме нее можно задать русскую:

keyboard = ru

Немецкую:

keyboard = de

Или любую другую из списка:

af (Afrikaans), sq (Albanian), ar (Arabic), ar-sa (Arabic (Saudi Arabia)), ar-iq (Arabic (Iraq)), ar-eg (Arabic (Egypt)), ar-ly (Arabic (Libya)), ar-dz (Arabic (Algeria)), ar-ma (Arabic (Morocco)), ar-tn (Arabic (Tunisia)), ar-om (Arabic (Oman)), ar-ye (Arabic (Yemen)), ar-sy (Arabic (Syria)), ar-jo (Arabic (Jordan)), ar-lb (Arabic (Lebanon)), ar-kw (Arabic (Kuwait)), ar-ae (Arabic (U.A.E.)), ar-bh (Arabic (Bahrain)), ar-qa(Arabic (Qatar)), eu (Basque), bg (Bulgarian), be (Belarusian), ca (Catalan), zh (Chinese), zh-tw (Chinese (Taiwan)), zh-cn (Chinese (China)), zh-hk (Chinese (Hong Kong SAR)), zh-sg (Chinese (Singapore)), hr (Croatian), cs (Czech), da (Danish), nl (Dutch (Netherlands)), nl-be(Dutch (Belgium)), en (English), en-us (English (United States)), en-gb (English (United Kingdom)), en-au (English (Australia)), en-ca (English (Canada)), en-nz (English (New Zealand)), en-ie (English (Ireland)), en-za (English (South Africa)), en-jm (English (Jamaica)), en-bz (English (Belize)), en-tt (English (Trinidad)), et (Estonian), fo (Faeroese), fa (Farsi), fi (Finnish), fr (French (France)), fr-be (French (Belgium)), fr-ca (French (Canada)), fr-ch (French (Switzerland)), fr-lu (French (Luxembourg)), gd (Gaelic), de (German (Germany)), de-ch (German (Switzerland)), de-at (German (Austria)), de-lu (German (Luxembourg)), de-li (German (Liechtenstein)), el (Greek), he (Hebrew), hi(Hindi), hu (Hungarian), is (Icelandic), in (Indonesian), it Italian ((Italy)), it-ch (Italian (Switzerland)), ja (Japanese), ko (Korean), lv(Latvian), lv-qwerty (Latvian QWERTY), lt (Lithuanian), mk (FYRO Macedonian), ms (Malay (Malaysia)), mt (Maltese), no (Norwegian (Bokmal)), no (Norwegian (Nynorsk)), pl (Polish), pt-br (Portuguese (Brazil)), pt (Portuguese (Portugal)), rm (Rhaeto-Romanic), ro(Romanian), ro-mo (Romanian (Moldova)), ru (Russian), ru-mo (Russian (Moldova)), sr-cyrillic (Serbian (Cyrillic)), sr-latin (Serbian (Latin)), sk (Slovak), sl (Slovenian), sb (Sorbian), es (Spanish (Traditional Sort)), es-mx (Spanish (Mexico)), es (Spanish (International Sort)), es-gt (Spanish (Guatemala)), es-cr (Spanish (Costa Rica)), es-pa (Spanish (Panama)), es-do (Spanish (Dominican Republic)), es-ve(Spanish (Venezuela)), es-co (Spanish (Colombia)), es-pe (Spanish (Peru)), es-ar (Spanish (Argentina)), es-ec (Spanish (Ecuador)), es-cl(Spanish (Chile)), es-uy (Spanish (Uruguay)), es-py (Spanish (Paraguay)), es-bo (Spanish (Bolivia)), es-sv (Spanish (El Salvador)), es-hn(Spanish (Honduras)), es-ni (Spanish (Nicaragua)), es-pr (Spanish (Puerto Rico)), sx (Sutu), sv (Swedish), sv-fi (Swedish (Finland)), th(Thai), ts (Tsonga), tn (Tswana), tr (Turkish), tr-f (Turkish F), uk (Ukrainian), ur (Urdu), vi (Vietnamese), xh (Xhosa), ji (Yiddish), zu(Zulu)

Также можно установить клавиатуру US International, которая иначе обрабатывает гравис (grave):

keyboard = en-us-int
keyboard = pt-br-int

Кроме указанных в списке раскладок можно указать непосредственно код раскладки клавиатуры:

keyboard = 0xb0060409

Все коды раскладок клавиатур, установленных на сервере, перечислены в ветке реестра:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts

По умолчанию при каждом соединении с терминальным сервером индикатор режима NumLock включен. Если вы хотите его выключить, укажите в конфигурационном файле такую строку:

numlock = off

Несколько дополнительных графических возможностей терминала по умолчанию запрещены для повышения быстродействия и снижения нагрузки на сеть. Их можно разрешить, используя параметр graphic. Значением параметра является строка из одного или нескольких символов. Допустимые символы означают: a - Фоновый рисунок рабочего стола
b - Отображать содержимое окна при перетаскивании
c - Визуальные эффекты при отображении меню и окон
d - Темы
e - Отображать тень курсора
f - Сглаживание шрифтов
g - Композиция рабочего стола
Нужно указать в строке символ для каждой опции, которую Вы хотите разрешить. Например, разрешить все:

graphic = abcdefg

Еще пример, разрешить только фоновый рисунок рабочего стола:

graphic = a
Для того, чтобы Windows 2003 Server согласился показывать рисунок рабочего стола, надо выполнить следующую настройку: Пуск > Выполнить > gpedit.msc > Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы терминалов > Принудительная отмена фонового рисунка. Должно быть значение "отключен".

Для подключения к ферме через брокера или к пулу VDI надо использовать параметр loadbalanceinfo= Посмотрите в .rdp файл на Windows, который используется для подключения. Там написано примерно так:

loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.NameSC

Вместо NameSC имя вашей Session Collection. В конфигурационном файле WTware надо написать:

loadbalanceinfo = tsv://MS Terminal Services Plugin.1.NameSC