Vbscript 根据位置更改默认打印机

Vbscript 根据位置更改默认打印机,vbscript,printers,Vbscript,Printers,我想编写一个VBScript,根据连接的打印机更改默认打印机。 我有一台笔记本电脑,可以在工作和家中使用,我希望在启动windows时运行此脚本,以便默认打印机始终正确。 如果在XP中有其他方法可以做到这一点,我洗耳恭听。WMI可能适合 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComput

我想编写一个VBScript,根据连接的打印机更改默认打印机。
我有一台笔记本电脑,可以在工作和家中使用,我希望在启动windows时运行此脚本,以便默认打印机始终正确。
如果在XP中有其他方法可以做到这一点,我洗耳恭听。

WMI可能适合

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Name = 'ScriptedPrinter'")
For Each objPrinter in colInstalledPrinters
If objPrinter.Name="SomePrinterName" Then 
    objPrinter.SetDefaultPrinter()
End If
Next
--

您还可以查找域,例如:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
    ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 
    Wscript.Echo "System Name: " & objComputer.Name
    Wscript.Echo "Domain: " & objComputer.Domain
Next
--