ПоискНавигация |
Подключаем сетевые принтеры автоматическиВстала передомной задача перенести сервис печати с NetWare сервера, на Windows сервер. Накидать принтеров на сервер это быстро, а вот как быть с пользователями? Не бегать же по 130+ (а у кого-то и больше, а у кого-то и в другом городе:)) компьютерам и не переустанавливать принтеры заново? Конечно же нет, будем автоматизировать. В AD у меня все в порядке, отделы разбиты на Organization Units, в них сделаны кабинеты. Что нужно? Нужно привязать принтер к компьютеру, не к человеку, а именно к компьютеру потому, что человеки могут прыгать с компьютера на компьютер, из отдела в отдел, из кабинета в кибинет. Одна бухгалтерия чего стоит, поэтому нужно чтобы на ближайшем принтере сотрудик мог распечатать свои документы. Ну вот, задача ясна, пишем, кому лень ;) смотрим текст ниже. 'Имя сервера печати SrvName="\\asu08-uptk" Set objSysInfo = CreateObject("ADSystemInfo") 'Получаем полное имя компа со всем OU strComputer = objSysInfo.ComputerName 'Функия поиска нужного OU в Function InOU(strOU) InOU=False If InStr(strComputer, "OU=" & strOU ) Then InOU=True End If End Function Function AddPrint(PrnNameAdd, bDef) Set WshNetwork = CreateObject("WScript.Network") Set Printers = WshNetwork.EnumPrinterConnections i = 0 bPrn=False While i<= Printers.Count-1 PrnName = Printers.Item(i+1) 'Если принтер уже подключен, то все хорошо if PrnName = SrvName&"\"&PrnNameAdd then bPrn=True end if i=i+2 Wend 'Если принтер не подключен, то попробуем его подключить If bPrn = False Then On Error Resume Next WshNetWork.AddWindowsPrinterConnection(SrvName&"\"&PrnNameAdd) if Err.Number <> 0 then WScript.Echo("Случилось страшное, скрипт не смог подключить принтер: _ "&SrvName&"\"&PrnNameAdd+Chr(13)+"Звоните в отдел АСУ 2-01.") end if if bDef On Error Resume Next WshNetWork.SetDefaultPrinter(SrvName&"\"&PrnNameAdd) if Err.Number <> 0 then WScript.Echo("Случилось страшное, скрипт не смог установить принтер поумолчанию:_ "&SrvName&"\"&PrnNameAdd+Chr(13)+"Звоните в отдел АСУ 2-01.") end if end if End If End Function 'Пример использования 'Подключаем принтер к компьютеру в OU=501 и делаем его принтером поумолчанию if InOU(501) then AddPrint "HP LaserJet 5200 PCL 5e (ОФУиК 501)", True End If 'Тоже самое для OU=503/504 if InOU(503) then AddPrint "HP LaserJet 5200 PCL 5e (ОФУиК 502-503)", True End If if InOU(504) then AddPrint "HP LaserJet 5200 PCL 5e (ОФУиК 502-503)", True End If 'Для OU=505 просто подключаем этот принтер if InOU(505) then AddPrint "HP LaserJet 5200 PCL 5e (ОФУиК 502-503)", False End If
|
Вход для пользователейНовые записи в блогах
Сейчас на сайтеСейчас на сайте 0 пользователей и 1 гость.
|