Autor
|
Tema: Mapeo de impresoras en red por usuarioa (Leído 22,626 veces)
|
T0rete
|
Yo lo decía porque el siguiente problema que se encuentra es el bTroubleFlag y justo aparece con el dim For the life of me, I couldn't get it to unset bTroubleFlag, so it was always processing the script with extra output. I ended up commenting out the few lines that enables it.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Esa "bandera" es una chapuza de alguien , así debería de funcionar on error resume next Set objNetwork = CreateObject("Wscript.Network") 'Get current user info from active directory Set objADSystemInfo = CreateObject("ADSystemInfo") 'bind to current user in active directory set objUser = GetObject("LDAP://" & objADSystemInfo.UserName) Set objPrinter = objNetwork.EnumPrinterConnections 'Test to see if we have any printers mapped If objPrinter.Count > 0 Then 'The Printer array is Printer name, printer path that is why it is step 2 for i=1 to objPrinter.Count Step 2 'test to make sure it is a network printer if instr(objPrinter.Item(i),"\\") <> 0 then objNetwork.RemovePrinterConnection objPrinter.Item(i),true,true end if next end if 'Get an array of group names that the user is a member of objMemberOf objMemberOf = objUser.MemberOf for Each objGroup in objMemberOf 'Test to see if it is a printer group. all printer groups should be in the same OU if (instr(objGroup,"OU=Printer-Groups") <> 0) then 'Bind to the group to get is description. The description contain the path to the printer set objGroupEnum = GetObject("LDAP://" & objGroup) objNetwork.AddWindowsPrinterConnection objGroupEnum.description set objGroupEnum = nothing end if next 'Repeat as above for the default printer for Each objGroup in objMemberOf if (instr(objGroup,"OU=Printer-Default-Groups") <> 0) then set objGroupEnum = GetObject("LDAP://" & objGroup) objNetwork.SetDefaultPrinter objGroupEnum.description set objGroupEnum = nothing end if next
Obviamente la solución que se plantea es tener un agregar los usuarios a un grupo para las impresoras, en cuya descripción de grupo esta la ruta al servidor. Esos son los que aparecen en las líneas 26 y 36 del script. Se podrían llegar a poner varios servidores para un mismo grupo, pero primero habría que ver si este funciona La primera parte elimina todas las impresoras de red, la segunda agrega las nuevas, y la última configura las por defecto. Saludos
|
|
« Última modificación: 25 Abril 2011, 19:44 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
T0rete
|
Lo de la ruta del servidor y los dos servidores no lo entendi. El script coge la ruta de ldap por pertenencia a un dominio y no hace falta ruta de servidor. En el caso de dos servidores de impresión tampoco hay que añadir ruta ni nada si estan dentro del mismo dominio porque la impresoras son objetos del Active directory y simplemente hay que añadirlas a la unidad organizativa correspondiente.
Lo que si hay que hacer es crear una unidad organizativa donde se definan los grupos de usuario y que impresora le corresponden.
|
|
|
En línea
|
|
|
|
efer27
Desconectado
Mensajes: 27
|
Hola,
Ejecute el script sobre el dominio y el resultado es el siguiente.
Copyright (C) Microsoft Corporation 1996-2006. Reservados todos los derechos.
***** script completed - exit code: 0 *****
* Lo que comenta 0,0 es agregar las impresoras al grupo es un opcion valida. * por ese motivo queria que lea desde un archivo plano CSV o TXT para que el mantenimiento sea mas facil y no se manipule el Active directory sino el archivo para cualquier cambio, alta o baja de impresora.
archivo plano CSV o TXT: prueba1 (OU) prueba2 (OU) prueba3 (OU) \\server\impresora \\server\impresora \\server\impresora
* Cuando el usuasrio inicie la sesion se ejcute el script * El script compare si pertenece al grupo. * El script lea desde un archivo plano CSV o TXT * si pertenece que elimine las impresoras y mapee las nuevas
espero no complicar a nadie y no ser tan fastidioso lo que pido es que ser novato en estos temas es complicado.
Saludos
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
0,0 ,es que eso no es lo que hace el script, lo único que he hecho es adaptar el que habías puesto. 'Coleccion de grupos a los que pertenece el usuario objMemberOf = objUser.MemberOf 'Por cada grupo en la lista for Each objGroup in objMemberOf 'Si hay una unidad con nombre Printer-Groups if (instr(objGroup,"OU=Printer-Groups") <> 0) then 'Obtenemos el grupo set objGroupEnum = GetObject("LDAP://" & objGroup) 'Nos conectamos a la impresora utilizando la ruta que aparece en la descripcion de grupo objNetwork.AddWindowsPrinterConnection objGroupEnum.description set objGroupEnum = nothing end if next
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
efer27
Desconectado
Mensajes: 27
|
Hola,
Si entiendo lo que me comentas, esta todo muy bien y te agradezco por el tiempo. Mi pregunta es este script se puede adecuar al comentario que te hice que lea desde una archivo plano CSV o TXT y compare desde el archivo los grupos y las impresoras sin tener que manipular el active directory.
Saludos
|
|
|
En línea
|
|
|
|
efer27
Desconectado
Mensajes: 27
|
hola,
Uff no me funciona el script no me mapea las impresoras que estan en la OU, pero bueno sigo intentando modificar el script para que pueda leer desde un cvs o txt para no manipular el active directory.
saludos
|
|
|
En línea
|
|
|
|
T0rete
|
No entendí lo que quieres decir Novlucker, creo que se lo decias a el y pusiste mi nombre o realmente no entendi nada No tienes que meter la ruta del servidor ni impresora en el script. El script que yo puse supone que el entorno es un dominio windows en el que las impresoras están en el active directory. Lo que hace es mirar la unidad organizativa de impresion que creas en el AD a la que pertenece el usuario que está iniciando sesión y en la que esta la relación de usuarios e impresoras asociadas. Se trata de que tu agreges y quites impresoras en el active directory y script solo es para mapearlas de acuerdo con lo que aparezca en la unidad organizativa. Lo otro que propones con el archivo de texto es un poco chapuza ya que tienes que dar permisos a los usuarios para agregar y quitar impresoras en red sin contar con los permisos del servidor de impresión (ya que no deseas tocar el AD). Es mas facil administrar la impresoras mediante una unidad organizativa que lo del archivo de texto por el tema de permisos.
|
|
|
En línea
|
|
|
|
T0rete
|
efer27, ¿Has creado la OU "Printer-Groups" y has metido en ella los usuarios asociados a las impresoras?
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Puede ser 0,0, a lo mejor no nos estamos entendiendo, es que creo que me entiendo mejor con t0rete, se ha vuelto a ir? El problema de los "arreglos" que le he hecho al script son que basicamente ha sido con los ojos vendados, no tengo un AD para hacer las pruebas ni la soltura para manejarme de este modo Lo que digo seguramente este mal, pero se desprende de aquí; 'Bind to the group to get is description. The description contain the path to the printer set objGroupEnum = GetObject("LDAP://" & objGroup) objNetwork.AddWindowsPrinterConnection objGroupEnum.description
Saludos
|
|
« Última modificación: 26 Abril 2011, 02:31 am por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Mapeo de Fichero
ASM
|
Иōҳ
|
3
|
4,176
|
10 Diciembre 2011, 12:38 pm
por Eternal Idol
|
|
|
Mapeo de unidades de red desconectadas.
Redes
|
Chernova
|
0
|
2,482
|
24 Mayo 2012, 14:53 pm
por Chernova
|
|
|
mapeo de red con foca
Redes
|
Pirat3net
|
0
|
1,661
|
25 Octubre 2012, 14:57 pm
por Pirat3net
|
|
|
mapeo de programa
Hacking
|
c3r0x
|
4
|
3,321
|
8 Marzo 2014, 00:30 am
por unknwn
|
|
|
Dudas sobre el mapeo de IPs moviles
Hacking
|
Helix
|
2
|
3,543
|
25 Noviembre 2020, 19:10 pm
por Helix
|
|