2008-12-20 6 views
3

Je voudrais écrire un VBScript pour changer l'imprimante par défaut, en fonction de l'imprimante connectée.
J'ai un ordinateur portable que j'utilise au travail et à la maison, et je voudrais exécuter ce script lors du démarrage des fenêtres afin que l'imprimante par défaut soit toujours la bonne.
S'il y a une autre façon de faire cela sous XP, je suis tout ouïe.Modifier l'imprimante par défaut en fonction de l'emplacement

Répondre

2

WMI peut convenir.

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

Vous pouvez également découvrir le domaine et comme tel:

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