18/12/2024

Active DirectoryPowerShell

PowerShell : Activer la protection des OUs sur tout l’Active Directory

I. Présentation

L'une des fonctionnalités de sécurité intégrées à l'Active Directory pour protéger son contenu est la protection contre les suppressions accidentelles des Unités d'Organisation - OU - Organizational Unit. Ainsi, elle invite que l'on supprime accidentellement une unité d'organisation de l'annuaire, ce qui engendrerait une perte d'objets AD conséquente (bien qu'il existe la corbeille Active Directory en secours).

Sur les annuaires Active Directory vieillissants, cette protection n'existait pas donc la protection n'est pas active sur les OUs créées à l'époque... même après une migration vers un OS plus récent. Plutôt que de devoir repointer une par une les OUs afin d'activer la protection manuellement là où elle n'est pas active, on va plutôt faire cela en PowerShell.

II. Lister les unités d'organisation non protégées

Commençons par visualiser les OUs où cette option n'est pas active, cette étape est facultative, mais permettra de se rendre compte s'il y a beaucoup d'OUs concernées ou non. Dans tous les cas, optez pour la solution en PowerShell car elle est vraiment simple et efficace.

Pour cela, on s'appuie sur le commandlet Get-ADOrganizationalUnit où l'on filtrera les résultats afin d'afficher uniquement les Unités d'organisation où le paramètre ProtectedFromAccidentalDeletion (correspondant à l'option de protection) est à false (faux).

Voici la commande qui permet de lister, et uniquement lister :

Get-ADOrganizationalUnit -Filter * -Property ProtectedFromAccidentalDeletion | Where{ $_.ProtectedFromAccidentalDeletion -eq $false }

Vous obtiendrez un résultat similaire à celui présenté ci-dessous, dans mon exemple, seulement deux OUs sont concernées.

psprotected1

Passons maintenant à l'activation de cette option sur l'ensemble des OUs où ce n'est pas actif.

III. Activer la protection sur tout l'annuaire

Pour cela, on reprend la commande qui permet de lister les OUs où l'option n'est pas active, à laquelle on appliquera une commande supplémentaire sur la sortie.

Autrement dit, à partir de la liste obtenue avec la commande précédente on indique que l'on souhaite activer l'option ProtectedFromAccidentalDeletion sur ces unités d'organisation. On s'appuiera donc en plus sur le commandlet Set-ADOrganizationalUnit.

Sans plus tarder, voici la commande :

Get-ADOrganizationalUnit -Filter * -Property ProtectedFromAccidentalDeletion | Where{ $_.ProtectedFromAccidentalDeletion -eq $false } | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true

Suite à l'exécution de cette commande, vous pouvez être sûr que l'ensemble des Unités d'organisations de votre annuaire Active Directory sont protégées. Pour le vérifier, exécutez à nouveau la première commande pour lister les OUs, et elle ne doit pas retourner d'OU en résultat.

psprotected2

Cette commande, simple finalement, vous permettra de faire un gain de temps conséquent.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.