Просмотр полной версии : Как раздать принтер пользователям через GPO?
linka_smith
06.02.2012, 11:06
Здравствуйте, у меня такая ситуация: есть сетевой принтер HP 3390, я его подключила к сети, настроила, поставила от него дрова на на локальный DC сервер, включила у него общий доступ, поставила галочку "внести в AD". Как его теперь подключить всем пользователям в сети? Подходить к каждому компьютеру, лезть через сетевое окружение на сервер и руками подключать пользователю принтер можно, но кажется не правильным. Можно ли это сделать через GPO?
dmitry_a
06.02.2012, 12:36
Set WshNetwork = WScript.CreateObject("WScript.Network")
PrinterPath = "\\printserv\DefaultPrinter"
PrinterDriver = "Lexmark Optra S 1650"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
Это можно сделать приведенным выше VBS скриптом. (взял его из Helpa по vbs,а под определенные нужды, можно поправить по желанию).
linka_smith
06.02.2012, 13:47
а для чего нужен параметр "PrinterDriver = "? Мне казалось, что тут нужно указывать драйвер от принтера, а в вашем примере там написано название этого принтера.
и куда лучше добавить скрипт - в сценарии входа пользователя или же в сценарий запуска компьютера?
dmitry_a
06.02.2012, 14:23
Этот параметр актуален, для w9x +, на современных системах NT/2000 + его можно опустить .
Подключать принтера, пожалуй стоит при запуске компьютера, но должно отрабатывать при входе в систему.
Adds a Windows-based printer connection to your computer system.
Windows NT/2000:
object.AddWindowsPrinterConnection(
strPrinterPath
)
Windows 9x/Me:
object.AddWindowsPrinterConnection(
strPrinterPath,
strDriverName[,strPort]
)
Arguments
object
WshNetwork object.
strPrinterPath
String value indicating the path to the printer connection.
strDriverName
String value indicating the name of the driver (ignored if used on Windows NT/Windows 2000).
strPort
Optional. String value specifying a printer port for the printer connection (ignored on Windows NT/Windows 2000).
Remarks
Using this method is similar to using the Printer option on Control Panel to add a printer connection. Unlike the AddPrinterConnection method, this method allows you to create a printer connection without directing it to a specific port, such as LPT1. If the connection fails, an error is thrown. In Windows 9x/Me, the printer driver must already be installed on the machine for the AddWindowsPrinterConnection method to work. If the driver is not installed, Windows returns an error message.
linka_smith
09.02.2012, 13:20
у меня все получилось, но есть одно НО! Из-за того, что скрипты размещаются в общедоступной папке, любой пользователь может самостоятельно зайти в папку со скриптами и поставить себе любой принтер. А вот доступ к цветному принтеру хотелось бы ограничить, и тут либо приходится колдовать с правами на файл скрипта, либо на доступ к папке. Оба способа не удобны. Может все-таки можно это сделать через GPO?
dmitry_a
11.02.2012, 17:26
'
' COMMENT: Подключение сетевых дисков по группам пользователей.
'
'================================================= =========================
Set objSysInfo = CreateObject("ADSystemInfo")
Set objNetwork = CreateObject("Wscript.Network")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strUserPath = "LDAP://" & objSysInfo.UserName
Set objUser = GetObject(strUserPath)
For Each strGroup in objUser.MemberOf
strGroupPath = "LDAP://" & strGroup
Set objGroup = GetObject(strGroupPath)
strGroupName = objGroup.CN
Select Case strGroupName
Case "Domain Users"
If objFSO.DriveExists("P:") Then
objNetwork.RemoveNetworkDrive "P:"
End If
If objFSO.DriveExists("X:") Then
objNetwork.RemoveNetworkDrive "X:"
End If
objNetwork.MapNetworkDrive "P:", "\\xxx\Music"
objNetwork.MapNetworkDrive "X:", "\\xxx\free"
Case "Directors_full"
If objFSO.DriveExists("I:") Then
objNetwork.RemoveNetworkDrive "I:"
End If
If objFSO.DriveExists("V:") Then
objNetwork.RemoveNetworkDrive "V:"
;End If
objNetwork.MapNetworkDrive "I:", "\\xxx\new"
objNetwork.MapNetworkDrive "V:", "\\xxx\Shared\planirovanie"
Case "cards_f"
If objFSO.DriveExists("W:") then
objNetwork.RemoveNetworkDrive "W:"
End if
objNetwork.MapNetworkDrive "W:", "\\xxx\cards"
Case "Domain Admins"
If objFSO.DriveExists("W:") then
objNetwork.RemoveNetworkDrive "W:"
End If
If objFSO.DriveExists("Y:") then
objNetwork.RemoveNetworkDrive "Y:"
End If
objNetwork.MapNetworkDrive "W:", "\\xxx\Admin"
objNetwork.MapNetworkDrive "Y:", "\\xxx\Distrib$"
End Select
Next
3 года назад этот скрипт писал, для монтирования дисков, но он вполне подойдет и в данном случае. Подредактируй его на предмет прописывания принтеров определенным группам пользователей.
SadAngel
13.02.2012, 15:55
Если мне не изменяет память, то начиная с версии Windows 2003 R2, появилась возможность создавать развернутые в сети принтеры. Устанавливаете роль Сервер печати, заходите в оснастку управление печатью, устаналиваете нужные принтеры и драйвера на них. Далее выбираете принтер, и в меню действие выбираете развернуть с помощью групповой политики
http://technet.microsoft.com/ru-ru/library/cc722179(WS.10).aspx
http://technet.microsoft.com/ru-ru/library/cc755424(WS.10).aspx
http://technet.microsoft.com/ru-ru/library/cc770760(WS.10).aspx
Podhod_Adm
26.02.2012, 10:52
Если мне не изменяет память, то начиная с версии Windows 2003 R2, появилась возможность создавать развернутые в сети принтеры. Устанавливаете роль Сервер печати, заходите в оснастку управление печатью, устаналиваете нужные принтеры и драйвера на них. Далее выбираете принтер, и в меню действие выбираете развернуть с помощью групповой политики
В 2008 R2 точно есть. Причём там же есть развернутая GPO (конфигурация комп>Настройка>Параметры панели управления>Принтеры>), где можно указать принтер для развёртывания. - Проверено!
При установленной роли сервера печати:
Конфигурация комп>Конфигурация Windows>Развёрнутые принтеры. - Проверено также на 2008 R2!
vBulletin® v3.8.9, Copyright ©2000-2026, vBulletin Solutions, Inc.