Локальный принтер в сеансе RDP: настраиваем печать из 1С на сервере терминалов
Содержание
Вы работаете в 1С на удалённом рабочем столе, жмёте «Печать», а в списке принтеров только виртуальные «Microsoft Print to PDF» и «Факс». Своего принтера нет. Причин обычно три: перенаправление принтеров выключено на клиенте, запрещено политикой на сервере или не сработал драйвер.
Чтобы подключить принтер к удалённому рабочему столу 1С, нужно включить перенаправление в клиенте RDP, разрешить его на сервере терминалов и убедиться, что драйвер доступен в сеансе. Ниже весь путь по порядку, от проверки на стороне пользователя до диагностики на сервере.
Как RDP передаёт принтер в сеанс
При подключении клиент mstsc может «пробросить» локальные устройства на сервер. Для принтеров это работает так: сервер создаёт в сеансе временный принтер с именем вида HP LaserJet (перенаправлено 2), где число — номер сеанса. Когда вы отключаетесь, принтер исчезает. При следующем входе он создаётся заново.
Сам 1С к этому процессу отношения не имеет. Платформа печатает на тот принтер, который видит Windows в вашем сеансе. Поэтому если принтер не виден в обычном блокноте или Word на сервере, чинить нужно RDP, а не 1С.
Есть два механизма передачи драйвера:
| Механизм | Как работает | Плюсы | Минусы |
|---|---|---|---|
| Easy Print | Сервер использует собственный универсальный драйвер и отправляет задание на клиент, где печать выполняет родной драйвер | Не нужно ставить драйвера на сервер | Нужен установленный драйвер на клиенте и .NET Framework на клиентском ПК |
| Родной драйвер на сервере | Сервер находит установленный драйвер с тем же именем и использует его | Точная настройка лотков, дуплекса, форматов | Драйвер ставит администратор, имена должны совпадать |
На практике Easy Print закрывает большинство офисных задач: обычные листы А4, счета, накладные. Родной драйвер нужен для этикеточных, матричных и чековых принтеров.
Включаем перенаправление принтеров в клиенте подключения
Начните с самого простого: проверьте настройки у пользователя.
- Запустите
mstscи нажмите «Показать параметры». - Откройте вкладку «Локальные ресурсы».
- В группе «Локальные устройства и ресурсы» отметьте «Принтеры».
- Если нужны не все принтеры, нажмите «Подробнее» и выберите конкретные устройства.
- Вернитесь на вкладку «Общие» и сохраните подключение в файл
.rdp, чтобы не настраивать заново.
Если подключаетесь через веб-доступ или стороннюю оболочку (например, подключение из браузера), галочка «Принтеры» может прятаться в настройках самой оболочки. Ищите пункт про перенаправление устройств.
Если нужен только принтер по умолчанию, в .rdp-файле можно задать параметр redirectprinters:i:1. Он включает перенаправление принтеров без правки через интерфейс.
Проверка за минуту: подключитесь, откройте на сервере «Панель управления → Устройства и принтеры» и посмотрите, появилось ли там имя с пометкой «перенаправлено». Появилось, а в 1С его нет — смотрите раздел про печать в самой платформе. Не появилось — идите дальше, к политикам сервера.
Групповые политики сервера терминалов
Администратор мог запретить перенаправление принтеров вообще. Это стандартная мера безопасности, и о ней часто забывают, когда ищут причину.
Откройте редактор групповой политики: локально gpedit.msc или в консоли управления доменом для нужной организационной единицы. Нужный раздел:
Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Перенаправление принтеров
Здесь интересуют четыре параметра:
- 🖨️ Не разрешать перенаправление принтеров клиента — должен быть «Отключено» или «Не задано». Если «Включено», принтеры не пробросятся никогда.
- 🧩 Сначала использовать драйвер принтера Easy Print — включайте, если хотите универсальный драйвер.
- 📄 Перенаправлять только принтер клиента по умолчанию — удобно, когда у сотрудников по десять сетевых принтеров, а сервер захлёбывается от очереди.
- 🔁 Задать поведение резервного драйвера — что делать, если подходящего драйвера на сервере нет.
Есть и общий выключатель в соседнем разделе Перенаправление устройств и ресурсов. Проверьте его тоже: запрет на уровне устройств перекрывает ваши настройки принтеров.
После изменения политики на сервере выполните:
gpupdate /force
Политика применяется к новым сеансам. Пользователи, уже вошедшие в систему, увидят изменения только после переподключения. Не просите их закрывать 1С в разгар отчётного дня, договоритесь о времени.
Заодно полезно проверить, что именно применилось к сеансу пользователя. Команда gpresult /r покажет список применённых политик, а gpresult /h отчёт.html соберёт подробный отчёт.
Драйверы на сервере: что ставить и как синхронизировать
С Easy Print драйвер на сервер ставить не нужно. Но есть нюанс: драйвер должен стоять на клиентском компьютере, иначе печать идёт «в никуда» или с искажениями.
Если Easy Print не подходит (чековый принтер, этикетки, принтер с нестандартным ПО), нужен родной драйвер на сервере. Правила простые:
- Скачайте драйвер с сайта производителя в версии для серверной ОС. Драйвер для Windows 10 на Windows Server может не встать. Разрядность — 64-бит.
- Установите его на сервер терминалов. Лучше брать универсальный пакет (например, «Universal Print Driver» у многих производителей), он подхватывает целую линейку моделей.
- Имя драйвера на сервере должно совпадать с именем драйвера на клиенте. Если на клиенте «HP LaserJet Pro M404 PCL 6», а на сервере «HP Universal Printing PCL 6», автоматического сопоставления не будет.
- Если ферма из нескольких серверов — установите один и тот же драйвер на каждый. Иначе пользователь попадёт на другой сервер и принтер «пропадёт».
Хороший признак: после подключения в «Устройствах и принтерах» перенаправленный принтер показан со своим значком, а не с обычным серым «Принтер».
Перед установкой драйверов на рабочий сервер сделайте точку восстановления или снимок виртуальной машины. Чужой драйвер иногда нестабилен и роняет службу диспетчера печати у всех пользователей сразу.
Для драйверов старых или экзотических принтеров полезен обходной приём: подключить устройство на клиенте через «виртуальный» тип порта (например, USB-порт, привязанный к принтеру), а на сервере использовать универсальный текстовый драйвер «Generic / Text Only». Для печати квитанций и этикеток текстом этого хватает.
Имена портов и зависшая очередь печати
Типичная картина: принтер в сеансе есть, задание уходит, но ничего не печатается. Или задание уходит на другой компьютер.
Как устроены порты TS
Для перенаправленных принтеров сервер использует порты вида TS001, TS002 и так далее. Нумерация идёт по порядку подключения сеансов, поэтому у одного и того же пользователя номер может меняться от входа к входу. Для печати это не проблема. Проблема появляется, когда имя порта где-то «зашито»: в старых внешних обработках, в настройках печати с указанием конкретного порта, в сторонних программах.
Если ваша обработка или внешняя печатная форма жёстко ссылается на имя принтера с номером сеанса, она сломается при следующем входе. Лучше печатать на принтер по умолчанию или давать пользователю выбор из списка доступных принтеров.
Очередь не двигается
Если задание «застряло» и висит в очереди:
- Откройте «Устройства и принтеры» → ваш принтер → «Просмотр очереди печати».
- Отмените все документы через меню «Принтер → Очистить очередь печати».
- Если очередь не очищается, перезапустите службу «Диспетчер печати».
Перезапуск службы выполняется командами:
net stop spooler
net start spooler
Остановка диспетчера печати на терминальном сервере приведёт к потере всех заданий у всех пользователей. Печать в 1С у них оборвётся, документы придётся отправлять заново. Делайте это в перерыв или после предупреждения.
Если проблема повторяется у одного конкретного пользователя, его принтер часто «залипает» после обрыва связи. В таком случае помогает полный выход из сеанса (не просто закрытие окна RDP) и новый вход.
Печать в разных версиях 1С:Предприятие
Платформа 8.3 использует системные настройки принтера Windows, поэтому отдельных «галочек для RDP» в ней нет. Но поведение зависит от режима запуска.
Тонкий клиент
Тонкий клиент, запущенный на сервере терминалов, берёт принтеры из сеанса пользователя. Это самый частый и самый простой сценарий. Выбор принтера делается в окне печати: после нажатия «Печать» открывается стандартный диалог, там выбирается нужное устройство.
Если печатная форма открылась на экране, дополнительные параметры (книжная/альбомная ориентация, поля, масштаб) задаются в меню «Файл → Параметры страницы» и «Файл → Печать». Принтером по умолчанию 1С считает тот, что выбран в Windows в сеансе. Перенаправленный принтер часто не становится «по умолчанию» автоматически. Выставьте его вручную в «Устройствах и принтерах».
Веб-клиент
Если база открыта в браузере, печать идёт через принтер компьютера, на котором запущен браузер. Перенаправление RDP здесь ни при чём. Если же браузер запущен внутри терминального сеанса, действуют правила сервера терминалов, как для тонкого клиента .
Толстый клиент и обычное приложение
Режимы запуска «толстый клиент» и «обычное приложение» (в старых конфигурациях) работают так же, как тонкий: печать идёт на принтер Windows сеанса. Различие только в диалогах: в обычном приложении окно выбора принтера выглядит по-другому, а сама логика остаётся прежней.
Печать в файл как запасной вариант
Если принтер упорно не работает
, а документ нужен срочно, сохраните печатную форму в PDF. Для этого в окне печати выберите «Microsoft Print to PDF». Файл лежит на сервере; чтобы получить его на своём компьютере, включите перенаправление дисков в mstsc или скопируйте через буфер обмена.
gpupdate /force и переподключитесь.Диагностика: куда смотреть, если не печатает
Работайте от клиента к серверу, так быстрее. Не прыгайте между уровнями.
Шаг 1. Печатает ли принтер локально
Отправьте пробную страницу прямо на клиентском компьютере, вне RDP. Если не печатает — проблема не в терминальном сервере, ищите её на самом принтере, кабеле, сетевой настройке.
Шаг 2. Есть ли принтер в сеансе
В «Устройствах и принтерах» на сервере ищите устройство с пометкой «перенаправлено». Нет — вернитесь к настройкам клиента и политикам.
Шаг 3. Печатает ли из Блокнота
Откройте Блокнот в сеансе и напечатайте тестовую строку на ту же очередь. Получилось — проблема точно внутри 1С или конкретной печатной формы. Не получилось — проблема в слое Windows.
Шаг 4. Журнал событий
Откройте «Просмотр событий» на сервере и перейдите:
Журналы приложений и служб → Microsoft → Windows → TerminalServices-Printers → Admin
В этом журнале видно, почему принтер не удалось создать: не найден драйвер, превышен лимит, отказано в доступе. Для ошибок самой очереди смотрите журнал PrintService.
Шаг 5. Лимиты и особые случаи
- Если у пользователя больше десятка принтеров на клиенте, вход в сеанс замедляется, а некоторые принтеры могут не создаться. Включите «Перенаправлять только принтер клиента по умолчанию».
- Сетевые принтеры клиента (по IP) лучше подключать напрямую с сервера, если сервер видит их в сети. Так нагрузка не идёт через канал RDP.
- Для USB-принтеров на клиенте перенаправление работает штатно. Для драйверов, требующих собственного монитора порта, нужен универсальный драйвер на сервере.
Если у вас десятки пользователей и разные модели принтеров, не чините каждый случай вручную. Договоритесь о типовом наборе: например, «все офисные печатают через Easy Print, чековые и этикеточные принтеры подключаются как сетевые и закрепляются за серверами». Это сэкономит часы.