Windows-7

Windows 7 登錄腳本——設置預設列印機

  • August 11, 2010

我的任務是對客戶端站點上的登錄腳本進行故障排除,該腳本設置了預設列印機。登錄腳本是 vbscript,列印機正在使用

Set WshNetwork = CreateObject("WScript.Network")

...

WshNetwork.SetDefaultPrinter(strPrinter)

設置它的技術人員說它正在工作。客戶說不是。我的 testng 顯示它只能間歇性地工作。目前我有這樣的事情:

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

這讓我可以在嘗試更改它之前和之後檢查預設列印機。循環似乎有所幫助,但並沒有完全解決問題。有時新列印機設置正確,有時我可以註銷並重新打開,但無法設置相同的預設列印機。澄清一下,我不是全職管理員。這種技術過時了嗎?我應該使用其他東西來設置預設列印機嗎?

編輯:此外,我們需要記住使用者在使用者會話期間可能已設置或更改的預設列印機,然後將該列印機設置為預設列印機

我沒有使用網路對象,而是直接執行命令:rundll32 printui.dll,PrintUIEntry /y /n "" 似乎工作得很好

由於您擁有 Server 2008 和 Windows 7,因此您可以通過組策略首選項設置預設列印機。我們現在正在使用它在我們的電腦實驗室中設置預設列印機。它確實需要為這些容器創建一個 GPO,但是您可以對它們進行非常精細的處理。

在組策略編輯器中,策略位於…

使用者配置 -> 首選項 -> 控制面板設置 -> 列印機

在那裡添加列印機。其中一個複選框是“設為預設列印機”。真的行。

引用自:https://serverfault.com/questions/169350