Gestion sommaire des GPO depuis le contrôleur de domaine
Attention
Les commandes gpo-tool policy proposées sur le module sont fournies par le paquet gpo-tool
et ses dépendances et complète partiellement samba-tool.
La commande gpo-tool policy
réplique le fonctionnement du client en ligne de commande samba-tool
.
Elle propose les sous-commandes suivantes :
register
: enregistrement d’une description de règle dans un fichier local servant de stockage à l’usage de la commandegpo-tool
;list
: affichage de la liste des description de règle connues par la commandegpo-tool
(enregistrées dans le fichier de stockage par la commanderegister
). Actuellement, la commandelist
affiche le détail de toutes les descriptions contenues dans le fichier local.add
: association de la règle au GPO ;inspect
: affichage des détails de la description de la règle. L’inspection des règles permet de voir quelles règles seront acceptées par la commandeadd
et quelles variables sont nécessaires.
Associer des règles à un GPO nécessite une édition de l’Active Directory et du répertoire SYSVOL[3]. La nature des modifications du répertoire SYSVOL dépend de la règle à associer de même que les informations à ajouter à l’Active Directory.
Les commandes proposées couvrent la fonctionnalité de création et d’ajout de descriptions de règles (l’ensemble des éléments permettant d’associer la règle à un GPO) et l’association d’un sous-ensemble des règles existantes à un GPO.
Est testé, actuellement, l’ajout des règles suivantes :
association d’un utilisateur ou groupe de l’Active Directory à un groupe local ;
désactivation de la fonctionnalité de changement de mot de passe en passant par l’enchaînement de touches
Ctrl + Alt + Suppr
;la restriction des droits de jonction de machines au domaine, à un compte.
Enregistrement des descriptions de règles
Une description de règle s’ajoute au fichier local avec un appel comme suit :
# gpo-tool policy register <nom unique> <CSE_GUID> <type> <emplacement> <modèle>
Les arguments sont les suivants :
nom unique
: le nom unique servant à identifier la règle (passée en argument de la commande add) ;CSE_GUID
: l’identifiant du composant prenant en charge la règle dans la console d’administration de Windows ;type
: le type de règle déterminant quel traitement est nécessaire pour la mettre en place ;emplacement
: l’emplacement dans le répertoire du GPO, commençant soit parMachine
, soit parUser
;modèle
: contenu du fichier à créer dans le répertoiresysvol
avec emplacement de variables.
Exemple
La commande suivante enregistre une description de la règle permettant l’association d’un utilisateur ou groupe de l’Active Directory à un groupe local :
le nom Groupes restreints ;
un CSE_GUID
{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}
;la règle est mise en place sous la forme
GptTmpl.inf
;le fichier est créé dans
Machine/Microsoft/Windows NT/SecEdit
(implique que le contexte d’application estMachine
) ;le contenu est déterminé par
[Group Membership]\n{group}__Memberof = {sup_group}\n{group}__Members = {sub_group}
(la section Group Membership avec les clés {group}__Memberof et {group}__Members) avec les variablesgroup
,sup_group
etsub_group
.
# gpo-tool policy register 'Groupes restreints' '{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}' 'GptTmpl.inf' 'Machine/Microsoft/Windows NT/SecEdit' '[Group Membership]\n{group}__Memberof = {sup_group}\n{group}__Members = {sub_group}'
Exemple
La commande suivante enregistre une description de la règle permettant désactivation de la fonctionnalité de changement de mot de passe en passant par l’enchaînement de touches Ctrl + Alt + Suppr
:
le nom identifiant la description
Ctrl + Alt + Suppr
;le CSE_GUID
{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{D02B1F73-3407-48AE-BA88-E8213C6761F1}
;la règle est mise en place sous la forme
Registry.pol
;le fichier est créé dans
User
(implique que le contexte d’application estUser
) ;le contenu est déterminé par
Software\Microsoft\Windows\CurrentVersion\Policies\system;DisableChangePassword;REG_DWORD;4;{value}
avec la variablevalue
.
# gpo-tool policy register 'Ctrl+Alt+Suppr' '{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{D02B1F73-3407-48AE-BA88-E8213C6761F1}' 'Registry.pol' 'User' 'Software\Microsoft\Windows\CurrentVersion\Policies\system;DisableChangePassword;REG_DWORD;4;{value}'
Remarque
Actuellement, seuls deux types sont supportés :
Registry.pol
: format de fichier permettant d’appliquer des clés de registres ;GptTmpl.inf
: format de fichier similaire au format INI[4] permettant de stocker des règles sous la forme clé-valeur.
Le choix du type n’est pas libre mais déterminé par le composant de la console qui prend en charge la règle.
Inspection des descriptions de règles
Exemple
# gpo-tool policy list
Policy: 'Groupes restreints'
- destination: Machine/Microsoft/Windows NT/SecEdit
- variables: group, sup_group, sub_group
Policy: 'Ctrl+Alt+Suppr'
- destination: User
- variables: value
Création d'un GPO
La création d'un GPO s'effectue à l'aide de la commande gpo-tool register
.
Exemple
Le GPO admin_local est créé avec la commande suivante :
# samba-tool gpo create "admin_local" -U administrator%password
GPO 'admin_local' created as {95CBBB90-2941-4AA0-BFFA-491D072EB8DC}
Exemple
Le GPO change_password est créé avec la commande suivante :
# samba-tool gpo create "change_password" -U administrator%password
GPO 'change_password' created as {E542AB9F-626C-4045-8862-F31710A37D07}
Association des règles aux GPO
L’association des règles aux GPO s’effectue avec une commande comme suit :
# gpo-tool policy add <nom du GPO> <nom de la description> [-v clé:valeur …]
Avec les arguments et paramètres suivants :
nom du GPO
: le nom d’affichage (unique du point de vue de Samba) du GPO ;nom de la description
: le nom utilisé pour distinguer la description lors de son enregistrement dans le fichier local (peut-être retrouvé grâce à la commande list) ;-v clé:valeur
: un nombre indéterminé de couples clé, valeur.
Exemple
La règle enregistrée plus tôt peut y être associée de la façon suivante :
# gpo-tool policy add "admin_local" 'Groupes restreints' -v group:*S-1-5-21-2447931902-1787058256-3961074038-5004 -v sup_group:'' -v sub_group:Administrators -U administrator%password
L’utilisateur S-1-5-21-2447931902-1787058256-3961074038-5004 issu de l’Active Directory est associé au groupe local Administrators.
Exemple
La règle enregistrée plus tôt peut y être associée de la façon suivante :
# gpo-tool policy add "change_password" 'Ctrl+Alt+Suppr' -v value :1 -U administrator%password
Remarque
La commande add édite l’Active Directory et le répertoire SYSVOL à travers des connexions ldb et SMB. L’option -U
est nécessaire pour passer le nom d’un compte autorisé à de telles éditions. Le mot de passe peut être ajouté à la suite du compte ou saisi dans le terminal.
Application du GPO au niveau d'une unité organisationnelle
Pour appliquer le GPO, il faut utiliser la commande samba-tool gpo setlink
.
Exemple
# samba-tool gpo setlink "DC=etb1,DC=lan" '{E542AB9F-626C-4045-8862-F31710A37D07}' -U administrator%password
Added/Updated GPO link
GPO(s) linked to DN DC=etb1,DC=lan
GPO : {E542AB9F-626C-4045-8862-F31710A37D07}
Name : change_password
Options : NONE
GPO : {31B2F340-016D-11D2-945F-00C04FB984F9}
Name : Default Domain Policy
Options : NONE
Débogage des GPO sous Windows
Lister les GPO appliqués
Pour commencer, il est recommandé d'actualiser les paramètres de stratégies de groupes du client, dans l'invite de commandes
, saisir :
gpupdate
La commande suivante permet d'obtenir la liste des GPO appliqués pour l'utilisateur connecté :
gpresult /SCOPE USER /V
Pour obtenir les GPO "machine", la commande (à exécuter en tant qu'administrateur) est :
gpresult /SCOPE COMPUTER /V
Exécution de code PowerShell
Si le GPO nécessite des traitements complexes, il est probable qu'il exécutera un programme PowerShell[5].
L'application Windows PowerShell ISE
(exécutée en tant qu'administrateur) permet d'ouvrir et d’exécuter simplement des fichiers .ps1[6].