Buscar

Script para realizar mapa de red según grupo de seguridad

@Echo Off

Rem ------------------------------------------
Rem - Script para realizar mapa de red según -
Rem - grupo de seguridad                     -
Rem ------------------------------------------
Rem


Net User /domain %username% | find /i "Grupo-Seguridad-1"
If Not Errorlevel 1 Goto Grupo-Seguridad-1
:End-Grupo-Seguridad-1

Net User /domain %username% | find /i "Grupo-Seguridad-2"
If Not Errorlevel 1 Goto Grupo-Seguridad-2
:End-Grupo-Seguridad-2

Goto Fin

:Grupo-Seguridad-1
Echo Cargando Grupo-Seguridad-1 ...
Net Use P: /D /Y
Net Use P: \\SERVER01\Share-GSEC1 /Y

Goto End-Grupo-Seguridad-1

:Grupo-Seguridad-2
Echo Cargando Grupo-Seguridad-2 ...
Net Use L: /D /Y
Net Use L: \\SERVER01\Share-GSEC2 /Y

Goto End-Grupo-Seguridad-2

:Fin


A continuación sobre el script anterior analizaremos que ocurre si el usuario pertenece al "Grupo-Seguridad-1" o al "Grupo-Seguridad-2" o a ambos:


Script para realizar mapa de red según grupo de seguridad

Script para realizar mapa de red según grupo de seguridad

Script para realizar mapa de red según grupo de seguridad

12 comentarios:

  1. Hola Xavi me gustaria implementar este script... Lo que hice fue cambiar las palabras (Grupo-Seguridad-1,Grupo-Seguridad-2, \\SERVER01\Share-GSEC2, \\SERVER01\Share-GSEC1 y /domain) Ademas cree una carpeta en el servidor compartida para todos y dentro de ella dos carpetas (uno para el grupo 1 y el otro para el grupo 2). Cuando intento ejecutar el script.vbs me sale un error en la linea Net User /domain %username% | find /i "Grupo-Seguridad-1"

    No se si lo estoy haciendo bien o que me falta o que me lo ejecuto o que permiso necesito.

    Gracias por tus ayudas

    ResponderEliminar
    Respuestas
    1. Hola John,

      Por lo que comentas creo que el problema está en el nombre del script.

      En el ejemplo del post tenemos un script de CMD y no de VBS por lo tanto la extensión del script debería ser .BAT. Ejemplo: script.bat

      ¡Ya nos dirás si funciona!

      Eliminar
  2. Hola Xavier utilizando tu codigo con extension .bat me conecta la unidad pero hay dos cosas que no entiendo:
    1- Si yo solo coloco el grupo de seguridad y la ruta de la carpeta compartida en el script u luego la carpeta le doy permiso de control total a otro grupo de seguridad porque me conecta la unidad de red si el usuario que uso esta en otro grupo.
    2-Cuando yo utilizo esta linea Goto End-Grupo-Seguridad-1 me conecta la unidad y me la desconecta continuamente sin parar, apenas se lo quito me deja la unidad conectada y no la desconecta.
    Entiendo que este scritp su funcion es conectar una unidad de red si el usuario pertenece al grupo de seguridad que esta aplicado a la carpeta sino pertenece no deberia de conectarle.

    Agradezco y me aclares esta duda.

    De ante mano gracias

    ResponderEliminar
  3. El script era solo un ejemplo, he modificado el código en el post para que te funcione según lo que necesitas.

    Ahora si el usuario pertenece al "Grupo-Seguridad-1" se le mapea la unidad P: y si pertenece al "Grupo-Seguridad-2" se le mapea la unidad L:

    y si pertenece a los dos, se le mapea la unidad P: y L:

    ¡Ya nos dirás si te funciona!

    ResponderEliminar
  4. Gracias amigo ahora si me sirvió el script y que sera de gran utilidad en la empresa donde laboro.

    Saludos

    ResponderEliminar
  5. Me alegro que te haya sido útil. ¡Un saludo!

    ResponderEliminar
  6. Hola Xavi disculpa el abuso de tu gran ayuda, hay alguna forma de que al conectar la unidad de red no aparezca la ruta completa de la carpeta conectada por seguridad.

    De antemano muchas gracias por tu valiosa ayuda.

    Saludos

    ResponderEliminar
  7. Te he preparado un post con la respuesta:

    http://www.sysadmit.com/2014/02/Mapear-unidades-de-red-sin-que-al-usuario-le-aparezca-la-ruta-UNC.html

    La idea es utilizar un script de VBS para mapear las unidades en vez de hacerlo con net use.

    ¡Ya nos explicas si te ha funcionado!

    ResponderEliminar
  8. Buenas,

    Yo estoy utilizando este mismo script, pero en un departamento en concreto me encuentro con un problema, ya que este tiene subdepartamentos. Y la única forma que tengo para saber que unidad de red mapear, es extrayendo los 7 primeros caracteres del nombre del grupo....

    ¿Cómo podría hacerlo, como seria la sintaxis?

    Gracias!!!

    ResponderEliminar
  9. Puedes recortar caracteres con el comando set.

    Prueba desde CMD este ejemplo:

    SET VARTEST=123456789ABCDEF

    REM Extrae los primeros 7 carácteres

    SET RESULTADO=%VARTEST:~0,7%

    ECHO %RESULTADO%

    Otra opción es renombrar los grupos de seguridad.

    Al renombrarlos se mantiene el SID y los permisos NTFS no quedarán afectados.

    Un saludo!

    ResponderEliminar
  10. Buenas noches Xavi, primero antes que nada quiero agradecer por todas las aportaciones que nos das son muy buenas y gracias por el apoyo, ahora tengo un problema el cual requiero de tu apoyo, tengo una PC que no la tengo en Dominio y quisero Mapear una carpeta a esa misma Pc, pero lo que quiero es tener 2 grupos el grupo 1 y grupo 2 de los cuales el grupo 1 que al ingresar los usuarios solo pueda ver sierta ruta por ejemplo: N:\Share1\ y el grupo 2 al ingresar los usuarios puedan ver N:\Share2\, cres que se pueda hacer esto? ya tengo creados los grupos y dentro de cada grupo ya tengo los usuarios los hice desde el administrador de equipos -> usarios y grupos locales, te agradeceria si me orientas como hacer esto, Gracias y Saludos!!

    ResponderEliminar
    Respuestas
    1. No hay problema en poderlo hacer.

      Si repasas el script, la verificación si el usuario pertenece a un grupo se realiza con el comando net user junto con el comando find que busca la cadena de texto, por ejemplo:

      Net User /domain %username% | find /i "Grupo-Seguridad-2"

      Si el usuario fuera local en vez de una cuenta de dominio, bastaría con quitar el /domain:

      Net User %username% | find /i "Grupo-Seguridad-2"

      Piensa que este script solo mapea unidades, te faltaría configurar permisos NTFS y recursos compartidos así como algún método de ejecución del script en el grupo de trabajo, por ejemplo una GPO local.

      Te recomiendo que repases el libro "WFS - Windows File Server", allí encontrarás detalle y ejemplos prácticos de como implementar y administrar un servidor de ficheros.

      Un saludo!

      Eliminar