none
Fallo al mapear unidad de red. RRS feed

  • Pregunta

  • Buenas, tengo un Dominio con un W2003 Server Enterprise  R2 Sp2 x64 y DNS , junto con un adicional 2003 Server Enterprise R2 Sp2. (actualizados a la fecha de hoy, Nod32 2.70 y sin Firewalls).

    Tenemos las carpetas de los usuarios en \\SERVER08\ALMACENAMIENTO\%username% pero en algunas ocasiones no conectan.

    Tengo configurado un netuse.bat con el siguiente código que se ejecuta en cada almkno: net use z: \\SERVER08\almacenamiento\%username%

    Y además en cada perfil de cada usuario tienen en la pestaña perfil Carpeta particular: z:\, conectar a z: \\SERVER08\almacenamiento\%username%

    Haciendo pruebas intenté una tercera sobrecarga de la conexión a través de GPOs pero no funciona.

    Muchas gracias.

    miércoles, 18 de febrero de 2009 11:38

Respuestas

  • La solución en mi propia respuesta, añado: Wscript.Sleep 5000

    Option Explicit
    Dim oNet, sUser, startTime

    On Error Resume Next

    ' Objeto Red
    Set oNet = CreateObject("WScript.Network")

    ' Obtenemos el login de usuario. En Windows 9x, el usuario puede no estar todavía autentificado
    ' cuando el script comienza a ejecutarse; En ese caso reitera cada 1/2 segundo
    sUser = oNet.UserName 'En minúsculas

    startTime = Now
    Do While sUser = ""
    If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
    Wscript.Sleep 500
    sUser = oNet.UserName
    Loop

    'AQUI APLICO 5S DE RETARDO:
    Wscript.Sleep 5000

    ' Mapeado de la unidad F particular de cada usuario
    oNet.RemoveNetworkDrive "Z:"
    oNet.MapNetworkDrive "Z:", "\\SERVER08\ALMACENAMIENTO\" & sUser

    Gracias.

    pd: Ahora tengo 3 tipos diferentes de mapeo, espero no vuelva a fallar!!!
    • Marcado como respuesta lagar1977 viernes, 20 de febrero de 2009 9:46
    viernes, 20 de febrero de 2009 9:45

Todas las respuestas

  • He probadod e la 3º manera posible, con vbs, pero no me pilla %username% :

    Set objNetwork = Wscript.CreateObject("WScript.Network")
    objNetwork.MapNetworkDrive "Z:" , "\\SERVER08\ALMACENAMIENTO\%username%"

    *****************************
    Parece que así funciona: '**********************************************
    Option Explicit
    Dim oNet, sUser, startTime

    On Error Resume Next

    ' Objeto Red
    Set oNet = CreateObject("WScript.Network")

    ' Obtenemos el login de usuario. En Windows 9x, el usuario puede no estar todavía autentificado
    ' cuando el script comienza a ejecutarse; En ese caso reitera cada 1/2 segundo
    sUser = oNet.UserName 'En minúsculas

    startTime = Now
    Do While sUser = ""
    If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
    Wscript.Sleep 500
    sUser = oNet.UserName
    Loop

    ' Mapeado de la unidad F particular de cada usuario

    oNet.RemoveNetworkDrive "Z:"
    oNet.MapNetworkDrive "Z:", "\\SERVER08\ALMACENAMIENTO\" & sUser

    Gracias.
    jueves, 19 de febrero de 2009 10:33
  • Hola, cuando creas la carpeta con el nombre del usuario, tienes que compartirla al mismo usuario con el nombre de el o el login agregandole al final el signo $ para que no lo vea el resto de la empresa al recurso compartido y dejarle los permisos al usuario en la carpeta.
    Si deseas conectarlo en las propiedades del profile (Home folder, opcion Connect), con la opcion conectar seleccionando una letra para la unidad (Z:) y le estableces \\NameServer\%username%
    Si usas un archivo .bat compartes la carpeta, pero no lo conectas a la letra como te menciono mas arriba, porque usas el comando net use (User Profile, opcion Logon Script) escribes el nombre del archivo .bat para que lo ejecute el usuario, este archivo debera estar en la carpeta Sysvol del servidor y la linea de comando deberia contener:
    net use Z: \\NameServer\%username%$
    Espero que te sirva... saludos.
    Ricardo Lucero
    jueves, 19 de febrero de 2009 14:22
  • Buenas, las carpetas tienen permisos ya de por si cada alumno ya que la cuenta modelo de la que se crean lo tiene hecho.

    Es decir a mano conectan con el netuse.bat incluso con el netuse.vbs que os pongo ahí. El problema es que no siempre lo hacen a la 1º y es necesario ir a mano o bien reiniciar la sesión. De momento tengo un netuse.bat con el siguiente código que se ejecuta en cada almkno: net use z: \\SERVER08\almacenamiento\%username%

    Y además en cada perfil de cada usuario tienen en la pestaña perfil Carpeta particular: z:\, conectar a z: \\SERVER08\almacenamiento\%username%

    El netuse.vbs funciona bien una vez que ya he iniciado sesión pero sale error si lo pongo en lugar del netuse.bat.

    Gracias!!!

    PD: Necesito un retardo en que se ejecute el vbs.. Investigaré el código.
    jueves, 19 de febrero de 2009 17:41
  • La solución en mi propia respuesta, añado: Wscript.Sleep 5000

    Option Explicit
    Dim oNet, sUser, startTime

    On Error Resume Next

    ' Objeto Red
    Set oNet = CreateObject("WScript.Network")

    ' Obtenemos el login de usuario. En Windows 9x, el usuario puede no estar todavía autentificado
    ' cuando el script comienza a ejecutarse; En ese caso reitera cada 1/2 segundo
    sUser = oNet.UserName 'En minúsculas

    startTime = Now
    Do While sUser = ""
    If DateDiff("s", startTime, Now) > 600 Then Wscript.Quit
    Wscript.Sleep 500
    sUser = oNet.UserName
    Loop

    'AQUI APLICO 5S DE RETARDO:
    Wscript.Sleep 5000

    ' Mapeado de la unidad F particular de cada usuario
    oNet.RemoveNetworkDrive "Z:"
    oNet.MapNetworkDrive "Z:", "\\SERVER08\ALMACENAMIENTO\" & sUser

    Gracias.

    pd: Ahora tengo 3 tipos diferentes de mapeo, espero no vuelva a fallar!!!
    • Marcado como respuesta lagar1977 viernes, 20 de febrero de 2009 9:46
    viernes, 20 de febrero de 2009 9:45