Cómo puedo cambiar el puerto de impresión de una impresora en Windows XP

¿Se puede cambiar el puerto de impresión de una impresora?

Por ejemplo, ¿cómo puedo cambiarla del puerto FILE: al puerto LPT1:?
A continuación le mostramos una secuencia de comandos que le permitirá llevar a cabo esta tarea únicamente en equipos con Windows XP y Windows Server 2003:

strComputer = “.”

 Set objWMIService = GetObject(“winmgmts:\” & strComputer & “\root\cimv2”)

 Set colPrinters = objWMIService.ExecQuery _
    (“Select * From Win32_Printer Where DeviceID=”Art Department Printer””)

 For Each objPrinter in colPrinters
    objPrinter.PortName = “LPT1:”
    objPrinter.Put_
 Next

Como puede ver, nos conectamos al servicio WMI y utilizamos el método ExecQuery para obtener una colección de todas las impresoras que tienen la propiedad DeviceID igual a Art Department Printer.

Si prueba esta secuencia de comandos, asegúrese de utilizar una cláusula Where que limite a una sola impresora la colección que se obtiene; de lo contrario, corre el riesgo de cambiar el puerto de impresión de todas las impresoras del equipo. (Sí, DeviceID es una buena manera de proceder, ya que cada DeviceID es única en el equipo).

Tras obtener la colección, establecemos un bucle For Each para recorrer todas las impresoras que están en la colección. (Si realizamos nuestra consulta correctamente, solo habrá un elemento en la colección). Dentro del bucle For Each, cambiamos el valor de la propiedad PortName y, a continuación, utilizamos el método Put_ para escribir esos cambios en el objeto de la impresora.