Espacio para hablar de esas cosas absurdas que tanto me divierten.

Mostrando entradas con la etiqueta cambiar nombre impresora. Mostrar todas las entradas
Mostrando entradas con la etiqueta cambiar nombre impresora. Mostrar todas las entradas

martes, 30 de agosto de 2011

Cambiar nombre impresora conectada por terminal server windows 2003

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...

Datos personales

Mi foto
Legendario jugador de Match Day 2.