'==========================================================================
'
' NAME: DeleteNetworkPrintersExcludeDefault.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL: [URL unfurl="true"]http://www.thespidersparlor.com[/URL]
' DATE : 2/25/2008
' COPYRIGHT (c) 2008 All Rights Reserved
'
' COMMENT:
'
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
' PARTICULAR PURPOSE.
'
' IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE SUPPLIERS
' BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
' DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
' WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
' ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
' OF THIS CODE OR INFORMATION.
'
'==========================================================================
On Error Resume Next
Dim strComputer, objWMIService,colPrinters,objPrinter,WSHNetwork
Set WSHNetwork = WScript.CreateObject("WScript.Network")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
StopService ("Spooler")
WScript.Sleep 3000
Set colPrinters = objWMIService.ExecQuery("SELECT * FROM Win32_Printer WHERE Default<>True")
For Each objPrinter In colPrinters
If Left(objPrinter.PortName,2) = "\\" Then
Wscript.echo objPrinter.Name
Wscript.echo objPrinter.PortName
WSHNetwork.RemovePrinterConnection objPrinter.PortName,True,True
End If
Next
StartService ("Spooler")
'sub to stop the services
Sub StopService (ServiceName)
queryString = "select state from win32_service " _
& "where displayname='"& ServiceName & "'"
set results = objWMIService.execquery(queryString)
for each service in results
if service.state = "Running" then
service.stopService
end if
next
End Sub
'sub to start the services
Sub StartService (ServiceName)
queryString = "select state from win32_service " _
& "where displayname='"& ServiceName & "'"
set results = objWMIService.execquery(queryString)
for each service in results
if service.state <> "Running" then
service.startService
end if
next
End Sub