Buscar

Mapear unidades de red sin que al usuario le aparezca la ruta UNC

Por defecto, si realizamos mapas de unidades de red el usuario vera la ruta UNC (Universal Naming Convention) al listarlas.

Ejemplo:

Mapear unidades de red sin que al usuario le aparezca la ruta UNC
Mapear unidades de red sin que al usuario le aparezca la ruta UNC

Si realizamos el mapa de la unidad de red con un script VBS especial, conseguiremos que no sea visible la ruta UNC:


Ejemplo de ejecución del script VBS:


Mapear unidades de red sin que al usuario le aparezca la ruta UNC

Resultado:


Mapear unidades de red sin que al usuario le aparezca la ruta UNC

Contenido del script:

 Set oWshNet = CreateObject("Wscript.Network")
 Set oShellApp = CreateObject("Shell.Application")

 sDriveLetter = "V:"
 sDriveDesc = "Respositorio1"
 sShare = "\\C7\C$"

 ' Mapeo de la unidad de red
 On Error Resume Next
 oWshNet.RemoveNetworkDrive sDriveLetter, True, True
 On Error Goto 0
 oWshNet.MapNetworkDrive sDriveLetter, sShare

 ' Establece la descripcion
 oShellApp.NameSpace(sDriveLetter & "\").Self.Name = sDriveDesc


6 comentarios:

  1. Hola Xavi y en el caso que yo quisiera combinar este script que esta con extension vbs con otro scrip de otro post que tu hiciste sobre de mapear unidades de red dependiendo del grupo de seguridad que esta con extension .bat. Puedo ingresar este codigo en el otro script o no es posible combinarlo?

    Gracias Xavi

    ResponderEliminar
  2. Se puede combinar sin problemas, pero debe hacerse en ficheros distintos y llamando al interprete de VBS cuando quieras ejecutar código VBS.

    Te he hecho un post de ejemplo para que veas como funciona:

    http://www.sysadmit.com/2014/02/llamar-un-vbs-desde-un-bat.html

    ¡Ya nos dirás si te ha funcionado!

    ResponderEliminar
  3. Hola Xavi, y si se necesita mapear mas de una unidad?:

    script:

    Set oWshNet = CreateObject("Wscript.Network")
    Set oShellApp = CreateObject("Shell.Application")

    sDriveLetter = "T:"
    sDriveDesc = "ALLE"
    sShare = "\\SERVIDOR\ALLE$"

    sDriveLetter = "V:"
    sDriveDesc = "SERVICIOS-COMUNICACIONES"
    sShare = "\\SERVIDOR\SERVICIOS-COMUNICACIONES$"

    sDriveLetter = "S:"
    sDriveDesc = "ESCANEOS"
    sShare = "\\SERVIDOR\ESCANEOS$\SERVICIOS-COMUNICACIONES"

    ' Mapeo de la unidad de red
    On Error Resume Next
    oWshNet.RemoveNetworkDrive sDriveLetter, True, True
    On Error Goto 0
    oWshNet.MapNetworkDrive sDriveLetter, sShare

    ' Establece la descripcion
    oShellApp.NameSpace(sDriveLetter & "\").Self.Name = sDriveDesc

    ResponderEliminar
    Respuestas
    1. Para varias unidades, puedes revisar este enlace:

      http://www.sysadmit.com/2013/11/script-para-realizar-mapa-de-red-segun.html


      Eliminar
  4. Estimado, muchas gracias por el aporte brindado.
    Agradeceria por favor me ayudaras con esta consulta que tengo, es posible poder ocultar ciertas carpetas compartidas para ciertos usuarios, es decir en esta estructura:
    Users
    -Compartir
    -usuario1
    -usuario2
    -usuario3
    , es decir para el "usuario1" todos puedan conectarse a la carpeta users, y que tenga acceso a la carpeta compartir y ademas a su carpeta con su nombre en este caso "usuario1", y que las demas carpetas aparescan como ocultas para el, es decir no sepa que existen las demas carpetas.
    Es posible realizar eso?

    Agradecere tu coordial ayuda.
    Muchas Gracias

    ResponderEliminar
    Respuestas
    1. Sí, no hay problema:

      Además de aplicar permisos NTFS a las carpetas "Usuario1", "Usuario2", etc... tienes que activar la funcionalidad: ABE (Access-based Enumeration)

      Con ABE (Access-based Enumeration), el usuario solo verá aquellas carpetas a las que tenga permisos.

      Podrás activar ABE a nivel de recurso compartido, utilizando "Server Manager", en el apartado "File and Storage Services Shares", "Shares".

      Eliminar