Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Принтеры по локациям
Показать сообщение отдельно

Аватара для dimich22

В работе


Сообщения: 851
Благодарности: 216

Профиль | Сайт | Отправить PM | Цитировать


А что понимается под "локацией"? Можно пользователей распихать по OU согласно физическому расположению и назначить логон-скрипт через групповую политику, который бы цеплял нужные принтера. Можно - в зависимости от группы.
Приведу еще кусок кода, не помню откуда взятый. В нем принтеры назначаются в зависимости от имени компьютера:

читать дальше »

If Instr( 1, strWorkstation, "-", 1) > 0 Then
strWorkstation = _
Left( strWorkstation, ( Instr( 1, strWorkstation, "-", 1)))
End If

Select Case UCase( strWorkstation )

Case "BLD1RM101-"
Call AddPrinter ("Mydomain2", "MyPrtSvr2", "Bld1Rm101-HP4050")
objWshNetwork.SetDefaultPrinter "\\MyPrtSvr2\Bld1Rm101-HP4050"

Case Else

End Select

Private Sub AddPrinter(strPrtServerDomain, strPrtServer, strPrtShare)

On Error Resume Next

Dim strPrtPath 'Full path to printer share
Dim objPrinter 'Object reference to printer
Dim strMsg 'Message output to user
Dim blnError 'True / False error condition

blnError = False

'Build path to printer share
strPrtPath = "\\" & strPrtServer & "\" & strPrtShare

'Test to see if shared printer exists.
'Proceed if yes, set error condition msg if no.
Set objPrinter = GetObject _
("WinNT://" & strPrtServerDomain & "/" & strPrtServer & "/" & strPrtShare)
If IsObject( objPrinter ) AND _
(objPrinter.Name <> "" AND objPrinter.Class = "PrintQueue") Then

'Different mapping techniques depending on OS version
If objWshShell.ExpandEnvironmentStrings( "%OS%" ) = "Windows_NT" Then
Err.Clear
'Map printer
objWshNetwork.AddWindowsPrinterConnection strPrtPath
Else
'Mapping printers for Win9x & ME is a pain and unreliable.
End If

Else
blnError = True
End IF

'Check error condition and output appropriate user message
If Err <> 0 OR blnError = True Then
strMsg = "Unable to connect to network printer. " & vbCrLf & _
"Please contact the Helpdesk @ ext 345" & vbCrLf & _
"and ask them to check the " & strPrtServer & " server." & _
vbCrLf & vbCrLf & _
"Let them know that you are unable to connect to the '" _
& strPrtShare & "' printer"
objWshShell.Popup strMsg,, "Logon Error !", 48
Else
Call UserPrompt ("Successfully added printer connection to " & strPrtPath)
End If

Set objPrinter = Nothing

End Sub

-------
Программа выполняет то, что вы ей приказали делать, а не то, что бы вы хотели, чтобы она делала.
Компьютерная литература Мой сайт Active Directory Сборник рецептов


Отправлено: 16:33, 08-08-2008 | #3

Название темы: Принтеры по локациям