Назад | Перейти на главную страницу

Настольное сетевое управление принтером в среде Active Directory

Сейчас все наши сетевые принтеры подключены к одному серверу Windows. Затем принтеры развертываются на рабочих столах с помощью групповой политики.

Однако, если этот сервер выйдет из строя, все сетевые принтеры перестанут работать, и никто не сможет печатать. Очевидно, что какая-то репликация на основе AD была бы фантастической - наличие «горячего резервирования» - это нормально, но нет простого способа перенаправить задания на печать: если мы не добавим ОБЕИХ принтеров к клиентам, но тогда это раздражает ». принтер, который я должен использовать, «Главный принтер на сервере1» или «Главный принтер на сервере2»? ». По этой причине я хотел бы избежать обходных решений для конечных пользователей и, надеюсь, обработать их где-нибудь в апстриме.

Мысли?

Я думал об этом и размышлял над следующим:

  • Настройте выделенную виртуальную машину только для обслуживания печати
  • Клонировать эту виртуальную машину и приостановить (не закрывать)
  • Скопируйте клон на резервный сервер ВМ

Это касается меня в случае сбоя ОС виртуальной машины, а также отказа оборудования на сервере виртуальной машины (поскольку у нас пока нет ничего более сложного, чтобы справиться с аварийным переключением). Восстановление займет менее 15 секунд, так как приостановленная виртуальная машина будет переведена в оперативный режим, и, скорее всего, это может быть сценарий, если я наконец установлю Nagios или что-то подобное ...

«Теплый» режим ожидания, без дублирования на стороне клиента. Я не могу придумать каких-либо серьезных препятствий, но это дает мне возможность изложить теорию и посмотреть, сможет ли кто-нибудь их найти.

Звучит довольно просто.

  • Создайте очереди для принтеров на втором сервере. (Используйте PrintMig или что-то еще для репликации конфигурации. Возможно, подумайте о том, чтобы делать это по повторяющемуся расписанию.)

  • Создайте второй набор объектов групповой политики для развертывания принтеров в очереди на вторичном сервере. Отключите ссылки в этих объектах групповой политики (или отключите пользовательскую часть объектов групповой политики).

  • В случае сбоя включите ссылки на «вторичных» объектах групповой политики развертывания принтера.

В зависимости от инструмента, который вы используете для развертывания принтеров, вам может потребоваться также «отменить развертывание» принтеров на отказавшем сервере.

Если у вас большое количество объектов групповой политики, рассмотрите возможность использования сценария для массового включения / отключения функции.

Из Вот:

«Есть три подхода, о которых я могу думать. Первый (кластеризация), мы можем сделать скидку для всех сетей, кроме самых больших, исходя из стоимости.

Во-вторых, использовать функцию балансировки сетевой нагрузки (NLB) Windows Server 2003. Microsoft не рекомендует использовать ее для обслуживания печати из-за того, что у вас не будет общего хранилища, а очереди печати будут потеряны, если сервер выходит из строя. Тем не менее, я думаю, что для многих людей, если худшее, что произошло при отказе сервера печати, было то, что некоторым пользователям приходилось снова нажимать «Файл | Печать», это не слишком большая травма. Я протестировал это в лабораторных условиях, и мне показалось, что он работает нормально.

Третий подход - использовать второй сервер печати как резервную машину. Отключите строгую проверку имен, как описано в следующей статье.

Подключение к общему ресурсу SMB на компьютере под управлением Windows 2000 или компьютере под управлением Windows Server 2003 может не работать с псевдонимом http://support.microsoft.com/default.aspx?scid=kb;en-us;281308

Затем укажите на всех своих машинах созданный вами псевдоним DNS. Изначально этот псевдоним указывает на главный сервер печати. Периодически используйте служебную программу PrintMig от Microsoft для резервного копирования основного сервера печати и восстановления на резервный сервер. При выходе из строя основного сервера печати переадресуйте псевдоним на резервный сервер.

В худшем случае пользователям, возможно, придется перезагрузиться (или иным образом очистить свои кеши DNS), но это намного лучше, чем отказ сервера печати без резервного копирования и без плана ».

Кластерный принт-сервер.

Полный и полный перебор, но это наилучшее решение вашего вопроса!

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

Это сценарий, который мы использовали для миграции пользователей с сервера печати на сервер печати. Он также сохранит свой выбор принтера по умолчанию.

Если произойдет худшее, вы можете вызвать этот сценарий из существующего сценария входа в систему и просто попросить своих пользователей перезагрузить свои машины / выйти из системы и войти в систему.

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

Вот:

Option Explicit
'On Error Resume Next'

MigratePrint "\\svr-print-01.yourdomain.loc", "\\svr-print-02.yourdomain.loc"

Function MigratePrint(strOldServer, strNewServer)
    Dim strComputer
    Dim strShareName
    Dim objWMIService
    Dim objPrinter
    Dim objItem
    Dim colItems
    Dim WshNetwork
    Dim objshell

    strComputer = "."

    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer",,48)

    For Each objItem in colItems
        If objItem.ServerName = strOldServer Then   
            If objItem.Default = "True" Then
                strShareName = objItem.ShareName
            End If
            WshNetwork.RemovePrinterConnection objItem.ServerName & "\" & objItem.ShareName, True, True
            WshNetwork.AddWindowsPrinterConnection strNewServer & "\" &  objItem.Sharename
        End If
    Next

    Set objPrinter = CreateObject("WScript.Network") 
    objPrinter.SetDefaultPrinter (strNewServer & "\" & strShareName)
End Function