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. 
(или скачайте этот файл тут: http://nixtech.ru/datatrans/win32/term-prn/wtsuprn.txt)
(или тут: http://support.citrix.com/article/CTX626451)
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

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

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

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

Пример:

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

Win2008adm.jpg

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