WMI tasks for printers and printing manage and obtain data about printers, such as finding or setting the default printer. For other examples, see the TechNet ScriptCenter at http://www.microsoft.com/technet.
The script examples shown in this topic obtain data only from the local computer. For more information about how to use the script to obtain data from remote computers, see Connecting to WMI on a Remote Computer.
The following procedure describes how to run a script.
To run a script
- Copy the code and save it in a file with a .vbs extension. Ensure that your text editor does not add a .txt extension to the file.
- Open a command prompt window and navigate to the directory where you saved the file.
- Type cscript scriptfile.vbs at the command prompt.
Note By default, cscript displays the output of a script in the command prompt window. Because WMI scripts can
produce large amounts of output, you might want to redirect the output to a file. Type cscript scriptfile.vbs > outfile.txt at
the command prompt to redirect the output of the filename.vbs script to outfile.txt.
The following table lists script examples that can be used to obtain various types of data from the local computer.
| How do I... | WMI classes or methods |
| ...add a new printer connection to a remote computer? | Use the Win32_Printer class and the AddPrinterConnection method. Windows 2000: The AddPrinterConnection method is not available.
strComputer = "atl-ws-01"
Set objWMIService = GetObject( _
"winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2")
Set objPrinter = objWMIService.Get("Win32_Printer")
errReturn = objPrinter.AddPrinterConnection _
("\\PrintServer1\ArtDepartmentPrinter")
|
| ...set the default printer? | Use the Win32_Printer class and the SetDefaultPrinter method. Windows 2000: The SetDefaultPrinter method is not available.
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
objPrinter.SetDefaultPrinter()
Next
|
| ...cancel print jobs using WMI? | Use the Win32_Printer class, and the CancelAllJobs method. Windows 2000: The CancelAllJobs method is not available.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colPrintJobs = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrintJob in colPrintJobs
objPrintJob.CancelAllJobs
Next
|
| ...determine the default printer for a computer? | Use the Win32_Printer class, and check whether the Default property is True. Windows 2000: The Default property is not available.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Default = True")
For Each objPrinter in colInstalledPrinters
Wscript.Echo objPrinter.Name
Next
|
See Also
- WMI Tasks for Scripts and Applications
- WMI C++ Application Examples
- TechNet ScriptCenter
Send comments about this topic to Microsoft
Build date: 11/3/2009