Shadow Groups – dsquery & dsmod

1 Juil

Un « Shadow Groups » est un concept en fond de tâche permettant de lier les membres d’une UO à un groupe donné.
Lors de la création de nouveaux utilisateurs dans AD, surtout si vous avez mis en place des délégations de contrôle pour la création des utilisateurs, les erreurs de saisie sont fréquentes (ex: coordonnées erronées, mauvais chemin de profil, mauvais droits attribués ou encore groupe non correspond)

L’utilisation de scripts planifiés permet automatiquement de lister et modifier les utilisateurs d’une même UO afin de corriger les erreurs de saisie.

Nous allons éditer un script batch automatisé permettant de modifier les paramètres suivants des utilisateurs de l’unité d’organisation User_Stock_Strasbourg

1, Les utilisateurs de User_Stock_Strasbourg doivent plus être membre d’aucun groupe

2, Les utilisateurs de User_Stock_Strasbourg doivent rejoindre les groupes Strasbourg et Stock.

3, Le chemin de profil des utilisateurs doit être \\PDC-Fabien.skynet.t2si\Profil$\Strasbourg\%username%

4, planifier le script toutes les 5 minutes via le planificateur de tâches

Forêt Skynet.t2si :

Shadow1

Groupes existants :

Shadow2

1, Les utilisateurs de User_Stock_Colmar appartiennent aux groupes Stock et Colmar. Dans un 1er temps, nous allons « sortir » les utilisateurs de l’ensemble des groupes.

Shadow3

Pour ce faire nous allons utiliser la commande dsquery et dsmod.

La commande dsquery  permet d’interroger l’annuaire à l’aide de critères de recherche que vous spécifiez et ainsi de lister les utilisateurs dune UO donnée.
La commande dsmod  permet de modifier un objet existant dans l’AD.

Script :

@echo off
dsquery user ou=User_Stock_Strasbourg,ou=Stock_Strasbourg,ou=Site-Strasbourg,ou=entreprise,dc=skynet,dc=t2si | dsmod group cn=Stock,ou=Groupes,dc=skynet,dc=t2si -rmmbr
dsquery user ou=User_Stock_Strasbourg,ou=Stock_Strasbourg,ou=Site-Strasbourg,ou=entreprise,dc=skynet,dc=t2si | dsmod group cn=Strasbourg,ou=Groupes,dc=skynet,dc=t2si -rmmbr

 

Shadow4

On remarque que Anne.Onyme (comme l’ensemble des utilisateurs de l’UO) ne fait plus partie des groupes Stock et Strasbourg.

2, Pour faire rejoindre des groupes à des utilisateurs , on utilise dsmod group avec le paramètre « -addmbr »

dsquery user ou=User_Stock_Strasbourg,ou=Stock_Strasbourg,ou=Site-Strasbourg,ou=entreprise,dc=skynet,dc=t2si | dsmod group cn=Strasbourg,OU=Groupes,dc=skynet,dc=t2si -addmbr
dsquery user ou=User_Stock_Strasbourg,ou=Stock_Strasbourg,ou=Site-Strasbourg,ou=entreprise,dc=skynet,dc=t2si | dsmod group cn=Stock,OU=Groupes,dc=skynet,dc=t2si -addmbr

3, Pour changer le chemin de l’ensemble des utilisateurs, on utilise la commande for.

Setlocal enabledelayedexpansion
rem Création d'un fichier texte avec la liste des utilisateurs de l'UO User_Stock_Strasbourg
dsquery user ou=User_Stock_Strasbourg,ou=Stock_Strasbourg,ou=Site-Strasbourg,ou=entreprise,dc=skynet,dc=t2si > Users.txt
For /f "delims=, tokens=1,*" %%a in (Users.txt) do (
set n=%%a
SET name=!n:~4!
Rem Modification du chemin de profil vec dsmod user
dsmod user %%a,%%b -profile "\\PDC.Skynet.t2si\Profil$\Strasbourg\!name!"
)
rem Suppression du fichier
del Users.txt

4, Pour planifier l’exécution du script toutes les 5 minutes, on utilise la commande Schtasks :

schtasks /create /SC minute /mo 5 /tn "script groupes masqués" /TR \\pdc-fabien\Users\Administrateur\Desktop\Script_Grpe_masqués.bat

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *