Погодин Евгений — ИТ Заметки
🖥️Windows Server Обновлено 04.11.2026

Windows Server с нуля 09. Сервер печати: принтеры, драйверы, развёртывание через GPO

Note

Материал сверен с официальной документацией (Microsoft Learn и др.; ссылки — в конце статьи). Примеры вывода — иллюстрации: на вашем сервере значения и формат могут отличаться. Перед работой на боевом сервере проверьте шаги на тестовой машине.

Пока принтер один, его подключают к компьютеру и забывают. Когда принтеров несколько, а пользователей десятки, удобнее настроить их один раз на сервере и раздать клиентам: драйверы лежат в одном месте, права выдаются группами, очередь видна администратору. В Windows Server за это отвечает роль Print and Document Services (службы печати и документов). В нашей сети её выполняет FS1 (192.168.10.30) — тот же сервер, что хранит общие папки.

В этой статье вы:

  • разберётесь, из чего состоит печать в Windows и чем драйверы v3 отличаются от v4;
  • установите роль и добавите сетевой принтер в консоли Print Management и в PowerShell;
  • зададите права печати группой и опубликуете принтер в Active Directory;
  • раздадите принтеры клиентам через групповые политики двумя способами;
  • примените меры против PrintNightmare и научитесь разбирать зависшие очереди.

Что нужно знать заранее

В примерах принтер бухгалтерии называется PRN-ACC1 и имеет адрес 192.168.10.61, клиент — PC1. Адреса учебные: подставьте свои.

Как устроена печать в Windows

Документ проходит несколько звеньев, и сбой возможен в каждом. Запомните четыре понятия:

  • принтер (логический принтер, очередь) — объект Windows, в который отправляют документы; к одному устройству можно создать несколько очередей с разными настройками;
  • драйвер — модуль, который превращает документ в язык, понятный устройству (например, PCL, PostScript или XPS — языки описания страниц);
  • порт — «адрес» устройства; для сетевых принтеров это TCP/IP-порт с IP-адресом или именем;
  • Print Spooler (служба Spooler, «спулер») — принимает задания, складывает их в папку C:\Windows\System32\spool\PRINTERS и по очереди отдаёт устройству. Остановите службу — не заработает ни одна очередь.

Когда принтер сделан общим, клиент подключается к нему по пути \\FS1.lab.example\PRN-ACC1. Механизм, который при этом доставляет драйвер, называется Point and Print (в русскоязычных материалах встречается перевод «указание и печать»).

Драйверы v3 и v4

Модель драйверов описана в архивной документации Windows Server 2012; в основе она остаётся прежней:

v3 v4
Появились Windows 2000 Windows 8 и Windows Server 2012
Устройство отдельный драйвер производителя на каждую модель общий class driver на язык печати плюс модельные драйверы
Что получает клиент файлы драйвера с сервера (Point and Print) драйвер из своего хранилища, Windows Update или WSUS; сервер драйвер не раздаёт
Другие архитектуры на сервере нужны дополнительные драйверы под каждую дополнительные драйверы не нужны
Как узнать — поле Version в свойствах драйвера; у встроенных class-драйверов в имени есть «class driver»

Практическое правило: для современного сетевого принтера сначала проверьте встроенный class driver (v4) или Microsoft IPP Class Driver (IPP — Internet Printing Protocol, стандартный протокол сетевой печати): v4 рекомендуется везде, где возможно. Драйвер производителя нужен, если без него недоступны нужные функции (лотки, учёт, финишер); берите его только у производителя, под Windows Server x64. На Windows для ARM v3-драйверы не поддерживаются.

Microsoft сворачивает обслуживание сторонних драйверов; подробности и сроки — во врезке «Состояние на ноябрь 2026 года» ниже.

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

Роль ставится так же, как другие (см. Windows Server с нуля 02): в Диспетчере серверов Manage → Add Roles and Features → Print and Document Services, служба ролей Print Server. Или одной командой:

Install-WindowsFeature -Name Print-Server -IncludeManagementTools

В Server Core компоненты печати по умолчанию отключены; включают их той же командой. После установки консоль Print Management открывается из меню Tools Диспетчера серверов или командой printmanagement.msc.

Практика: добавляем принтер

Сетевому принтеру нужен постоянный адрес, иначе порт «потеряет» устройство после смены IP. Закрепите адрес резервированием в DHCP (область из статьи про DHCP должна охватывать этот адрес) или задайте его статически на самом принтере. Команды шагов 2 и 3 выполняйте на FS1 в Windows PowerShell 5.1 от имени администратора.

Шаг 1. Драйвер. Скачайте драйвер для вашей модели (Windows Server, x64) и распакуйте на FS1, например в C:\Drivers\PRN-ACC1. В консоли Print Management: Print Servers → FS1 → Drivers → правый щелчок → Add Drivers, затем в мастере укажите папку с INF-файлом. Берите драйверы только у производителя: по умолчанию ставить драйверы на сервер печати могут лишь администраторы (подробнее в разделе о безопасности).

Шаг 2. Порт и принтер. В той же консоли: Printers → правый щелчок → Add Printer; мастер предлагает добавить принтер TCP/IP или веб-служб по IP-адресу или имени узла (Add a TCP/IP or Web Services Printer by IP address or hostname) и спросит драйвер, имя и общий доступ. То же в PowerShell; порт и драйвер должны существовать до Add-Printer:

Add-PrinterPort -Name 'IP_192.168.10.61' -PrinterHostAddress '192.168.10.61'
Add-Printer -Name 'PRN-ACC1' -DriverName '<ИМЯ_ДРАЙВЕРА>' `
    -PortName 'IP_192.168.10.61' -Location 'Бухгалтерия' `
    -Shared -ShareName 'PRN-ACC1'

<ИМЯ_ДРАЙВЕРА> — название драйвера в том виде, в каком его показывают мастер и Get-PrinterDriver. Если драйвер уже находится в хранилище драйверов сервера, зарегистрировать его можно командой Add-PrinterDriver -Name '<ИМЯ_ДРАЙВЕРА>'.

Шаг 3. Проверка на сервере.

Get-Printer -Name 'PRN-ACC1' |
    Format-List Name, DriverName, PortName, Shared, ShareName, Published

Пример вывода:

Name       : PRN-ACC1
DriverName : <ИМЯ_ДРАЙВЕРА>
PortName   : IP_192.168.10.61
Shared     : True
ShareName  : PRN-ACC1
Published  : False

Шаг 4. Проверка на клиенте. С PC1 подключите принтер и отправьте тестовый документ:

Add-Printer -ConnectionName '\\FS1.lab.example\PRN-ACC1'
Get-Printer | Where-Object Name -like '*PRN-ACC1*'

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

Тестовую очередь потом убирают командами Remove-Printer -Name 'PRN-ACC1' и Remove-PrinterPort -Name 'IP_192.168.10.61'.

Права на печать

Права на принтер три (по архивной документации WS 2012). Print — подключаться, печатать и управлять своими документами. Manage Documents — управлять заданиями всех пользователей. Manage Printers — ставить очередь на паузу, менять настройки спулера, общий доступ, права и свойства. Отдельно есть права на уровне сервера: Manage Server позволяет создавать и удалять очереди и порты («делегированный администратор печати»), но добавлять драйверы по-прежнему могут только члены группы Administrators.

При создании очереди право Print по умолчанию получает группа Everyone. Это нужно исправить: в свойствах принтера, вкладка Security, удалите Everyone и добавьте LAB\GG-Accounting с правом Print. По схеме AGDLP из Windows Server с нуля 05 права выдают доменной локальной группе, в которую входит глобальная; для одного принтера мы упрощаем и даём Print сразу глобальной группе.

Публикация в Active Directory

Общий принтер можно опубликовать в каталоге: тогда пользователи найдут его поиском в домене, без ввода пути. Публикация включается параметром -Published у Add-Printer и Set-Printer. После создания принтера любым способом проверьте свойство Published (оно есть в выводе Get-Printer выше), чтобы знать, опубликован ли он. Устаревшие записи (принтеры, которых больше нет) удаляет из каталога процесс pruning, и выполняет его спулер контроллера домена. К этому мы вернёмся в разделе о безопасности.

Как подключить принтеры клиентам

Вручную пользователь вводит \\FS1.lab.example\PRN-ACC1 в Проводнике или выполняет Add-Printer -ConnectionName. Для десятков машин это неудобно, поэтому принтеры раздают политиками. Есть два способа.

Deploy with Group Policy Group Policy Preferences → Printers
Где настраивается консоль Print Management, правый щелчок на принтере редактор GPO, раздел Preferences
Кому пользователям (per user) или компьютерам (per machine) пользователям или компьютерам; точная адресация (item-level targeting)
Действия подключение добавляется; снимается, когда запись удалена из GPO Create, Replace, Update, Delete
Особенность подключение добавляется при входе или обновлении политики элемент остаётся после выхода из области политики, пока не включён флажок Remove this item

Deploy with Group Policy

В Print Management: Printers → правый щелчок на принтере → Deploy with Group Policy → Browse (выбрать или создать GPO) → отметить per user и (или) per machine → Add → OK. Для per machine Windows добавляет подключения, когда пользователь входит в систему, для per user — при фоновом обновлении политики. Если удалить запись из GPO, принтеры снимаются на ближайшем обновлении политики или при входе. Подключённые так принтеры пользователь не может удалить без учётных данных администратора домена: отсюда «неубиваемые» принтеры (по архивной документации Windows Server 2012 R2). Способ описан только в архивных документах (Windows Server 2008 и 2012 R2): после изменений 2021 года, о которых ниже, проверяйте его на тестовом ПК.

Group Policy Preferences

Group Policy Preferences (GPP, «предпочтения групповой политики») — раздел GPO, где настройки задаются как предпочтения. Для принтеров он удобнее: принтер можно назначить группе безопасности и менять без пересоздания подключения. Политику, как в Windows Server с нуля 06, сначала привязывают к пилотному OU Pilot, где лежит petrova:

$base  = (Get-ADDomain).DistinguishedName
$pilot = "OU=Pilot,OU=Staff,$base"
New-GPO -Name 'USR-Printers-Accounting'
New-GPLink -Name 'USR-Printers-Accounting' -Target $pilot

Затем в редакторе GPO: User Configuration → Preferences → Control Panel Settings → Printers → New → Shared Printer.

  • Action: Update создаёт подключение, если его нет, и меняет только заданные параметры; Replace пересоздаёт подключение целиком.
  • Share Path: \\FS1.lab.example\PRN-ACC1 (то же полное имя, что в списках доверенных серверов ниже).
  • Вкладка Common: включите Item-level targeting и добавьте условие по группе безопасности LAB\GG-Accounting, остальные параметры оставьте по умолчанию. Флажок Remove this item when it is no longer applied снимает принтер у тех, кто вышел из области политики, но превращает действие в Replace: подключение пересоздаётся при каждом применении политики.

Драйвер при подключении ставится по правилам Point and Print (раздел о безопасности ниже). Документация не описывает, обходит ли GPP ограничение на установку драйверов, введённое в 2021 году, поэтому заранее установите драйвер на клиенты или включите его в образ системы и проверьте подключение на тестовом ПК.

Проверка на PC1: войдите как petrova (она в Pilot и в GG-Accounting), выполните gpupdate /force и посмотрите Get-Printer. Если принтера нет, начните с отчёта gpresult /h "$env:TEMP\gp.html". Когда всё работает, расширьте область (как в статье про GPO), а при проблемах откатите привязку:

$staff = "OU=Staff,$base"
New-GPLink -Name 'USR-Printers-Accounting' -Target $staff
Remove-GPLink -Name 'USR-Printers-Accounting' -Target $pilot
# откат: Remove-GPLink -Name 'USR-Printers-Accounting' -Target $staff

После расширения области на Staff войдите как ivanov: принтер появляться не должен, его отсекает условие по группе GG-Accounting.

Чтобы убрать принтер у пользователей, измените действие в элементе на Delete (флажок Remove this item для него недоступен) либо выведите пользователей из области элемента.

Безопасность печати: PrintNightmare

В 2021 году в службе Print Spooler нашли уязвимость удалённого выполнения кода (идентификатор CVE-2021-34527, «PrintNightmare»). Обновления безопасности от 6 июля 2021 года и позже содержат защиту от неё и меняют правила установки драйверов (подробности — в документах Microsoft из «Источников»). Что нужно сделать:

  1. Ставьте обновления на все машины со службой печати, начиная с серверов печати (Windows Server с нуля 10).
  2. Разрешите ставить драйверы только администраторам. Значение RestrictDriverInstallationToAdministrators в ветке HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint равно 1 или не задано: в обоих случаях драйвер может установить только администратор. Обновления от 10 августа 2021 года включают это по умолчанию. Значение 0 делает устройства уязвимыми: не ставьте его «чтобы заработало». После обновлений от 12 октября 2021 года то же задаёт политика Limits print driver installation to Administrators (Computer Configuration → Administrative Templates → Printers).
  3. Ограничьте Point and Print. Политика Point and Print Restrictions: Enabled, оба пункта («When installing drivers for a new connection» и «When updating drivers for an existing connection») — Show warning and elevation prompt. Дополнительно включите Users can only point and print to these servers и перечислите fs1.lab.example: имя должно совпадать с тем, по которому подключаются клиенты, поэтому везде используйте полное имя. Значения NoWarningNoElevationOnInstall и UpdatePromptSettings должны быть 0 или не заданы. Пункт 2 действует вместе с этим. Русские названия политик зависят от перевода.
  4. Не держите спулер там, где он не нужен. Любой аутентифицированный пользователь может удалённо обратиться к службе печати контроллера домена и добиться раскрытия учётных данных компьютерной учётной записи. Поэтому Microsoft Defender for Identity рекомендует отключать Print Spooler на контроллерах домена и административных системах AD; способ — GPO. Руководство по службам Windows Server 2016 занимает другую позицию: отключение допустимо, если сервер не сервер печати и не контроллер домена, потому что на контроллере спулер выполняет pruning (минимум на одном контроллере в сайте). Выбор — компромисс: если вы публикуете принтеры в AD и отключаете спулер, устаревшие записи придётся чистить вручную; если не публикуете, спулер на контроллерах стоит отключить.

Политики из пунктов 2 и 3 соберите в одну GPO CMP-PointAndPrint (префикс CMP- — для компьютерных политик, как в Windows Server с нуля 06). Ошибка в них способна остановить установку драйверов у обычных пользователей, поэтому сначала ограничьте GPO пилотным компьютером PC1:

$base = (Get-ADDomain).DistinguishedName
New-GPO -Name 'CMP-PointAndPrint'
New-GPLink -Name 'CMP-PointAndPrint' -Target "OU=Workstations,$base"
Set-GPPermission -Name 'CMP-PointAndPrint' -TargetName 'PC1' `
    -TargetType Computer -PermissionLevel GpoApply
Set-GPPermission -Name 'CMP-PointAndPrint' -TargetName 'Authenticated Users' `
    -TargetType Group -PermissionLevel GpoRead -Replace

Проверьте подключение принтера на PC1. Затем верните Authenticated Users право GpoApply и привяжите GPO к OU Servers (там FS1). Откат: Remove-GPLink -Name 'CMP-PointAndPrint' -Target "OU=Workstations,$base".

Warning

Сначала отключите службу локально на одном контроллере, например DC2, и убедитесь, что с него никто не печатает: Set-Service -Name Spooler -StartupType Disabled и Stop-Service -Name Spooler. Только потом создайте GPO CMP-Spooler-DC (Computer Configuration → Policies → Windows Settings → Security Settings → System Services → Print Spooler → Disabled), привяжите к OU Domain Controllers и, как CMP-PointAndPrint выше, оставьте в Security Filtering только DC2 (пилот); остальные контроллеры добавляйте по одному. Откат: верните в политике явное значение Automatic (одно снятие привязки через Remove-GPLink -Name 'CMP-Spooler-DC' -Target "OU=Domain Controllers,$base" может не вернуть прежнее состояние службы), выполните gpupdate /force и Start-Service -Name Spooler. Печатать с контроллера домена не нужно: сервер печати у нас — FS1.

Состояние службы проверяют командой:

Get-Service -Name Spooler | Format-List Name, Status, StartType

Диагностика

Двигайтесь от устройства к клиенту: принтер включён и доступен по сети; на сервере работает спулер и есть место на диске; на очереди выбран правильный драйвер; печать работает с другого клиента. Команды выполняйте на FS1; с рабочей станции для Get-Printer, Get-PrintJob и Remove-PrintJob добавьте -ComputerName FS1, а Restart-Service запускайте только на самом FS1:

Get-Service -Name Spooler
Get-Printer | Format-Table Name, DriverName, PortName
Get-PrinterDriver
Get-PrintJob -PrinterName 'PRN-ACC1'
Remove-PrintJob -PrinterName 'PRN-ACC1' -ID 12
Restart-Service -Name Spooler

Для временных сбоев сначала перезапустите службу. Если очередь «залипла» полностью, остановите спулер, переместите содержимое папки C:\Windows\System32\spool\PRINTERS и запустите службу снова. Задания из очереди пропадут, пользователям придётся отправить документы заново.

Stop-Service -Name Spooler
New-Item -ItemType Directory -Path C:\Temp\spool-old -Force
Move-Item -Path C:\Windows\System32\spool\PRINTERS\* `
    -Destination C:\Temp\spool-old
Start-Service -Name Spooler

Когда причина найдена, удалите C:\Temp\spool-old: в этих файлах лежат данные документов. Если задания «залипают» снова, проверьте, не сканирует ли папку спула антивирус. Подробности сбоев ищите в журналах событий: в Event Viewer для печати есть раздел PrintService.

Note

Состояние на ноябрь 2026 года (проверьте актуальность по ссылкам в «Источниках»). Microsoft поэтапно прекращает обслуживание сторонних драйверов v3 и v4. План относится к Windows 11 и Windows Server 2025 и новее (Windows Server 2022 в нём не упомянут). По странице плана, обновлённой в мае 2025 года: с 15 января 2026 новые драйверы не публикуются в Windows Update, с 1 июля 2026 при выборе драйвера всегда предпочитается встроенный Microsoft IPP Class Driver, с 1 июля 2027 обновления сторонних драйверов допускаются только по безопасности. Существующие драйверы по-прежнему можно устанавливать, а отключать функции v3 и v4 Microsoft не планирует. Кроме того, есть режим Windows protected print mode (политика Configure Windows protected print в Computer Configuration → Administrative Templates → Printers): он запрещает установку сторонних драйверов и рассчитан на принтеры, сертифицированные Mopria (отраслевой стандарт совместимости), как и встроенный IPP-драйвер. Не включайте его на клиентах, которым нужны общие очереди со сторонними драйверами, пока не проверили совместимость; с клиента, где режим включён, нельзя управлять сервером с выключенным режимом через Print Management.

Типичные ошибки и недоразумения

  • При подключении принтера пользователя просят пароль администратора. После обновлений 2021 года установка драйвера через Point and Print требует прав администратора. Варианты по документации Microsoft: драйвер в образе системы или ввод учётных данных администратора. Неизвестно, обходит ли это ограничение GPP-элемент: проверяйте на тестовом ПК. Не отключайте защиту ради удобства.
  • Принтер «пропал» после смены адреса. Порт указывает на IP-адрес; задайте принтеру резервирование в DHCP.
  • Права остались у Everyone. Право Print по умолчанию получает Everyone; уберите его и выдайте права группе.
  • Принтер из GPO «возвращается» или «не удаляется». Deploy with Group Policy подключает принтер при входе и обновлении политики; убирайте запись в GPO. Элементы GPP остаются без флажка Remove this item when it is no longer applied; включите его или используйте действие Delete.
  • Сервер печати на контроллере домена. Рекомендация Defender for Identity — отключать спулер на контроллерах, а сервер печати без спулера не работает. Роль отдайте отдельному серверу.
  • Поставили RestrictDriverInstallationToAdministrators = 0, «чтобы заработало». Так вы возвращаете устройство в уязвимое состояние. Решайте вопрос драйверов образом системы.

Проверьте себя

  1. Какие четыре объекта участвуют в печати и что делает Print Spooler? Принтер (очередь), драйвер, порт и служба Print Spooler; спулер принимает задания, складывает их в папку spool\PRINTERS и отдаёт устройству по очереди.
  2. Чем драйвер v4 отличается от v3 с точки зрения клиента? У v4 сервер не раздаёт драйвер: клиент берёт его из своего хранилища, Windows Update или WSUS; у v3 файлы драйвера копируются с сервера.
  3. Какое состояние RestrictDriverInstallationToAdministrators рекомендуется и от чего защищает базовая мера против PrintNightmare? Значение 1 или отсутствие ключа в системе с обновлениями от 10 августа 2021 года: драйверы ставят только администраторы. Это дополнительная мера; базовая защита от CVE-2021-34527 — обновления и значения 0 у NoWarningNoElevationOnInstall и UpdatePromptSettings.
  4. Почему принтер, назначенный через GPP, может остаться после того, как пользователь вышел из области политики? Элементы Preferences по умолчанию не удаляются; нужен флажок Remove this item when it is no longer applied (он превращает действие в Replace) или действие Delete.
  5. Какие две позиции Microsoft есть про Print Spooler на контроллерах домена? Defender for Identity рекомендует отключать его: так закрывается удалённый доступ к спулеру. Руководство по службам Windows Server 2016 считает контроллер исключением: спулер нужен для pruning. Компромисс: при отключении устаревшие записи принтеров из AD не удаляются автоматически.

Что дальше

Источники

Ещё по теме «Windows Server»