none
Mapeos Múltiples por VBS? RRS feed

  • Pregunta

  •  

    Hola gente, tengo un nuevo tema, a ver si alguien tiene el conocimiento para darme una mano...

    El tema es así.

    Acabo de solucionar un problemiya de un Script por Vbs para mapear unidades de red.

    Ahora bien... como no sé de Visual... acudo a ustedes...

     

    Quiero realizar para los usuarios que pertenezcan a más de un grupo dos mapeos por Default...

    Para el grupo que corresponde, mapear en primera instancia la unidad correspondiente, pero si además este usuario pertenece al grupo "CONDOR" mapear otra unidad más.

     

    El script es el siguiente:

     

    Const Operaciones   = "cn=operaciones"
    Const Sistemas      = "cn=sistemas"
    Const Condor     = "cn=condor"

    On error resume next

    ' Mapea en la unidad H la home folder del usuario.

    Set wshNetwork = CreateObject("WScript.Network")
    wshNetwork.MapNetworkDrive "h:", "\\server\Users$\" & wshNetwork.UserName

    Set ADSysInfo = CreateObject("ADSystemInfo")
    Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
    strGroups = LCase(Join(CurrentUser.MemberOf))

    'Mapeo de Disco Publico para Todos los usuarios
    wshNetwork.MapNetworkDrive "i:", "\\server\Datos"

    'Mapeo segun sector de trabajo.

    If InStr(strGroups, "cn=operaciones,")  Then
     wshNetwork.MapNetworkDrive "S:", "\\server\Operaciones"

    End if

    If InStr(strGroups, "cn=Sistemas,")  Then
     wshNetwork.MapNetworkDrive "S:", "\\server\Sistemas"

    End if

    If InStr(strGroups, "cn=Condor,")  Then
     wshNetwork.MapNetworkDrive "z:", "\\condor\condor"

    End if

     

    Estimo que para esto abrá que colocar algún "else if" o bien algun "condicional" tipo AND u OR?

     

    Desde ya... mil gracias!

    miércoles, 7 de noviembre de 2007 20:38

Respuestas

  • Ese script me parece conocido Smile jajajja

     Puedes utilizar un OR de la siguiente manera.

     


    If InStr(strGroups, "cn=sistemas,")    or If InStr(strGroups, "cn=condor,")    Then
     wshNetwork.MapNetworkDrive "S:",
    \\server\recurso
    End if

    Slds
    Sebastian del Rio

     

    martes, 13 de noviembre de 2007 17:42
    Moderador

Todas las respuestas

  • Yo los manejo en .bat y con net use y a cada usuario en comandos de inicio de sesion le asigno el .bat

    ejemplo:

    net use g: \\server\carpeta /yes

     

    el . bat lo guardas en en la carpeta de sysvol\dominio\scripts

     

    viernes, 9 de noviembre de 2007 19:54
  • Gracias Alberto, pero la idea es tratar de hacer por Vbs, entiendo perfectamente que de esta manera se puede hacer, pero la idea es automatizarlo por vbs porque se me hace bastante dificultoso poder hacerlo de ese manera, usuario por usuario y script por script.

     

    Otra cosa que se me ocurrió es hacer un script nuevo para el mapeo de estos casos puntuales que necesite.

    Es decir si los usuarios pertenecen al grupo condor por ejemplo, hacer un scrip con el mapeo de esa carpeta en particular.

    Pero igualmente sería tedioso tener que hacerlo de esa manera.

     

    Por eso agradecería en demasía que alguien me de una mano con este tema. Wink

    sábado, 10 de noviembre de 2007 0:04
  • Omar, puedes simplficar los scripts usando KIXtart

    http://www.scriptlogic.com/Kixtart/htmlhelp/functions/ingroup.htm

    incluso tiene otras funcione que te pueden ayudar.

    martes, 13 de noviembre de 2007 14:24
  • Ese script me parece conocido Smile jajajja

     Puedes utilizar un OR de la siguiente manera.

     


    If InStr(strGroups, "cn=sistemas,")    or If InStr(strGroups, "cn=condor,")    Then
     wshNetwork.MapNetworkDrive "S:",
    \\server\recurso
    End if

    Slds
    Sebastian del Rio

     

    martes, 13 de noviembre de 2007 17:42
    Moderador
  • Gracias Sebastian!

    como habrás visto... tus aportes y el creador del Copy/Paste... son de las cosas mas grandes que me pasaron en la vida... Stick out tongue

     

    al fin lo solucioné de la siguiente manera...

     

    If InStr(strGroups, "cn=condor,") and InStr(strGroups, "cn=operaciones,")  Then

     wshNetwork.MapNetworkDrive "S:", "\\server\Operaciones"
     wshNetwork.MapNetworkDrive "z:", "\\condor\condor"

     

    Muchisimas gracias por la colaboración!

     

    miércoles, 14 de noviembre de 2007 15:07