Impresora predeterminada con perfiles móviles

Espero que me puedan ayudar, no doy con la solución de ninguna manera. En el trabajo disponemos de perfiles móviles, ya que los usuarios pueden trabajar en distintos equipos. El problema me viene con las impresoras. Me gustaría saber si existe alguna forma en que los perfiles de los usuarios cojan como impresora predeterminada la del equipo donde se validen, la que yo ponga como predeterminada en cada equipo con la clave de administrador local. O no se si desde Active Directory o de las directivas del equipo local se le puede indicar que todos los usuarios que se validen utilicen la impresora predeterminada que yo deje configurada como tal. Todas las impresoras están instaladas como locales, aunque sean de red, creando un puerto TCP/IP. La verdad es que no se me ocurre nada que hacer.

1 Respuesta

Respuesta
1
YO para los perfiles moviles lo que normalmente hago es en las politicas, en el inicio de sesión, meterle un script que te carga la impresora predeterminada del equipo, sino siempre te intentara cargar la del usuario. Ahora mismo no recuerdo muy bien como era, pero puedo revisar como lo tengo yo a partir de mañana, pero creo que era de la siguiente manera
et WshNetwork = CreateObject("WScript.Network") Select Case WshNetWork.UserName Case "Username1" PrinterPath = "\\Server\Printer1" PrinterDriver = "PrinterDriver" WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver WshNetwork.SetDefaultPrinter "\\Server\Printer1" Case "Username2" PrinterPath = "\\Server\Printer2" PrinterDriver = "PrinterDriver" WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver WshNetwork.SetDefaultPrinter "\\Server\Printer1" End Select
te dejo el enlace
http://support.microsoft.com/kb/263226/es
Haber si te puedo mandar sino te vale esto el script que yo tengo hecho, que quizás te aclares mejor, otra manera me parece que no hay.
Gracias por tu respuesta, y disculpa no haber contestado antes. He estado fuera por temas de trabajo y este problema lo había dejado aparcado por las circunstancias. He estado mirando el enlace que me has dejado pero tengo mil millones de dudas... Yo las impresoras en red, tal y como te comenté, están instaladas de forma local por puerto TCP/IP, por tanto en "\\nombreservidor\impresora" como debería ponerlo ¿? ¿Y ese script donde y como lo incluyo en las políticas? Espero que me lo puedas resolver.
Un saludo, y muchas gracias
Hola de nuevo, disculpa por la insistencia. Continuo a la espera.
Un saludo
Y perdona porque estuve liado y no me conecte absolutamente nada. Haber te cuento, te voi a poner el ejemplo de un script que tenemos nosotros hecho. Este escript has de guardarlo von extensión vbs, y en las directivas de grupo, debe ir en creo que era, plantillas administrativas, configuración de usuario, sistema, inicio de sesión, tienes una opción que le cargas el comando que quieras al iniciar sesión, o cerrar sesión, no te lo digo donde seguro, porque no lo recuerdo, y aquí en casa no puedo mirar las políticas.
El script, para que te hagas una idea, primero borra todas las impresoras que tenga el equipo, luego, compara el nombre del equipo, y según el nombre del equipo, llama a la función que tiene que cargar su impresora. En nuestro caso 6 equipos, y seis impresoras.
Cada función de agregar impresora, agrega la impresora que corresponde al equipo, y la marca como predeterminada. Puedes cargarla, tanto si la tiene en local en el equipo, como si la tiene compartida en red que es tu caso.
Echale un ojo, y vete probándolo...
DIM RegEntry, ComputerName
RegEntry="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName"
ComputerName = ReadRegValue(RegEntry)
Call QuitarImpresoras()
if InStr(1,ucase(ComputerName),"EQUIPO0",vbTextCompare) > 0 then call SetPrinter0()
if InStr(1,ucase(ComputerName),"EQUIPO1",vbTextCompare) > 0 then call SetPrinter1()
if InStr(1,ucase(ComputerName),"EQUIPO2",vbTextCompare) > 0 then call SetPrinter2()
if InStr(1,ucase(ComputerName),"EQUIPO3",vbTextCompare) > 0 then call SetPrinter3()
if InStr(1,ucase(ComputerName),"EQUIPO4",vbTextCompare) > 0 then call SetPrinter4()
if InStr(1,ucase(ComputerName),"EQUIPO5",vbTextCompare) > 0 then call SetPrinter5()
Call AgregarImpresoras()
wscript.quit
Sub QuitarImpresoras()
DIM WshNetwork
set wshNetwork = CreateObject ("WScript.Network")
'deletes all network printers
Set clPrinters = WshNetwork.EnumPrinterConnections
On Error Resume Next
For i = 0 to clPrinters.Count - 1 Step 2
wshNetwork.RemovePrinterConnection clPrinters.Item(i+1), true
Next
On Error Goto 0
end sub
Sub SetPrinter0()
DIM strPrinterPath
strPrinterPath = "TGDESP0"
DIM WshNetwork
Set WshNetwork = CreateObject("WScript.Network") 
WshNetwork.SetDefaultPrinter strPrinterPath
end sub
Sub SetPrinter1()
DIM WshNetwork
Set WshNetwork = CreateObject("WScript.Network") 
WshNetwork.SetDefaultPrinter "TGDESP1"
end sub
Sub SetPrinter2()
DIM WshNetwork
Set WshNetwork = CreateObject("WScript.Network") 
WshNetwork.SetDefaultPrinter "TGDESP2"
end sub
Sub SetPrinter3()
DIM WshNetwork
Set WshNetwork = CreateObject("WScript.Network") 
WshNetwork.SetDefaultPrinter "TGINFO"
end sub
Sub SetPrinter5()
DIM WshNetwork
Set WshNetwork = CreateObject("WScript.Network") 
WshNetwork.SetDefaultPrinter "KONICA MINOLTA"
end sub
Sub SetPrinter4()
DIM WshNetwork
Set WshNetwork = CreateObject("WScript.Network") 
WshNetwork.SetDefaultPrinter "TGFLOR1"
WshNetwork.AddWindowsPrinterConnection("\\equipo3\TGFLOR3A")
end sub
sub AgregarImpresoras()
DIM WshNetwork
ON ERROR RESUME NEXT
Set WshNetwork = CreateObject("WScript.Network") 
WshNetwork.AddWindowsPrinterConnection("\\192.168.1.6\OGCONTR")
end sub
Function ReadRegValue(ByVal RegValue)      
DIM WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
ReadRegValue=""
On Error Resume Next
ReadRegValue= WSHShell.RegRead(RegValue)
End Function
Genial!, muchas gracias, y ya aprovechando una ultima aclaración. Con esto, según entiendo agregaría una única impresora. ¿Se podría hacer que agregue varias pero como predeterminada la que yo desee por defecto?
No me hagas mucho caso, pero lo que hacemos en este script, es cargarles su impresora predeterminada y ademas, otra de red. Si te fijas en la función de Agregar Impresoras:
sub AgregarImpresoras() 
DIM WshNetwork 
ON ERROR RESUME NEXT 
Set WshNetwork = CreateObject("WScript.Network")  
WshNetwork.AddWindowsPrinterConnection("\\192.168.1.6\OGCONTR") 
end sub
Suponog que si metes aquí las impresoras que quieras, en otra linea exactamente igual que está última:
WshNetwork.AddWindowsPrinterConnection("\\192.168.1.6\OGCONTR")
Igual que agregas 1, podrás agregar más.
NO soy programador, y voi improvisando sobre la marcha, así que como bien sabrás, prueba y error, y dime algo, de si te funciona...
Si has conseguido algo... valora al pregunta
UN saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas