elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Mapeo de impresoras en red por usuarioa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Mapeo de impresoras en red por usuarioa  (Leído 22,604 veces)
T0rete
Colaborador
***
Desconectado Desconectado

Mensajes: 4.926


Ver Perfil WWW
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #20 en: 25 Abril 2011, 19:27 pm »

Yo lo decía porque el siguiente problema que se encuentra es el bTroubleFlag y justo aparece con el dim

Citar
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 Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #21 en: 25 Abril 2011, 19:42 pm »

Esa "bandera" es una chapuza de alguien :xD , así debería de funcionar
Código
  1. on error resume next
  2.  
  3. Set objNetwork = CreateObject("Wscript.Network")
  4.  
  5. 'Get current user info from active directory
  6. Set objADSystemInfo = CreateObject("ADSystemInfo")
  7. 'bind to current user in active directory
  8. set objUser = GetObject("LDAP://" & objADSystemInfo.UserName)
  9.  
  10. Set objPrinter = objNetwork.EnumPrinterConnections
  11. 'Test to see if we have any printers mapped
  12. If objPrinter.Count > 0 Then
  13.    'The Printer array is Printer name, printer path that is why it is step 2
  14.    for i=1 to objPrinter.Count Step 2
  15.        'test to make sure it is a network printer
  16.        if instr(objPrinter.Item(i),"\\") <> 0 then
  17.            objNetwork.RemovePrinterConnection objPrinter.Item(i),true,true
  18.        end if
  19.    next
  20. end if
  21.  
  22. 'Get an array of group names that the user is a member of objMemberOf
  23. objMemberOf = objUser.MemberOf
  24. for Each objGroup in objMemberOf
  25.    'Test to see if it is a printer group. all printer groups should be in the same OU
  26.    if (instr(objGroup,"OU=Printer-Groups") <> 0) then
  27.        'Bind to the group to get is description. The description contain the path to the printer
  28.        set objGroupEnum = GetObject("LDAP://" & objGroup)
  29.        objNetwork.AddWindowsPrinterConnection objGroupEnum.description
  30.        set objGroupEnum = nothing
  31.    end if
  32. next
  33.  
  34. 'Repeat as above for the default printer
  35. for Each objGroup in objMemberOf
  36.    if (instr(objGroup,"OU=Printer-Default-Groups") <> 0) then
  37.        set objGroupEnum = GetObject("LDAP://" & objGroup)
  38.        objNetwork.SetDefaultPrinter objGroupEnum.description
  39.        set objGroupEnum = nothing
  40.    end if
  41. 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 :P

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
Colaborador
***
Desconectado Desconectado

Mensajes: 4.926


Ver Perfil WWW
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #22 en: 25 Abril 2011, 19:55 pm »

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 Desconectado

Mensajes: 27


Ver Perfil
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #23 en: 25 Abril 2011, 20:12 pm »

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 Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #24 en: 25 Abril 2011, 20:16 pm »

0,0 ,es que eso no es lo que hace el script, lo único que he hecho es adaptar el que habías puesto.

Código
  1. 'Coleccion de grupos a los que pertenece el usuario
  2. objMemberOf = objUser.MemberOf
  3. 'Por cada grupo en la lista
  4. for Each objGroup in objMemberOf
  5. 'Si hay una unidad con nombre Printer-Groups
  6. if (instr(objGroup,"OU=Printer-Groups") <> 0) then
  7. 'Obtenemos el grupo
  8.        set objGroupEnum = GetObject("LDAP://" & objGroup)
  9. 'Nos conectamos a la impresora utilizando la ruta que aparece en la descripcion de grupo
  10.        objNetwork.AddWindowsPrinterConnection objGroupEnum.description
  11.        set objGroupEnum = nothing
  12. end if
  13. 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 Desconectado

Mensajes: 27


Ver Perfil
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #25 en: 25 Abril 2011, 20:34 pm »

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 Desconectado

Mensajes: 27


Ver Perfil
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #26 en: 25 Abril 2011, 23:09 pm »

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
Colaborador
***
Desconectado Desconectado

Mensajes: 4.926


Ver Perfil WWW
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #27 en: 25 Abril 2011, 23:21 pm »

No entendí lo que quieres decir Novlucker, creo que se lo decias a el y pusiste mi nombre o realmente no entendi nada :xD 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
Colaborador
***
Desconectado Desconectado

Mensajes: 4.926


Ver Perfil WWW
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #28 en: 25 Abril 2011, 23:23 pm »

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 Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Mapeo de impresoras en red por usuarioa
« Respuesta #29 en: 26 Abril 2011, 02:29 am »

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? :xD
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 :xD

Lo que digo seguramente este mal, pero se desprende de aquí;
Código
  1. 'Bind to the group to get is description. The description contain the path to the printer
  2. set objGroupEnum = GetObject("LDAP://" & objGroup)
  3. 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
Páginas: 1 2 [3] 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mapeo de Fichero
ASM
Иōҳ 3 4,168 Último mensaje 10 Diciembre 2011, 12:38 pm
por Eternal Idol
Mapeo de unidades de red desconectadas.
Redes
Chernova 0 2,475 Último mensaje 24 Mayo 2012, 14:53 pm
por Chernova
mapeo de red con foca
Redes
Pirat3net 0 1,659 Último mensaje 25 Octubre 2012, 14:57 pm
por Pirat3net
mapeo de programa
Hacking
c3r0x 4 3,315 Último mensaje 8 Marzo 2014, 00:30 am
por unknwn
Dudas sobre el mapeo de IPs moviles
Hacking
Helix 2 3,537 Último mensaje 25 Noviembre 2020, 19:10 pm
por Helix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines