Изменить принтер по умолчанию в зависимости от местоположения - PullRequest
3 голосов
/ 21 декабря 2008

Я хотел бы написать VBScript для изменения принтера по умолчанию, в зависимости от того, какой принтер подключен.
У меня есть ноутбук, который я использую на работе и дома, и я хотел бы запустить этот скрипт при запуске Windows, чтобы принтер по умолчанию всегда был правильным. Если есть другой способ сделать это в XP, у меня все уши.

1 Ответ

2 голосов
/ 21 декабря 2008

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

- http://msdn.microsoft.com/en-us/library/aa394598(VS.85).aspx

Вы также можете узнать домен и такие, как:

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

- http://msdn.microsoft.com/en-us/library/aa394586.aspx

...