Думаю, многие наступили и мучаются с локально установленным USB принтером, который надо отдать в сеть для печати с других ПК. Microsoft несколько месяцев назад в пылу борьбы с очередной уязвимостью поломало данный механизм, призналось что "сломалось, ждите, починим" и собственно на этом все.

По состоянию на 23.12.2021 попытка подключить такой принтер на другом ПК после установки всех обновлений ("принт-сервер" win10, клиенты win10, win11 - другие не проверял) уже перестало давать ошибку подключения, но печатать от этого не стало.

И вот на просторах интеренета проскочило что с линукса оно ж печатает!! как? почему?

И тут вспоминаем, что, собственно, в Win10 есть родная подсистема печати для Linux. Раздел Windows Features / Print and Document Services / LPD Print Service. А почему бы и не попробовать?

Итого алгоритм:

  1. Обновляемся до последних обновлений.

  1. Подключаем принтер как сетевой. он скорее всего установится, но печатать не будет. или ошибка, или "в никуда". этот пункт нужен чтоб корректно подтянулись драйвера принтера. Если принтер стандартный или есть драйвера для установки с носителя - этот пункт в общем то и не нужен.

  2. Ставим на клиентах и на сервер LPD Print Service. По идее досточно только клиентов, но я ставил и там, и там.

  3. Устанавливаем новый принтер ( через "моего принтера нет в списке" ) как локальный, создав ему новый порт типа LPD. Который, в свою очередь, смотрит на сетевой расшаренный принтер. Выбираем нужный драйвер, если есть в списке, ставим с носителя или выбираем вообще любой из раздела Microsoft.

  4. Завершаем установку.

  5. Если в пункте 4 вам пришлось выбрать "левый" драйвер - то заходим в свойства вновь созданого принтера и в разделе Printer Properties/ Advanced меняем драйвер на установленый из пункта 2. Закрываем.

Готово! Печать по сети опять работает.

Удалять или нет принтер, который установился в п.2 - дело ваше. Работать не мешает, хотя и путается. Можно удалить, можно переименовать до лучших времен.

Почему такое колдунство работает меня не спрашивайте.Не знаю. Но точно работает - проверено на двух совсем разных принтерах и десятке клиентских машин.

Как такой лайф-хак поведет себя если расшаренный принтер имеет разные права для разных пользователей или другие хитрые права доступа - не проверял за ненадобностью.

Все равно для серьезных задач на работе стоит правильный сетевой принтсервер, а для дома - я пока еще не созрел разворачивать домены с правами на политиках ;-)

Комментарии (22)


  1. Putincev
    26.12.2021 22:18
    +1

    Вместо установки lpd везде на клиенте в качестве local port пробовали указать "\\computername\printername"?

    Более полный перечень действий для особо запущенной ситуации
    1. Удаляете всё отсюда «C:\Windows\System32\spool\drivers\x64\3» и драйвера принтера, если установлены, сами драйвера распаковываете в какой-нибудь каталог, запоминаете где находится inf файл;
    2. Перезапускаете службу диспетчер очереди печати (в командной строке с админ.правами «net stop spooler», затем «net start spooler»);
    3. Добавить локальный или сетевой принтер;
    4. Создать новый порт, local port, указать сетевой адрес (можно ip): \\computername\printername. Убедитесь заранее, что доступ по сетке к этому компу есть, то есть в проводнике по имени или ip комп открывается, и вы видите расшаренный принтер;
    5. Жмёте на «у меня есть диск», указываете каталог с inf файлом;
    6. Всё.



    1. ded_Pihto Автор
      26.12.2021 22:30
      +1

      Подобное я пробовал, это был самый первый вариант, еще в октябре когда Майки сломали сетевую печать. и по IP и по имени хоста. Но у меня такой вариант не прошел. Принтер (точнее МФУ) Canon 4400 так печатать по сети не согласился. С LPD - без проблем.


      1. aik
        27.12.2021 06:41

        У меня где было настроено таким методом — а это печать с ХР на десятку, к примеру — никаких проблем не возникало с печатью во время всех этих апдейтов.
        А вот где «зашел по сети и нажал подключить принтер» — там вопросы были.

        Так что это lpr-lpd — только если действительно не работает локальный порт вида \\комп\принтер


        1. levkib
          27.12.2021 07:33

          У вас идет печать с XP на десятку. А проблема как раз наоборот - майкрософт сломали печать С десятки НА расшаренные ресурсы без пароля. Поэтому там магия \\комп\принтер не прокатывает.


          1. aik
            27.12.2021 08:19

            Из статьи:

            «принт-сервер» win10


            1. levkib
              27.12.2021 08:41

              Чуть дальше в этих же скобках - "клиенты win10, win11 - другие не проверял"


              1. aik
                27.12.2021 09:31

                Клиенты — это те, кто подключаются.
                То есть печать у автора идёт с 10 и 11 на 10.


  1. Javian
    27.12.2021 06:02
    +1

    Круговорот граблей в Windows. Несколько лет назад именно так решал проблему печати по сети.


  1. m0hn
    27.12.2021 07:33

    Добрый человек, спасибо тебе за хорошую подсказку. Пошел переделывать.


  1. axe_chita
    27.12.2021 08:31

    В закладки и обязательно проверить работоспособность, поскольку на эти грабли наступил в конце ноября. «Подключить сетевой принтер? Тут делов то на 5 минут! Что может пойти не так?» :)


  1. DaemonGloom
    27.12.2021 08:48
    +3

    Можно просто на принт-сервере в ключе HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print добавить/изменить параметр DWORD с именем RpcAuthnLevelPrivacyEnabled в 0. После перезагрузки печать будет работать. Всё равно вы всё шифрование сторонним софтом убираете.


    1. levkib
      27.12.2021 08:59

      Интересно а на 7 винде котрая в качестве принт-сервера работает это прокатит?


      1. DaemonGloom
        27.12.2021 09:06

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


      1. zhenyat
        27.12.2021 12:36

        В середине декабря, после установки свежих обновлений, связка принт сервер на 7-ке, клиент на 10-ке, восстановила работу


    1. simplix
      27.12.2021 15:14

      После перезагрузки печать будет работать.
      Достаточно net stop spooler & net start spooler


  1. Lokky777
    27.12.2021 12:24

    Спасибо. Буду иметь на вооружении. Тоже намучился с этой проблемой. После обновления win10 перестал видеть принтер расшареный по сети Canon MF3010. Пару часов помучился с настройкой и дровами, ничего не получилось. Удалил "обновления безопасности" которые пришли и всё заработало.


  1. psycho-coder
    27.12.2021 19:33

    А есть варианты решения с локальной печатью при подключении по USB? Стоит МФУ, скан работает печать нет. Дрова встают без проблем, но принтер не видит. Win10 сборку не подскажу, нет под рукой. В сети находил варианты какие-то, но ни один не подошел. Возможно из-за того, что это ноут, а не стационарный


    1. Javian
      27.12.2021 19:41

      Надо идти от драйвера - Windows сам поставил или c офсайта производителя принтера. Если от Windows или от Win7 - поискать другую версию, удалив текущую.


      1. psycho-coder
        27.12.2021 19:45

        Проблема в том, что закрывая дыру, MS сломал печать с локальных принтеров. С дровами все в порядке


    1. xRay
      28.12.2021 00:22

      Посмотрите на какой порт принтер подключен. Нужно выбрать порт USB001. Подробнее тут helpadmins.ru/kak-podklyuchit-printer-hp-laserjet-1010-v-win10


      1. psycho-coder
        28.12.2021 00:45

        Вот тут прикол начинается — такого порта нет)
        При попытке создать, не нашел его вариант. Есть LPT порты, но они не подходят


  1. anshev0
    27.12.2021 20:47

    Старинный принтер HP LaserJet 3050 запечатал дома по сети с ноутбков. Жаль было с ним расставаться так цена отпечатка без бумаги близка к 0 с перезаправленными картриджами, но думал, что насовсем отрубилась возможность печатать по сети у старичка, ан нет ещё поработает. Спасибо.