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 de Zero Secure
1
1
Zero Secure, Si estas dispuesto a preguntar, también tienes que estar...
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