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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Пользователям не мапится принтер Samsung ML-3470

Ответить
Настройки темы
VBS/WSH/JS - Пользователям не мапится принтер Samsung ML-3470

Аватара для dimonprodigy

Пользователь


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


Конфигурация

Профиль | Цитировать


Доброго времени суток.

Совсем сломал голову со следующей проблемой.
Имеется домен, имеются скрипты выполняемые при логине, имеется принтсервер, имеется принтер, имеется компьютер.

Задача следующая: есть скрипт, который подключает народу принтеры в зависимости от значения поля "Location" (оное поле можно найти в свойствах компьютера). Скрипт имеет следующий вид (это тестовый, рабочий отличается количеством отделов)

Код: Выделить весь код
Option Explicit
Dim WSHNetwork, Computer, Path, strComputerDN, objSysInfo, objComputer, sPrintPath, PrintLocation
Dim objWMIService, colInstalledPrinters, objPrinter
Set WSHNetwork = CreateObject("WScript.Network")
On Error Resume Next
Path = WSHNetwork.ComputerName
Set objSysInfo = CreateObject("ADSystemInfo")
strComputerDN = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputerDN)

'Назначаем необходимый для установки сетевой принтер
'в зависимости от значения поля Location

PrintLocation = "All"

PrintLocation = objComputer.Get("Location")

Select Case PrintLocation 
  Case "Отдел 1"
	WSHNetwork.AddWindowsPrinterConnection "\\printserver\printer1"
	WSHNetwork.AddWindowsPrinterConnection "\\printserver\printer2"
	sPrintPath = "\\printserver\printer3"
	WScript.Quit
End Select

WSHNetwork.AddWindowsPrinterConnection sPrintPath
WSHNetwork.SetDefaultPrinter sPrintPath

'Выполняем проверку установленных принтеров
Set objWMIService = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")

Set colInstalledPrinters =  objWMIService.ExecQuery _
   ("Select * from Win32_Printer")
   
For Each objPrinter in colInstalledPrinters
 If  PrintLocation = objPrinter.Location  Then
    WScript.Quit
 End If
Next
Что мы видим? Если в комментарии компьютера указано "Отдел 1", то пользователям, работающим за этим ПК, назначается три принтера - printer1, printer2 и printer3; printer3 назначается дефолтным. Обычный скрипт, короче, содранный моими предшественниками на просторах Сети
Скрипт этот через групповую политику распространяется на нужные объекты.

Фишка в следующем: никак не хочет назначаться принтер по-умолчанию (это Samsung ML-3470). Я уже и переименовывал его, и другой порт подсовывал, и драйвера обновлял - не хочет стервец ни в какую. Причем если открыть "пуск -> выполнить -> \\printserver\printer3" прекрасно подключается и работает...

Отправлено: 22:29, 07-09-2011

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Пользователям не мапится принтер Samsung ML-3470

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Не ставятся драйвера на принтер Samsung SCX-4200 vlastelin Поиск драйверов, прошивок и руководств 17 09-12-2021 23:25
Нужно оживить древность принтер SAMSUNG SP-0915 Roman_fox Поиск драйверов, прошивок и руководств 7 16-04-2011 23:07
Принтер Samsung ML-1250 и его глюки Teodorik Непонятные проблемы с Железом 2 07-08-2008 20:16
не работает принтер Samsung SCX-4016 linderox Железо в Linux 1 17-05-2007 23:19
принтер Samsung 1250 соед. с ПК по USB установить сетевым Leon71 Сетевые технологии 1 03-08-2003 23:11




 
Переход