Photo by Jan Huber / Unsplash

Créer des objets AD dynamiques

Active Directory Aug 28, 2023

Présentation

J'ai présenté les objets dynamiques sur ce post LinkedIn.

Créer un utilisateur dynamique

# L'objet sera supprimé dans une heure (3600 secondes)
$TTLSeconds = 3600
$objectType = 'user'
$objectName= 'DynamicUser01'
# Choisir l'OU
$destinationOu="OU=Users,OU=Dynamic,DC=ad,DC=itprotips,DC=com"
$destinationOuObject = [ADSI]("LDAP://$destinationOu")

$dynamicObject = $destinationOuObject.Create($objectType,"CN=$objectName")
# On ajoute la classe dynamicObject et la classe de l'objet
$dynamicObject.PutEx(2,'objectClass',@('dynamicObject',$objectType))
$dynamicObject.Put('entryTTL', $TTLSeconds)
$dynamicObject.Put('sAMAccountName', $objectName)
# on ajoute un nom d'affichage et une description (facultatif)
$dynamicObject.Put('displayName', $objectName)
$removalTime = (Get-Date).AddSeconds($TTLSeconds)
$dynamicObject.Put('description',"This object will be deleted on $removalTime")
$dynamicObject.SetInfo()
# On ajoute un mot de passe 
$dynamicObject.SetPassword('CHANGEYOURPASSWORD')
# et on active le compte
$dynamicObject.Put('userAccountcontrol','512')
$dynamicObject.SetInfo()

Créer un groupe dynamique

# L'objet sera supprimé dans une heure (3600 secondes)
$TTLSeconds = 3600
$objectType = 'group'
$objectName= 'DynamicGroup02'
# Choisir l'OU
$destinationOu="OU=Groups,OU=Dynamic,DC=ad,DC=itprotips,DC=com"
$destinationOuObject = [ADSI]("LDAP://$destinationOu")

$dynamicObject = $destinationOuObject.Create($objectType,"CN=$objectName")
# On ajoute la classe dynamicObject et la classe de l'objet
$dynamicObject.PutEx(2,'objectClass',@('dynamicObject',$objectType))
$dynamicObject.Put('entryTTL', $TTLSeconds)
$dynamicObject.Put('sAMAccountName', $objectName)
# on ajoute un nom d'affichage et une description (facultatif)
$dynamicObject.Put('displayName', $objectName)
$removalTime = (Get-Date).AddSeconds($TTLSeconds)
$dynamicObject.Put('description',"This object will be deleted on $removalTime")
$dynamicObject.SetInfo()

Détecter la création d'un objet dynamique

Surveiller les événements de création est important pour s'assurer que ces objets ne soient pas utilisés pour des activités malveillantes. Voir cet article pour une méthode de détection avec les journaux Windows.

Tags

Bastien Perez

Freelance Microsoft 365 - Active Directory - Modern Workplace