Сценарии входа в Windows 7 - установить принтер по умолчанию
Мне было поручено устранить неполадки сценария входа в систему на клиентском сайте, который, помимо прочего, устанавливает принтер по умолчанию. Сценарий входа vbscript с принтером, установленным с помощью
Set WshNetwork = CreateObject("WScript.Network")
...
WshNetwork.SetDefaultPrinter(strPrinter)
Техник, который установил это, сказал, что это работает. Клиент сказал, что это не так. Мой тест показывает, что он работает только периодически. В настоящее время у меня есть что-то вроде этого:
WScript.Echo GetDefaultPrinter
For i = 0 to 50
if strPrinter <> GetDefaultPrinter then
WshNetwork.SetDefaultPrinter(strPrinter)
end if
Next
'WshNetwork.SetDefaultPrinter("Fax")
Msgbox("Called WshNetwork.SetDefaultPrinter(" & strPrinter & ")")
WScript.Echo GetDefaultPrinter
Function GetDefaultPrinter
sComputer = "."
Set oWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
Set colItems = oWMIService.ExecQuery("Select * from Win32_Printer",,48)
For Each oItem in colItems
If (oItem.Attributes And 2^(3-1)) = 4 Then
sDefault = oItem.Name
Exit For
End If
Next
GetDefaultPrinter = sDefault
End Function
Это позволяет мне проверять принтер по умолчанию до и после попытки его замены. Цикл, кажется, помог, но не решил полностью проблему. Иногда новый принтер настроен правильно, иногда я могу выйти и снова включиться, и он не может установить тот же принтер по умолчанию. Чтобы уточнить, я не полный рабочий день администратора. Эта техника устарела? Должен ли я использовать что-то еще для установки принтера по умолчанию?
Изменить: Кроме того, нам нужно запомнить принтер по умолчанию, который пользователь мог установить или изменить во время сеанса пользователя, а затем установить этот принтер по умолчанию
2 ответа
Вместо того чтобы использовать объект Network, я запускаю команду напрямую: rundll32 printui.dll,PrintUIEntry /y /n "", кажется, работает просто отлично
Поскольку у вас есть Server 2008 и Windows 7, у вас есть возможность установить принтер по умолчанию с помощью предпочтений групповой политики. Мы используем это прямо сейчас, чтобы установить принтеры по умолчанию в наших компьютерных лабораториях. Это требует создания объекта групповой политики для этих контейнеров, но вы можете получить довольно детальный с ними.
В редакторе групповой политики, политика находится в...
Конфигурация пользователя -> Настройки -> Настройки панели управления -> Принтеры
Добавьте туда принтеры. Один из флажков - "сделать принтер по умолчанию". Это действительно работает.