A veces, he tenido la necesidad de asignar una impresora especifica a alguna tarea, generalmente a un impreso de access para que imprima directamente por ella, por ejemplo una impresora de tickets. Hacerlo en un ordenador local no tiene mayor problema, pero hacerlo a través de terminal server puede llegar a ser una pesadilla. Por ello, y buscando siempre en distintos foros y ayudas, he creado mi propio script que hace lo que necesito, cada vez que el cliente se conecta cambia el nombre que corresponda por el que yo le digo y así siempre es la misma impresora.
archivo 1 = borrarimpresoraanterior.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where name LIKE '%ETIQUETASBARCELONA%'")
For Each objPrinter in colInstalledPrinters
'Wscript.Echo "Name: " & objPrinter.Name
objPrinter.Delete_
Next
archivo 2 = cambiarnombreimpresora.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where name LIKE '%ZEBRA%BARCELONAALM%'") 'nombre de impresora y de máquina remota
For Each objPrinter in colInstalledPrinters
'Wscript.Echo "Name: " & objPrinter.Name
objPrinter.RenamePrinter "ETIQUETASBARCELONA" 'nuevo nombre de la impresora remota
Next
archivo 3 = compartirimpresora.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where name LIKE '%ETIQUETASINTERNET%'")
For Each objPrinter in colInstalledPrinters
'Wscript.Echo "Name: " & objPrinter.Name
objPrinter.Shared = True
objPrinter.ShareName = "etisinternet"
objPrinter.Put_
Next
archivo 4 = cambiarnombreimpresora.bat
@echo off
echo "CAMBIANDO NOMBRE IMPRESORA ETIQUETAS, por favor espere..."
ping -n 20 127.0.0.1
echo "ELIMINAR IMPRESORA ANTERIOR SI PROCEDE..."
wscript.exe c:\impresoraetiquetas\impresoraetiquetasbarcelona\borrarimpresoraanterior.vbs
echo "CAMBIAR NOMBRE IMPRESORA..."
wscript.exe c:\impresoraetiquetas\impresoraetiquetasbarcelona\cambiarnombreimpresora.vbs
etc...
Me ha sorprendido agradablemente la web citada, gracias por tu aporte
ResponderEliminarAlgo parecido que funcione en windows 2008????
ResponderEliminar