Aquí os dejo un script vbs (Visual Basic Script) que al ser ejecutado en un Pc con Windows lista las impresoras que hay instaladas en el sistema y borra todas las impresoras de red respetando las locales. Está probado en XP y 2000.

En mi caso lo he utilizado para hacer limpieza de las impresoras de red antiguas que algunos equipos tenían instaladas y que ya se encontraban obsoletas. Aplicado con ayuda de una directiva de Active Directory puede ser muy eficiente.

Evidentemente manipulando el script puedes hacer que las borre todas pero eso lo dejo para que os calentéis un poco la cabeza (no mucho).

Visual Basic:
  1. strComputer = "."
  2. Set WshNetwork = WScript.CreateObject("WScript.Network")
  3. Set objShell = CreateObject("Wscript.Shell")
  4. Set objWMIService = GetObject("winmgmts:" _
  5. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  6. Set colInstalledPrinters = objWMIService.ExecQuery _
  7. ("Select * from Win32_Printer")
  8. Wscript.Echo "Enumero las impresoras del sistema:"
  9. Wscript.Echo "______________________________"
  10. For Each objPrinter in colInstalledPrinters
  11. Wscript.Echo "Nombre: " & objPrinter.Name
  12. Wscript.Echo "Localización: " & objPrinter.Location
  13. if InStr(objPrinter.Name, "\\")> 0 then
  14.     wscript.echo Now & " Borraré: " & objPrinter.Name
  15.     WshNetwork.RemovePrinterConnection objPrinter.Name
  16. end if
  17. Next
  18. Wscript.Echo Now & " Terminado. "

Si luego quieres añadir una nueva tan solo has de añadir al final del script por ejemplo:

Visual Basic:
  1. 'Añade la nueva impresora
  2. WshNetwork.AddWindowsPrinterConnection "\\PrintServer1\Dell5210nPS"
  3. 'Pone la impresora por defecto
  4. WshNetwork.SetDefaultPrinter "\\PrintServer1\Dell5210nPS"


Vota este artículo:
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (No Ratings Yet)
Loading ... Loading ...

Posts anterior y posterior:


Posts Relacionados: