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 и научитесь разбирать зависшие очереди.
Что нужно знать заранее
- Windows Server с нуля 08. Файловый сервер:
FS1и обращение к ресурсам по UNC-пути (запись вида\\сервер\ресурс). - Windows Server с нуля 05. Пользователи, группы и OU: группа
GG-Accounting(толькоpetrova). - Windows Server с нуля 06. Групповые политики: пилотное OU
Pilot, префиксыUSR-иCMP-, откат. - Windows Server с нуля 07. DHCP-сервер: резервирование адреса.
В примерах принтер бухгалтерии называется 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 из «Источников»). Что нужно сделать:
- Ставьте обновления на все машины со службой печати, начиная с серверов печати (Windows Server с нуля 10).
- Разрешите ставить драйверы только администраторам. Значение
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). - Ограничьте 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 действует вместе с этим. Русские названия политик зависят от перевода. - Не держите спулер там, где он не нужен. Любой аутентифицированный пользователь может удалённо обратиться к службе печати контроллера домена и добиться раскрытия учётных данных компьютерной учётной записи. Поэтому 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, «чтобы заработало». Так вы возвращаете устройство в уязвимое состояние. Решайте вопрос драйверов образом системы.
Проверьте себя
- Какие четыре объекта участвуют в печати и что делает Print Spooler?
Принтер (очередь), драйвер, порт и служба Print Spooler; спулер принимает задания, складывает их в папку
spool\PRINTERSи отдаёт устройству по очереди. - Чем драйвер v4 отличается от v3 с точки зрения клиента? У v4 сервер не раздаёт драйвер: клиент берёт его из своего хранилища, Windows Update или WSUS; у v3 файлы драйвера копируются с сервера.
- Какое состояние
RestrictDriverInstallationToAdministratorsрекомендуется и от чего защищает базовая мера против PrintNightmare? Значение 1 или отсутствие ключа в системе с обновлениями от 10 августа 2021 года: драйверы ставят только администраторы. Это дополнительная мера; базовая защита от CVE-2021-34527 — обновления и значения 0 уNoWarningNoElevationOnInstallиUpdatePromptSettings. - Почему принтер, назначенный через GPP, может остаться после того, как пользователь вышел из области политики? Элементы Preferences по умолчанию не удаляются; нужен флажок Remove this item when it is no longer applied (он превращает действие в Replace) или действие Delete.
- Какие две позиции Microsoft есть про Print Spooler на контроллерах домена? Defender for Identity рекомендует отключать его: так закрывается удалённый доступ к спулеру. Руководство по службам Windows Server 2016 считает контроллер исключением: спулер нужен для pruning. Компромисс: при отключении устаревшие записи принтеров из AD не удаляются автоматически.
Что дальше
- Windows Server с нуля 10. Обновления: Windows Update и WSUS — как держать сервер печати и клиентов в актуальном состоянии.
- Windows Server с нуля 12. Безопасность и обслуживание — регулярные проверки и защита учётных записей.
- Windows Server с нуля 11. Резервное копирование — как вернуть сервер печати вместе с очередями.
Источники
- Features removed or no longer developed in Windows Server — компоненты печати в Server Core,
Install-WindowsFeature Print-Server - PrintManagement module — командлеты
Add-Printer,Add-PrinterPort,Add-PrinterDriver,Get-Printer,Get-PrintJob,Remove-PrintJob, параметр-Published - Printer Sharing Technical Details — Point and Print, v3 и v4, публикация в AD, подключения, выдаваемые политикой (архив, WS 2012 R2)
- Configure Print and Document Services — драйверы v4 и class driver, добавление драйверов и очереди в Print Management и PowerShell (архив, WS 2012)
- Deploy printer connections — диалог Deploy with Group Policy, per user и per machine, снятие принтеров (архив, WS 2008)
- Working with Control Panel Settings Preference Items Using the GPMC — путь к элементу Shared Printer, действия Create, Replace, Update, Delete (архив, WS 2012 R2)
- Working with Group Policy Preference Items Using the GPMC — общие параметры элементов, Remove this item, item-level targeting (архив, WS 2012 R2)
- Assign Delegated Print Administrator and Printer Permission Settings — права Print, Manage Documents, Manage Printers, Manage Server (архив, WS 2012)
- Security guidelines for system services in Windows Server 2016 — Print Spooler и pruning на контроллере домена (WS 2016)
- KB5005010: Restricting installation of new printer drivers — PrintNightmare (CVE-2021-34527), Point and Print Restrictions
- KB5005652: Manage new Point and Print default driver installation behavior —
RestrictDriverInstallationToAdministrators, политика Limits print driver installation to Administrators, список доверенных серверов - Microsoft Defender for Identity: Identity infrastructure — отключение Print Spooler на контроллерах домена, компромисс с pruning
- End of servicing plan for third-party printer drivers on Windows — сроки прекращения обслуживания сторонних драйверов
- Windows protected print mode for enterprises — запрет сторонних драйверов, политика, управление серверами печати
- Troubleshooting scenarios for printing — спулер, папка спула, антивирус