Windows terminal server

Материал из support.qbpro.ru

Оптимизация Windows terminal server

В данной статье рассматривается возможность оптимизации работы терминального сервера на платформе Windows. Данные рекомендации использовались на версиях Windows XP и Windows 2003. Возможно будут работать на Windows 7.

  • подразумевается, что вы уже установили сервер терминалов, он у вас работает и все дальнейшие действия выполняются на рабочем сервере. При этом категорически рекомендуем делать bakup изменений реестра или изменяемых системных файлов.
  • Рекомендация для правильной работы спулера принтеров сервера, данная операция производится после установки всех необходимых драйверов принтеров.
Сообщения об ошибках из-за проблем с монитором локального порта
После перезагрузки компьютера или после перезапуска службы «Диспетчер очереди печати» появляется следующее сообщение об ошибке: 
Сбой при запуске Spoolsv.exe
Если открыть окно свойств принтера, появляется следующее сообщение об ошибке: 
Недостаточно ресурсов
При попытке печати документа появляется сообщение об ошибке «Нарушение прав доступа» (программа Dr. Watson). В журнале программы
Dr. Watson присутствует запись об ошибке в программе Spoolsv.exe с кодом ошибки C0000005. 
Появляется следующее сообщение об ошибке и диспетчер очереди печати останавливается: 
Инструкция по адресу 'адрес' обратилась к памяти по адресу 'адрес'. Память не может быть «read». 
Такое же сообщение появляется при попытке перезапуска службы «Диспетчер очереди печати» и при открытии папки «Принтеры». 
Причиной проблемы может являться то, что используемый по умолчанию монитор локального порта заменен программой независимого
производителя. Чтобы устранить ошибку, необходимо внести изменения в системный реестр. 
  • Для этого выполните следующие действия.
Откройте редактор реестра.
2. Найдите параметр Local Port в следующем разделе реестра. 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port
3. Дважды щелкните параметр Driver и измените его значение. Введите строковое значение Localspl.dll и нажмите кнопку ОК.
4. Проверьте, присутствуют ли мониторы независимых производителей в следующем разделе реестра. Удалите все мониторы, 
кроме используемых по умолчанию.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors
По умолчанию используются следующие мониторы. 
AppleTalk Printing Devices (присутствует, если установлены службы для Macintosh)
BJ Language Monitor
Local Port
PJL Language Monitor
Standard TCP/IP Port
USB Monitor
Windows NT Fax Monitor
** LPR Port
Примечание. Удаление монитора LPR Port должно выполняться только по рекомендации специалиста службы технической поддержки
корпорации Майкрософт. 
5. Проверьте, присутствуют ли службы печати сторонних производителей в следующем разделе реестра. Удалите все службы печати,
кроме используемых по умолчанию.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers
По умолчанию используется следующие службы печати. 
Internet Print Provider
LanMan Print Services
6. Проверьте, присутствуют ли обработчики печати сторонних производителей в следующем разделе реестра. Удалите все обработчики
печати, кроме используемых по умолчанию.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors 
По умолчанию используется следующий обработчик печати
WinPrint 
Чтобы определить обработчик печати, используемый принтером, с помощью средства MPS_REPORTS (Microsoft Product Support Reporting Tool)
откройте файл MachineName_PRINTDRIVERS.TXT и найдите в нем нужный обработчик печати независимого производителя и очереди, которые
его используют. 
7. Замените обработчик печати независимого производителя обработчиком WinPrint.
8. Нажмите кнопку Пуск и выберите в меню Настройка пункт Панель управления.
9. Дважды щелкните значок Принтеры, щелкните правой кнопкой мыши нужный принтер и выберите команду Свойства.
10. Перейдите на вкладку Дополнительно и нажмите кнопку Обработчик печати.
11. В списке Обработчик печати выберите WinPrint.
12. Дважды нажмите кнопку ОК.
13. Закройте редактор реестра.
После внесения изменений в реестр перезапустите диспетчер очереди печати. Для этого запустите консоль управления (MMC)
и добавьте оснастки «Управление компьютером» или «Службы». Щелкните правой кнопкой мыши службу Диспетчер очереди печати
и выберите команду Пуск.
  • При переполнении за сутки очереди печати чистим батником:
@echo off 
net stop spooler 
echo y|del C:\WINDOWS\system32\spool\PRINTERS\*
net start spooler
  • При печати клиента из терминального режима на локальный принтер в системном логе сервера появляется сообщение об ошибке:
Event ID: 1103 Description: An internal communication error occurred. Решение проблемы:
Это происходит, если имя принтера на рабочей станции не совпадает с именем 
принтера на терминал-сервере. Как правило, это бывает, если в качестве клиента
используются компьютеры под управлением Windows 95/98/Me. Запишите название 
принтера на рабочей станции в локальном режиме, затем начните установку этого 
принтера на терминал-сервере и снова запишите его название. Затем откройте 
файл %systemroot%\system32\Wtsuprn.txt и добавьте в него свой принтер. Уберите 
значек комментария перед вносимой строкой, а полученный файл сохраните под 
именем %systemroot%\system32\Wtsuprn.inf. 
(или скачайте этот файл тут: ftp://ftp.qbpro.ru/winterm/wtsuprn.inf)
log on на терминал-сервере. Затем подключитесь с клиентской рабочей станции. Ваш принтер 
должен автоматически появится в папке Printers терминальной сессии.
(Инструкция от Microsoft по установке http://support.microsoft.com/kb/214593)
  • Полезные ссылки по решению проблем печати на терминальном сервере

(Решение проблем печати в терминальных сетях и терминальных службах. http://admin-dm.livejournal.com/67401.html)

(Совместимость имен принтеров при работе с терминальным сервером http://support.citrix.com/article/CTX626451)

(Terminal Server Printer Redirection Wizard Tool http://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=5640)

  • Патч для увеличения максимального количества полуоткрытых соединений
Впервые данное ограничение было введено компанией Microsoft в SP2 (Service Pack 2) для Windows XP и присутствует в последующих 
версиях Windows.
Это было сделано в попытке замедлить распространение вирусов с зараженного компьютера, а также ограничить возможности участия 
компьютера в DoS-атаках (от англ. Denial of Service, отказ в обслуживании). 
Ограничение заключается в том, что компьютеру не разрешается иметь более 10 одновременных полуоткрытых исходящих соединений. 
При достижении предела новые попытки подключений ставятся в очередь. Таким образом, фактически ограничена скорость подключения
к другим компьютерам.
(Патч Half-open limit fix http://half-open.com/download_ru.htm) позволяет убрать это ограничение, то есть увеличить 
максимальный предел полуоткрытых соединений. Для подавляющего большинства пользователей будет достаточным предел, равный 100
  • Оптимизация работы клиента на медленном канале:
Цельный курсор
Установка курсора немигающим очень эффективно в низкоскоростных соединениях. Мерцающий курсор посылает несколько байт 
данных при каждом мерцании, и запрет мерцания экономит немного полосы пропускания.
HKEY_USERS/.default/Control Panel/Desktop
Установите значение CursorBlinkRate Reg_SZ -1 (1200)
Скорость обновления меню Start
Вы можете увеличить скорость обновления, чтобы уменьшить время ответа в меню.
"HKEY_USERS\DEFAULT\Control Panel\Desktop"
Добавьте значение: MenuShowDelay REG_DWORD: 10 (400)
  • Полезные советы и ссылки:
(Решение проблем с терминальным сервером и не только http://adsh.ukrweb.net/win2k/fido_faq_10.html)
  • Без перезагрузки компьютера средствами командной строки, как правило, не обходится ни один диск автоматической установки Windows - это завершающая процедура, после которой компьютер уже готов к использованию. Перезагрузить компьютер можно различными способами.

Команда shutdown

   shutdown.exe -r -f -t 20 -c "Don`t panic. The system will reboot in 20 seconds."

Справка: shutdown /?

  • управление screensaver в терминальном сервере

screensaver в терминальном сервере

944984 - на сервере стоит SP2 который уже идет с User Profile Hive Cleanup

 Service (UPHClean). 
 906952 -  на сервере отключен мап любых принтеров и остального,
 кроме дисков (флешки и флопы мапить), там отмечено, что эта проблема была учтена в SP2. Также
 там написано, что ее включить надо, так вот этот момент немного не понятен:
 To enable this hotfix, you must create the PrinterMaskKey registry subkey. To do
 this, follow these steps:
 1. Click Start, click Run, type regedit, and then click OK.
 2. Locate the following registry subkey:
 HKEY_USERS\.default\printers
 3. Right-click the registry subkey that you located in step 2, point to New,
 click Key, type PrinterMaskKey, and then press ENTER.
 4. Exit Registry Editor.
 Что конкретно нужно создать в ветке HKEY_USERS\.default\printers, если не
 трудно, поясните?
 --В локаликозованной версии regedit Key = Раздел Т.е. надо создать подраздел
 PrinterMaskKey внутри HKEY_USERS\.default\printers

Hotfix - terminal server win

Windows Server 2003 Terminal Server - подключение только принтера пользователя по умолчанию

Чтобы настроить перенаправление принтера по умолчанию на клиенте служб терминалов, добавьте запись реестра RedirectDefaultPrinterOnly в реестр Windows.

  • Нажмите кнопку Пуск, выберите пункт Выполнить, введите команду regedit и нажмите кнопку ОК.

В левой области найдите и выделите следующий подраздел реестра:

   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Terminal Server Client\Default\AddIns\RDPDR
  • Примечание:
  Предписывает серверу Client\Default\AddIns\RDPDR
  В меню Правка выберите пункт Создатьи затем щелкните Значение DWORD.
  Введите RedirectDefaultPrinterOnlyи нажмите клавишу ВВОД.
  Дважды щелкните RedirectDefaultPrinterOnly, введите в поле значение введите 1 и нажмите кнопку ОК.
  • Примечание:
   Введите 0 в поле значение , чтобы отключить запись в реестре. 
   Установка значения данных 0 отключает перенаправление принтера по умолчанию.
   В меню файл выберите команду Выход , чтобы закрыть редактор реестра.

ИСТОЧНИК:


Настройка меню пользователя в Win2003

  • как скрыть пункт в меню Пуск - Администрирование, от терминальных пользователей?

В групповых политиках, конфигурации пользователя, административных шаблонах, в настройках меню "Пуск" отключите необходимые элементы.

Пример:

Конфигурация пользователя -> Настройка -> Параметры панели управления -> Главное меню

Win2008adm.jpg

Решение проблем по принтерам фирмы Canon

Удаленный сеанс отключен из-за отсутствия доступных лицензий клиента сервера терминалов для этого компьютера. Обратитесь к администратору сервера.

При попытке подключиться к удалённому рабочему столу, выдаёт ошибку "Удаленный сеанс отключен из-за отсутствия доступных лицензий клиента сервера терминалов для этого компьютера. Обратитесь к администратору сервера", что делать? Как исправить проблему?


Решение:

Необходимо удалить раздел реестра MSLicensing. Для этого проделайте следующие действия:

   На клиенте перейдите в следующий подраздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing.
   Выберите пункт MSLicensing.
   В меню Правка выберите команду Удалить, а затем нажмите кнопку Да, чтобы подтвердить удаление подраздела реестра MSLicensing.
   Закройте редактор реестра и пробуйте снова подключиться к удалённому компьютеру.

Исхода возможно два:

1) всё запустится и будет работать.

2) не запустится, но выдаст уже другую ошибку "Удаленный компьютер отключил сеанс из-за ошибки в протоколе лицензирования. Попытайтесь подключиться к удаленному компьютеру снова или обратитесь к администратору сервера".

Если вы получили второй исход, это означает, что раздел MSLicensing не смог создаться заново, чтобы он создался необходимо попробовать подключиться к удалённому компьютеру из под учётной записи обладающей правами администратора на данном компьютере. После этого под всеми остальными пользователями всё снова начнёт работать нормально.

взято тут

или

При подключении к удалённому рабочему столу возникает следующая ошибка: "Удаленный сеанс отключен из-за отсутствия доступных лицензий клиента сервера терминалов для этого компьютера".

Данная проблема решается двумя способами:

Если нет возможности изменить настройки сервера, то используем способ 1, иначе способ 2.

Способ 1. На стороне клиента

Необходимо удалить раздел "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store\LICENSE000". Сделать это можно, например, выполнив следующую команду:

reg delete "HKLM\SOFTWARE\Microsoft\MSLicensing\Store\LICENSE000" /f

или тоже самое, но руками:

   "Пуск" > "Выполнить..." > Набираем "regedit.exe" и жмём OK.
   Слева в дереве выбираем ветку " HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store\LICENSE000".
   Правой кнопкой мыши жмём по элементу " LICENSE000" и выбираем "Удалить".

Примечание 1. Можно встретить рекомендацию удалить ветку всю ветку "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing". Можно, но не нужно. Достаточно удалить подветку Store\LICENSE000. Примечание 2. Говорят (я не проверял), что на Windows Vista следует запустить "Подключение к удалённому рабочему столу" (mstsc.exe) от имени администратора. Примечание 3. Когда вообще ничего не помогает, то подключаемся к удалённому рабочему столу с Windows XP, а затем переносим ветку "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing" на машину с Windows Vista/7.

Способ 2. На стороне сервера

Понятно, что на каждом клиенте решать проблему неправильно и неудобно. Такая ошибка возникает, когда режим лицензирования сервера терминалов на сервере терминалов настроен как "На устройство", а на сервере лицензий имеются только клиентские лицензии доступа "На пользователя". В статье KB822134 показано, как решить эту проблему:

   Нажмите кнопку "Пуск" и выберите последовательно пункты "Администрирование" и "Настройка служб терминалов".
   Выберите узел "Параметры сервера" и дважды щелкните элемент "Лицензирование".
   Установите для параметра "Режим лицензирования" значение "На пользователя" и нажмите кнопку "ОК".

от сюда...

Сопоставление принтеров в терминальном подключении Win2003 R2

Решение проблемы: Сопоставление драйверов от клиента к серверу Для решения этой проблемы можно сопоставить имена драйверов принтеров на сервере с именами драйверов на клиентах. Например, вы можете сказать серверу, что драйвер клиентского принтера с именем “Hewlett Packard LaserJet 5P” является тем же драйвером, что и драйвер на сервере “HP LaserJet 5P.” Учтите, что это вам нужно, если (1) вы используете отображение клиентских принтеров и (2) используете клиентов, отличных от Windows 2000 или Windows XP. Чтобы разрешить сопоставление драйверов, разместите на терминальном сервере файл, который содержит пары имен драйверов на стороне клиента и на стороне сервера. В ранних версиях сервера терминалов это делалось с помощью файла “wtsuprn.inf”, находящегося в каталоге %systemroot%\system32\. Однако, в Windows Server 2003 этого файла нет и он не ищется. Для создания файла сопоставления в Windows 2003 вам нужно добавить в реестр два значения:

Key: HKLM\SYSTEM\CurrentControlSet\
Control\Terminal Server\Wds\rdpwd
Type: REG_SZ
Value: PrinterMappingINFName
Data: Имя файла .INF, содержащего сопоставление имен драйверов - например, c:\winnt\inf\printsubs.inf
Key: HKLM\SYSTEM\CurrentControlSet\
Control\Terminal Server\Wds\rdpwd
Type: REG_SZ
Value: PrinterMappingINFSection

Data: Наименование раздела в файле .INF, содержащего собственно сопоставление (Например, Printers) После внесения изменений реестр перезапустите службу спулера или перезагрузите сервер терминалов, чтобы изменения вступили в силу. После изменения реестра вам следует создать файл .INF, включающий имена драйверов. Этот файл должен выглядеть так:

;PRINTSUBS.INF
;This file contains Mappings for Client driver to Server driver printer connections
[Printers]
;"Client Printer Driver Name" = "Server Printer Drive Name"
"Hewlett Packard LaserJet 5P" = "HP LaserJet 5P"

Вы можете создать этот файл в Notepad и сохранить его с расширением .INF в каталоге %SystemRoot%\System32\. Имена драйверов в этом файле чувствительны к реестру и пробелам. Все, что находится внутри кавычек, должно точно соответствовать имени драйвера. Как и в большинстве файлов .INF лидирующий символ точка-с-запятой ( означает комментарий и такая строка игнорируется. При использовании этого файла вы можете включить в него несколько сопоставлений имен драйверов. Создание карты сопоставления - больше искусство, чем наука. К счастью, есть замечательный сайт www.printingsupport.com. На нем вы найдете файлы сопоставления имен драйверов, которые можете использовать в своей среде. Создав файл сопоставления, вы должны разместить его на всех терминальных серверах, где применяется отображение клиентских принтеров. Учтите, этот файл указывает на драйверы, которые должны быть инсталлированы на терминальном сервере. Если ваш файл .INF содержит синтаксические ошибки (кроме неверного указания имени драйвера внутри кавычек), вы можете получить в журнале событий следующее сообщение:

Event 1110: "Error processing ntprint.inf. If the file on the system is corrupt, you can restore it from the installation media.

Это сообщение сбивает с толку, поскольку ссылается на файл “ntprint.inf ”, а не на указанное вами имя файла. Эта ошибка обычно означает, что ваш файл .INF содержит ошибку. Чаще всего это бывает, когда в файле не содержится записей. Ваш новый файл .INF должен содержать минимум одно сопоставление и минимум одно сопоставление не должно начинаться с символа комментария. Если ваш файл .INF содержит пустое имя секции, вы также получите ошибку 1110.

Windows Server сброс терминальных лицензий

сброс лицензий я осуществляю таким образом:
Перевыдача лицензий:

1) останавливаем службу лицензирования терминала net stop termservlicensing
2) удаляем C:\WINDOWS\system32\LServer\TLSLic.edb
3) запускаем службу net start termservlicensing
4) запускаем licmgr.exe
5) вводим маркер лицензий
6) останавливаем службу net stop termservlicensing
7) создаем копию C:\WINDOWS\system32\LServer\
на случий повторного сброса (остановить службу и заменить копией оригинал)
8) запускаем службу net start termservlicensing

ПОЛЕЗНОЕ: