Обычно терминальный сервер запускает explorer сразу после того, как пользователь входит на терминальный сервер. Таким образом пользователь получает привычный рабочий стол Windows. Если вам нужно, чтобы вместо рабочего стола запускалась какая-то одна программа, можно воспользоваться параметром shell
. Стоит отметить, что параметр 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 Server запрещено запускать произвольные программы. Чтобы параметр shell работал, нужно внести программу в список 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.
Чтобы проверить, что сервер настроен запускать нужную программу, создайте на компьютере с Windows файл test.rdp из одной строки:alternate shell:s:c:\windows\system32\calc.exe
Запустите этот файл на Windows. Запустится mstsc.exe и попытается выполнить указанную программу. Если вместо калькулятора будет ошибка, надо настраивать Windows Server как указано выше.
Чтобы запустить опубликованное приложение (RemoteApp), укажите:
shell = ||RMySuperRemoteApp