我有一个用户希望在她登录到我们的终端服务器时将她的本地桌面打印机作为默认打印机。我为此创建了一个简单的登录脚本
Set WSHNetwork = CreateObject("WScript.Network")
WSHNetwork.SetDefaultPrinter "HP LaserJet 6P (redirected 3)"
问题在于,无论出于何种原因,打印机名称都会不断更改最后一位数字。HP LaserJet 6P(重定向)、HP LaserJet 6P(重定向 2)和HP LaserJet 6P(重定向 1)都是打印机显示方式的示例。
我不太了解 VBScript,无法解释这些更改,希望有人能帮助我找到正在使用的名称变体,并将其设置为默认打印机。
我找到了一个可能有帮助的片段,但我不确定如何正确实现它。
Function printerExists(str)
printerExists = False
Dim objWMIService
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Dim colPrinters
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")
Dim objPrinter
For Each objPrinter In colPrinters
If objPrinter.Name = str Then
printerExists = True
Exit For
End If
Next
End Function