Windows Server 2008 R2 - RDSH - Переполнение реестра с помощью универсального драйвера печати Samsung


12

При работе нескольких ферм Windows Server 2008 R2 RDSH мы сталкиваемся с проблемой, при которой все серверы RDSH переполняют реестр до максимального значения 2048 МБ. Используя Sysinternals Registry Usage (ru.exe), мы смогли определить более 1000 МБ реестра, используемого ключами Samsung Universal Printer.

  • Универсальный драйвер печати Samsung: версия 2.3.90
  • Универсальный драйвер печати Samsung 2: версия 2.50.2.0

Разделы реестра, где происходит раздувание:

HKEY_USERS\.DEFAULT\Software\SSPrint\
  spe__\
  spd__\
  ssp6m\
HKEY_USERS\S-1-5-8\Software\SSPrint\
  spe__\
  spd__\
  ssp6m\

Каждый из этих подразделов имеет более 500+ ключей, в которых, как сообщает Usage Registry, они занимают по 30-40 МБ каждый.

Пример подключа: HKU\.default\software\ssprint\spe__\{BCC489E0-E2CA-442B-A5A5-9B849579BE1F}

Просматривая данные клавиш «Возможности», «MUIData» и т. Д. Вы можете определенно сказать, что они являются Samsung Universal, так как значения указывают на Samsung Universal при их просмотре.

Извлекая один из серверов, я попытался очистить эти ключи и смог. Очистка раздела «.Default» также очистила ключи «S-1-5-18», так что я думаю, что это ссылка в реестре. Когда я сделал это, я очистил HKU\.default\Printers\DevModes2также, так как этот раздел даже не открывался в Regedit. Чтобы удалить, мне пришлось CLI, чтобы удалить ключ «DevModes2», а затем воссоздать ключ в Regedit.

Как только я вхожу в систему с учетной записью, в которой установлен принтер с универсальным драйвером печати Samsung, эти ключи начинают появляться и переполняют реестр. Поскольку реестр настолько заполнен, у нас возникли проблемы с профилями пользователей, которые приводили к загрузке временных профилей. Когда мы отключили возможность иметь временный профиль, пользователи могли столкнуться с тем, что «Службе профилей пользователей не удалось войти в систему. Профиль пользователя не может быть загружен». сообщение.

Кто-нибудь там сталкивался с этой проблемой?

Есть ли в универсальном драйвере принтера Samsung какие-либо настройки, чтобы предотвратить это или убрать его после себя?


Я чувствую твою боль. Несколько лет назад универсальные драйверы HP были не намного лучше, где спулер зависал при тысячах запущенных процессов HP. Я буду следить за этим вопросом наверняка.
pauska

Поддержка Samsung создала случай, когда я позвонил. Надеюсь, у них скоро будет ответ.
Арахнид

После некоторых исследований выяснилось, что ключевая проблема DevModes2 была связана с support.microsoft.com/kb/2871131, и у нас было установлено исправление. Однако исправление не убирает беспорядок, а, по-видимому, просто не дает ему расти. Когда дело доходит до Samsung SSPrint, они снова растут после очистки. Чтобы получить реестр ниже 2048 МБ, нам пришлось выполнить некоторую очистку куста реестра ( support.microsoft.com/kb/2498915 ). Сейчас мы просто отслеживаем и готовим перевод серверов в режим стока, пока у нас не появится решение с драйверами Samsung.
паукообразный

@ Archanid Интересно! Как вы контролируете ситуацию?
pauska

1
ПРИМЕЧАНИЕ для всех, кто использует драйверы Samsung Universal Print и Windows Server 2008 R2 для хостинга сеансов удаленного рабочего стола (RDSH). Вы также будете испытывать переполнение реестра на отдельных профилях пользователей. Если вы используете перемещаемые профили пользователей, у вас могут возникнуть проблемы, когда реестр будет раздуваться до такой степени, что потребуется загрузка реестра и его экспорт с помощью групповых политик, определенных для удаления ключей, связанных с SSPrint. HKCU \ Software \ SSPrint \ spe__ HKCU \ Software \ SSPrint \ spd__ HKCU \ Software \ SSPrint \ ssp6m Приведенные выше ключи относятся к конкретным процессорам печати Samsung, используемым драйверами.
паукообразный

Ответы:


1

У меня была точно такая же проблема, и я могу подтвердить, что она исправлена ​​в новой версии Samsung Universal Print Driver 2 (2.50.5). Я также работал под управлением 2.50.2, а рассматриваемый ключ использовал 275 МБ. Простое удаление старой версии и установка новой версии на сервере (я не обновлял драйверы клиента) уменьшило размер ключа до 3 МБ. Я также попытался войти в систему и вернуться обратно и могу подтвердить, что теперь удаляет ключи при выходе из системы, в отличие от ранее.

Если вам любопытно, до этого не удалялись ключи. В однопользовательской среде это не проблема, но поскольку принтеры названы по имени пользователя и сеанса, это экспоненциальная проблема (для 20-пользовательского сервера, такого как мой, вы генерируете до 400 ключей ... и это если вы только 1 принтер на клиента)

редактировать: новый ключ называется usp01 вместо spe__


JaredEpp, рад слышать, Samsung удалось исправить их проблему. Возможно, к сожалению для Samsung, мы приняли решение не покупать принтеры Samsung из-за этой проблемы и с тех пор не покупали их. Я закончил тем, что сделал несколько очистителей реестра предпочтений групповой политики и несколько удобных сценариев PowerShell для загрузки роуминговых реестров пользователей, которые затем очищали и сжимали пользовательские файлы NTUSER.DAT.
Паукообразный

1

У HP точно такая же проблема. Проблема в том, что драйвер не очень умен, когда речь идет о нескольких пользователях, подключенных к одному и тому же принтеру одновременно, и он продолжает пытаться переустановить себя для каждого пользователя. Мы никогда не выясняли, как именно это исправить, но мы нашли два обходных пути:

Решение A (легко исправить, но это полный взлом)
Установите службу установщика Windows отключенной. Останавливает проблему замертво. Однако обратная сторона очевидна. Как только вам нужно будет установить или запустить обновления, вы должны снова включить службу, и реестр сразу же начнет снова набухать.

Решение B (некрасиво исправлено, но стабильно и поддерживается).
Принудительное использование драйвера EasyPrint для удаленного рабочего стола с помощью групповой политики. Это позволяет печатать задания печати на клиентах, а не на сервере. Недостатком здесь является то, что вам потребуется вручную удалить подключение принтера каждого пользователя со всех принтеров на каждом сервере в ферме, а затем удалить драйверы. Я надеюсь, что вы хорошо разбираетесь в сценариях!


Вы пытались установить драйвер в режиме установки служб терминалов? В командной строке введите change user /installи установите драйверы. Затем введите, change user /executeчтобы вернуться в обычный пользовательский режим. support.microsoft.com/kb/320185 Я бы очень хотел знать, если это работает.
Томас

Драйверы не устанавливаются таким образом. Они выталкиваются сервером печати, когда пользователь подключается к определенному принтеру, поэтому не нужно изменять режим выполнения. Несмотря на это, драйвер HP по-прежнему шаткий даже на рабочих станциях. Если вы посмотрите на свой реестр, в разделе HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ PendingFileRenameOperations почти всегда есть что-то от HP. Просто к сведению, этот ключ используется установщиками для удаления / изменения системных файлов при следующей перезагрузке. Драйвер HP всегда пытается что-то сделать. Я просто хотел бы знать, что это было.
Уэс Сайид

Я вижу, вы используете сервер печати. ОП использует RDS, поэтому установка режима установки может иметь значение в его случае.
Томас

Исходя из моего опыта, EasyPrint для удаленного рабочего стола не является хорошим решением для тех, кто использует RDP-клиент, отличный от Windows, такой как тонкий клиент WYSE OS. Из-за этого ограничения мы фактически полностью избегали удаленного рабочего стола EasyPrint, так как он просто не будет работать в нашей среде. Мы развертываем принтеры через подключения к принтерам групповой политики (уровень конфигурации пользователя) {Развернутые принтеры в управлении печатью}. Некоторое исследование было сделано, чтобы изменить это, чтобы использовать предпочтения групповой политики, но таргетинг / тестирование пользователей для каждого сайта не было завершено.
паукообразный
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.