PowerShell : Activer la protection des OUs sur tout l’Active Directory
Sommaire
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.
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.
Cette commande, simple finalement, vous permettra de faire un gain de temps conséquent.