none
Conectar Unidades de red por politicas de Grupos RRS feed

  • Pregunta

  • Hola,

    Tengo la siguiente situacion:

    - Tengo 6 departamentos en mi compañia (ej. Comercial, Administracion, Direccion, Tecnicos, etc)
    - Tengo creados 1 grupo por cada departamento
    - Ya cree los usuarios y los asigne a su grupo correspondiente
    - Tengo los cada usuario con su perfil asignado a una carpeta PERFILES para que sean perfiles moviles.
    - Tengo una carpeta compartida por cada grupo, con los permisos asignados segun el grupo.
    - Tengo usuarios que pertenecen a mas de un grupo.

    Necesito mapear las carpetas en unidades de red correspondientes a los permisos de cada usuario, por ejemplo:

    - Si el usuario1 tiene permiso solo para accesar a la carpeta Comercial, que al momento de loguearse le aparezca la unidad de red a la que tiene acceso.
    - Si el usuario2 tiene permiso para accesar a la carpeta Administracion y Comercial, que de la misma forma luego del logueo vea las 2 unidades de red a las que tiene permisos.

    ...Y asi con los diferentes usuarios.

    He intentado hacerlo con un login_script.vbs y si lo hago uno por uno me resulta bien, pero cuando trato de hacerlo en conjunto no me resulta. Solo me resulta si hago un script diferente para cada usuario, pero son muchos scripts, quisiera un solo script para todos.

    Espero no sea muy complicada la explicacion.

    Gracias.
    miércoles, 5 de septiembre de 2007 1:37

Todas las respuestas

  • Crea grupos , y asigna las unidades segun grupos, mira el siguiente link

    http://technet2.microsoft.com/windowsserver/en/library/8a268d3a-2aa0-4469-8cd2-8f28d6a630801033.mspx?mfr=true

    Slds
    Sebastian del Rio

     

    miércoles, 5 de septiembre de 2007 10:01
    Moderador
  • Podrías crear una Unidad Organizativa (OU) en donde ubicarías a los usuario de cada grupo.

    Establece en las carpetas de red los permisos correspondientes.

    Finalmente establece un SCRIPT en cada GPO que se aplicacrá a cada grupo de usuarios.

     

    Te dejo un par de links sobre el tema que te orientarán sobre su campo de aplicación:

    http://support.microsoft.com/kb/198642/en-us

    http://www.computerperformance.co.uk/Logon/logon_script_assign.htm

     

     

    Saludos.

    miércoles, 5 de septiembre de 2007 11:31
    Moderador
  • Te dejo un ejemplo que uso cada tanto Smile
    En este ejemplo deberas tener creadas las OU sistemas , finance , human resources.

    Logon Script.vbs
    --------------------------------------------------------------------------------
    Const sistemas     = "cn=sistemas"

    ' Se mapea la Home folder del usuario , que deberia estar en  \\server\username

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

     

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

     

    ' Se mapea para el grupo sistemas la unidad G apuntando a \\server\sistemas por ejemplo.
    'En caso de necesitar mas sectores se debe declarar al principio del script y luego copiar el codigo de aqui abajo

    'modificando el nombre de los sectores y recursos

     

    If InStr(strGroups, sistemas) Then

        wshNetwork.MapNetworkDrive "g:",    "\\server\recurso"

    End If
    ---------------------------------------------------------------------------------------------------------------------

     

    Slds
    Sebastian del Rio

    miércoles, 5 de septiembre de 2007 13:59
    Moderador
  • Hola Sebastian, gracias por tu respuesta.

    Mira, intente hacerlo con ese ejemplo que me pusiste pero no me resulta, te muestro mi script:

     

    Const TECHNICIENS_GROUP        = "cn=techniciens"
    Const COMMERCIAL_GROUP        = "cn=commercial"
    Const ADMINISTRATION_GROUP  = "cn=administration"
    Const DIRECTION_GROUP            = "cn=direction"
    Const SECRETARIAT_GROUP       = "cn=secretariat"
    Const STOCK_GROUP                  = "cn=gestionnaire de stock"

     

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

     

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

     

    If InStr(strGroups, TECHNICIENS_GROUP) Then

        wshNetwork.MapNetworkDrive "H:",
        "
    \\Server01\TECHNICIEN\"
      
    ElseIf InStr(strGroups, COMMERCIAL_GROUP) Then

        wshNetwork.MapNetworkDrive "I:",
        "
    \\Server01\COMMERCIAL\"
     
    ElseIf InStr(strGroups, ADMINISTRATION_GROUP) Then

        wshNetwork.MapNetworkDrive "J:",
        "
    \\Server01\ADMINISTRATION\"

     

    ElseIf InStr(strGroups, DIRECTION_GROUP) Then

        wshNetwork.MapNetworkDrive "K:",
        "
    \\Server01\DIRECTION\"

     

    ElseIf InStr(strGroups, SECRETARIAT_GROUP) Then

        wshNetwork.MapNetworkDrive "L:",
        "
    \\Server01\SECRETARIAT\"

     

    ElseIf InStr(strGroups, STOCK_GROUP) Then

        wshNetwork.MapNetworkDrive "M:",
        "\\Server01\GESTIONNAIRE DE STOCK\"

     

    End If

    El usuario me lo carga sin problema ya que el perfil lo tengo asignado a una carpeta donde van todos los perfiles, pero cuando termina de cargar el perfil no me muestra las unidades de red.

     

    Ahora....nose si estare haciendo algo mal: ...revice los grupos y asigne a los usuarios a cada grupo correspondiente. Los grupos los tengo creados directamente en la carpeta de Usuarios del Directorio Activo, nose si es mejor crear los grupos aparte dentro de la raiz del dominio???.

     

    Gracias.

     

     

    miércoles, 5 de septiembre de 2007 14:28
  • Prueba con la sintaxis asi , respetando las lineas , espacios y dema.s

    Copio
    ----------------------------------------

     

    Const TECHNICIENS_GROUP        = "cn=TECHNICIENS"

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

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

     

    If InStr(strGroups, TECHNICIENS_GROUP) Then

        wshNetwork.MapNetworkDrive "H:", "\\Server01\TECHNICIEN\"

    End If

    miércoles, 5 de septiembre de 2007 14:40
    Moderador
  • Hola,

     

    Intente de esa forma y me aparece un mensaje de error:

    ---------------------------
    Windows Script Host
    ---------------------------
    Script: \\SERVER01\NETLOGON\login_script2.vbs
    Line: 4
    Char: 1
    Error: Aucun logiciel réseau n'a accepté le chemin réseau fourni.

    Code: 800704B3
    Source:  WSHNetwork.MapNetworkDrive

    ---------------------------

    Lo probe tal y como me lo enviaste para ver como iba con un solo usuario, todavia no inclui las otras carpetas. Como veras yo pongo el script en la carpeta de netlogon, nose si tendria que ubicarlo en otra parte, pero mi idea es tener un solo script albergado en una sola carpeta para que todos los usuarios utilicen el mismo.

    miércoles, 5 de septiembre de 2007 15:00
  • Javier , chequea en la linea 4 , intente traducir el texto en frances con google , pero lo traduce medio mal .. jeje
    Si hay alguna ruta de red , asegurate que la misma sea correcta.

    Slds
    Sebastian del Rio

     

    miércoles, 5 de septiembre de 2007 15:40
    Moderador
  • Esto es lo que dice el error en español:

    ---------------------------
    Windows Script Host
    ---------------------------
    Secuencia de comandos: \\Server01\netlogon\login_script2.vbs
    Línea: 4
    Carácter: 1
    Error: Ningún proveedor de red ha aceptado la ruta de acceso de la red.

    Código: 800704B3
    Origen:  WSHNetwork.MapNetworkDrive

    ---------------------------

     

    Pero cuando reviso la linea 4 lo que tengo es esto:

    wshNetwork.MapNetworkDrive "h:", "\\FileServer\Users\" & wshNetwork.UserName

     

    La unica ruta que tengo incluida es en la linea 13:

    wshNetwork.MapNetworkDrive "H:", "\\Server01\TECHNICIEN\"

     

    la cual ya revice y esta correcta, ademas el usuario que estoy usando ya verifique que pertenece al grupo y que ademas dentro de los permisos de compartir esta incluido el grupo y en los accesos de seguridad tambien.

     

    Slds.

    --

    Javier P.

    miércoles, 5 de septiembre de 2007 15:59
  • En la linea 4 te esta buscando en la maquina \\fileserver\Users una carpeta que tenga el nombre de usuario de la persona logueada.
    Esa ruta es la que te esta rechazando el script , si ni la quieres utilizar comentareala con comilla simple.

    Slds
    Sebastian del Rio

    miércoles, 5 de septiembre de 2007 16:02
    Moderador
  • Hola,

    Ya comente la linea 4, porque vi que lo que me hace es mapearme a la unidad del perfil del usuario y no me interesa que los usuarios modifiquen sus datos por ahora.

    Ahora tengo un nuevo error:

    ---------------------------
    Windows Script Host
    ---------------------------
    Secuencia de comandos: \\Server01\netlogon\login_script2.vbs
    Línea: 7
    Carácter: 1
    Error: No se ha efectuado ninguna asignación entre los nombres de cuenta y los identificadores de seguridad.
    Código: 80070534
    Origen:  (null)

    ---------------------------

    Y mi linea 7 del script es:

    Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)

     

    Slds.

    miércoles, 5 de septiembre de 2007 18:04