Al configurar un Active Directory, una de las primeras cosas que desea hacer es la asignación automática de unidades de red a diferentes usuarios.
Como recordatorio, una unidad de red es un recurso compartido que se presenta a una estación de trabajo / usuario en forma de letra, como un disco duro / llave USB….
En este tutorial, le mostraré dos formas de montar una unidad de red, por GPO y usando un script que debe ejecutarse al iniciar sesión, por lo que también debe usar la política de grupo .
A través de este tutorial veremos que el resultado es el mismo.
El mapeo de unidades de red por política de grupo tiene varias ventajas para mí:
- Las estaciones de trabajo cliente las actualizan periódicamente y es posible forzar la actualización mediante el comando gpupdate.
- Usando una consola gráfica
- Muchas opciones de filtrado (incluso si no tiene un script, puede hacer lo mismo).
- Registro de eventos en Windows Observer que permite una depuración rápida.
La secuencia de comandos de inicio de sesión ciertamente está configurada en una política de grupo, pero el comando gpupdate no le permite reproducir la secuencia de comandos, debe cerrar y luego abrir la sesión nuevamente para aplicar la secuencia de comandos nuevamente.
Requisito previo:
- Estar en un entorno de Active Directory.
- Tener una carpeta compartida accesible para los usuarios a quienes se asignará.
GPO – Política de grupo
Abra el Editor de políticas de grupo en un controlador de dominio.
Cree una nueva política, haga clic con el botón derecho en el nombre de dominio 1 o en una unidad organizativa y haga clic en Crear un GPO en este dominio, y enlace aquí 2.
Dé un nombre con estrategia y haga clic en Aceptar 1.
Haga clic derecho en la estrategia 1 y haga clic en Editar 2 para abrir el editor.
Vaya a Configuración de usuario / Preferencias / Configuración de Windows y haga doble clic en Asignaciones de unidades 1.
Haga clic con el botón derecho en Nuevo 1 / Unidad asignada 2.
Complete el formulario:
- 1 Ingrese la ubicación del recurso compartido de red
- 2 Indique la letra utilizada
- 3 Aplicar
- 4 OK
- A y B para etiquetar la unidad de red
La unidad 1 debe estar visible en las asignaciones de unidades.
Resumen de GPO, de forma predeterminada, la unidad se asigna a todos los usuarios.
Limitar el mapeo a un grupo
En esta parte veremos cómo limitar el mapeo a un grupo de usuarios usando la segmentación por nivel de artículo.
También es posible limitar la ejecución de la política a nivel de filtrado de seguridad, lo que implica hacer una política por lector.
La orientación a nivel de elemento no limita los derechos en el recurso compartido, aún debe configurar los derechos NTFS en la carpeta.
La orientación a nivel de elemento no limita los derechos en el recurso compartido, aún debe configurar los derechos NTFS en la carpeta….
Vaya a la pestaña Común 1, marque «Orientación a nivel de elemento» 2 y haga clic en Orientación 3.
Haga clic en Nuevo elemento 1 y seleccione Grupo de seguridad 2.
Agregue su grupo 1 y haga clic en Aceptar 2.
Está terminado, la unidad P se asignará solo a los usuarios que estén en el grupo Grp_Partage_RW. Si regresa a la descripción general de la configuración de la política, puede ver los elementos de la orientación 1.
Script
Cree un nuevo archivo que debe tener la extensión vbs.
Edite el archivo (Notepad ++, notepad…) y agregue los códigos a continuación:
' En cas d erreur le script continue
On error resume next
' Declaration des variables
Dim WshNetwork
' Declaration des objets
Set WshNetwork = WScript.CreateObject("WScript.Network")
' Mappage du lecteur P
WshNetwork.MapNetworkDrive "P:", "\\LAB-AD1\partage", true
Agregue una secuencia de comandos para iniciar sesión mediante la directiva de grupo para realizar la asignación de unidades de red.
Limitar el mapeo a un grupo por script
Al igual que con el GPO, ahora vamos a modificar el script para limitar la asignación de la unidad de red al grupo Grp_partage_RW.
Edite el archivo:
'En cas d erreur le script continue
On error resume next
' Declaration des variables
Dim WshNetwork,oShell
' Declaration des objets
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oShell = CreateObject("WScript.Shell")
' Mappage du lecteur P
If isMember("Grp_Partage_RW") Then
WshNetwork.MapNetworkDrive "P:", "\\LAB-AD1\partage", true
End If
'#####################################################
' Functions secondaires
'#####################################################
Function IsMember(groupName)
If IsEmpty(groupListD) then
Set groupListD = CreateObject("Scripting.Dictionary")
groupListD.CompareMode = 1
ADSPath = EnvString("userdomain") & "/" & EnvString("username")
Set userPath = GetObject("WinNT://" & ADSPath & ",user")
For Each listGroup in userPath.Groups
groupListD.Add listGroup.Name, "-"
Next
End if
IsMember = CBool(groupListD.Exists(groupName))
End Function
Function EnvString(variable)
variable = "%" & variable & "%"
EnvString = oShell.ExpandEnvironmentStrings(variable)
End Function
Como puede ver, se han agregado dos funciones al final del código, que permiten verificar la pertenencia al grupo del usuario que inició sesión. El mapeo de la unidad ahora es condicional (if).
Conclusión
GPO o script, ambas soluciones funcionan, todo depende de lo que prefieras. Si opta por el script, comente bien su código.