Вопрос или проблема
У меня есть сервер терминалов Windows 2016 T1, к которому подключаются 50 пользователей через удаленный рабочий стол. Сервер подключен к домену, а пользователи находятся в Active Directory.
У меня есть 5 сетевых принтеров на T1. 5 пользователей используют принтер P1. 5 других пользователей используют принтер P2 и так далее.
В данный момент все 5 принтеров видны всем 50 пользователям. Они могут печатать любые документы на любой принтер. Мне нужно ограничить этот доступ. Каждый пользователь должен видеть только принтер, к которому он имеет доступ.
Можете ли вы предложить масштабируемый способ достижения этого с помощью встроенной функциональности Windows? Под масштабируемым я имею в виду:
-
Я хочу избежать добавления каждого пользователя к принтеру. (Пользователи приходят и уходят. С каждым новым пользователем я не хочу снова назначать разрешения в настройках принтера. Я предпочитаю добавлять пользователя в группу в AD во время создания пользователя. Группа может иметь доступ к принтеру).
-
Если я добавлю терминалы T2, T3 в тот же домен, я не хочу повторно настраивать разрешения для каждого пользователя на каждом терминале. Я хочу назначать разрешения только для группы.
Что я пробовал:
- Я создал группу безопасности (глобальную) в AD. Я назвал ее PRINT_P1. Я добавил в нее 5 пользователей.
- Я зашёл в Устройства и принтеры на T1 -> Принтер P1 -> Безопасность ->
- Удалил Everyone из списка
- Добавил PRINT_P1 -> Печать – Разрешить.
Результат: Принтер P1 виден только 5 пользователям, не виден другим пользователям. То же самое относится к другим терминалам T2 и T3. Это, похоже, соответствует требованиям. Но когда я печатаю, появляется сообщение “Отправлено на принтер”, затем задание исчезает, и ничего не печатается. Я что-то пропустил или это другая проблема?
Правка: Когда я проверил Просмотр событий, я получаю эту ошибку каждый раз, когда печатаю: Имя сбойного приложения: printfilterpipelinesvc.exe, версия: 10.0.14393.7254, метка времени: 0x66ac6f56. Имя сбойного модуля: hpxtpsdrvf8.dll
Правка 2: Я удалил и переустановил драйвер принтера для P1. Я все еще получаю ошибку в Просмотре событий: Путь к сбойному приложению: C:\Windows\system32\printfilterpipelinesvc.exe Путь к сбойному модулю: C:\Windows\system32\spool\DRIVERS\x64\3\hpxtpsdrvf8.dll Когда я добавляю разрешения для Everyone, эта ошибка не возникает, и печать работает нормально.
У вас неполадка в драйвере печати на одном из ваших серверов терминалов. Вот в чем проблема.
Вы правильно сделали, удалив группу безопасности Everyone из принтеров и добавив безопасность для обоих принтеров. Добавьте пользователей, которые хотят их использовать, назначив группу безопасности. Я использую тот же метод на сервере терминалов, который я управляю, даже с более чем 50 принтерами. Я устанавливаю консоль управления печатью, если вы хотите правильно импортировать/экспортировать ваши принтеры между вашими серверами терминалов.
Ответ или решение
Для ограничения доступа к принтерам для конкретных пользователей на терминальном сервере Windows 2016, необходимо правильно настроить группы безопасности в Active Directory и обеспечить корректную работу драйверов принтеров. Вот пошаговое руководство по этому процессу:
Шаг 1: Создание групп безопасности
- Создайте группы безопасности в Active Directory:
- Для каждого принтера создайте отдельную группу, например,
PRINT_P1
,PRINT_P2
и т.д. - Добавьте в соответствующие группы пользователей, которые должны иметь доступ к этим принтерам.
- Для каждого принтера создайте отдельную группу, например,
Шаг 2: Настройка прав доступа к принтерам
- Откройте "Устройства и принтеры" (Devices and Printers) на вашем терминальном сервере T1.
- Найдите принтер, который вы хотите настроить, например,
Printer P1
. - Нажмите правой кнопкой мыши на принтер и выберите "Свойства принтера" (Printer Properties).
- Перейдите на вкладку "Безопасность" (Security).
- Удалите группу
Everyone
из списка и добавьте созданную вами группу безопасности, например,PRINT_P1
, предоставив ей разрешения на печать (Print - Allow
).
Шаг 3: Установка и настройка драйверов принтеров
-
Проверьте установку драйвера принтера:
- Часто проблемы с печатью возникают из-за некорректно установленных драйверов. Убедитесь, что драйверы принтеров установлены правильно и совместимы с вашим терминальным сервером.
-
Если возникают ошибки при печати:
- Откройте Просмотр событий (Event Viewer) и проверьте журналы на наличие ошибок, связанных с печатью, особенно учитывая упомянутое вами
printfilterpipelinesvc.exe
. - Возможно, вам потребуется удалить и заново установить драйвер принтера, если возникают ошибки с конкретным модулем, как
hpxtpsdrvf8.dll
. Рекомендуется использовать последние версии драйверов с официального сайта производителя принтеров.
- Откройте Просмотр событий (Event Viewer) и проверьте журналы на наличие ошибок, связанных с печатью, особенно учитывая упомянутое вами
Шаг 4: Масштабируемость
-
Настройка для новых пользователей:
- При добавлении новых пользователей в Active Directory просто добавляйте их в соответствующие группы безопасности, и они автоматически получат доступ к нужным принтерам.
-
Подключение дополнительных терминалов (T2, T3 и т.д.):
- Убедитесь, что те же настройки безопасности настраиваются и на новых терминальных серверах, чтобы пользователи видели только те принтеры, к которым у них есть доступ.
Заключение
Следуя этим шагам, вы сможете эффективно управлять доступом к принтерам на терминальном сервере Windows 2016, значительно упростив процесс добавления новых пользователей. Если возникнут проблемы с печатью даже после установки правильных драйверов, стоит также проверить настройки сети и конфигурацию принтеров.
Кроме того, если ошибка продолжит появляться, вы можете рассмотреть возможность обращения в службу технической поддержки производителя принтеров или Microsoft для более детального анализа проблемы.