Dans un domaine Active Directory les comptes membres du groupe « admins du domaine » ou « administrateurs de l'entreprise » peuvent ajouter un ordinateur à un domaine.
Il est possible de déléguer l'autorisation de joindre un ordinateur au domaine à des personnes ou des groupes. Pour ce faire il faut autoriser le groupe ou l'utilisateur à créer des objets ordinateurs dans le domaine.
Nettement moins connu, il existe une option par défaut qui permet à tout utilisateur du domaine d'ajouter 10 ordinateurs dans le domaine. Cette valeur de 10 est configurée sur l'attribut « ms-DS-MachineAccountQuota » de l'objet domaine dans l'annuaire AD.
Vous pouvez modifier cette valeur depuis la console « utilisateurs et ordinateurs Active Directory ». Pour cela, il vous faudra activer les 'fonctionnalités avancées » dans le menu « affichage », afin de permettre l'affichage du détail des attributs.
Ensuite, faites un clic droit sur le nom du domaine puis propriétés. Dans la partie « éditeur d'attributs », rechercher « ms-DS-MachineAccountQuota » puis cliquez sur modifier.
Remplacez la valeur par « 0 », puis cliquez sur OK.
Une autre façon d'interroger ou de modifier la valeur est PowerShell.
La commande suivante permet de connaître la valeur de l'attribut :
Get-ADObject ((Get-ADDomain).distinguishedname) -Properties ms-DS-MachineAccountQuota
Cette deuxième commande permet de mettre la valeur à 0 :
Set-ADDomain (Get-ADDomain).distinguishedname -Replace @{"ms-ds-MachineAccountQuota"="0"}
Pour connaître le nombre d'ordinateurs qu'un utilisateur a ajouté dans le domaine, il faut compter le nombre d'ordinateurs qui dans l'attribut « mS-DS-CreatorSID » contient le SID de l'utilisateur.
L'exemple PowerShell ci-dessous, permet de retrouver cette valeur pour le compte « usertest ».
$user= "usertest"
$USerSid = (get-aduser -Identity $user -Properties ObjectSid).ObjectSid
$USerNBComCreate = (Get-ADComputer -filter * -Properties mS-DS-CreatorSID | where { $_.'mS-DS-CreatorSID' -eq $USerSid }).name.count
Si vous souhaitez connaître le nom de l'utilisateur qui a ajouté un ordinateur dans le domaine, vous pouvez utiliser la commande suivante :
$Computer ="labcl06"
Get-ADComputer $computer -Properties mS-DS-CreatorSID | `
Select-Object -Expandproperty mS-DS-CreatorSID | `
Select-Object -ExpandProperty Value | Foreach-Object {Get-ADUser -Filter {SID -eq $_}}
Il est recommandé de modifier cette valeur et la mettre à 0.
Quelques lectures supplémentaires :
https://docs.microsoft.com/fr-fr/windows/win32/adschema/a-ms-ds-machineaccountquota