ms DS MachineAccountQuota ms DS CreatorSID

ms-DS-MachineAccountQuota ms-DS-CreatorSID

Add Workstation to Domain

Computerobjekte können auch durch normale Domänen-Benutzer in die Domäne aufgenommen bzw. erstellt werden. In der Grundeinstellung sieht die Richtlinie vor, das ein Benutzer bis zu 10 Objekte (ms-DS-MachineAccountQuota) erstellen darf.

Die Grundeinstellung setzt aber voraus, das in der Default Policy dieses Attribut nicht verändert wurde. Das heißt, das der Benutzer neben der Grundeinstellung auch das Recht haben muss.

Add workstation to domain GPO

Hat er das Recht nicht, dann wird ihm beim Versuch folgende Meldung angezeigt.

Sie können dieser Domäne nicht beitreten

Einem normalen Benutzer sollte nicht nur das Recht entzogen werden, auch die Quota sollte auf Null gesetzt werden. Diese Kombination an Einstellungen können ein Sicherheitsrisiko sein/werden! Das Recht Objekte ins AD aufnehmen zu dürfen, sollte überlegt und wenn delegiert werden.

Abfrage der Grundeinstellung:

Get-ADObject ((Get-ADDomain).distinguishedname) -Properties ms-DS-MachineAccountQuota

Änderung der Grundeinstellung:

Set-ADDomain (Get-ADDomain).distinguishedname -Replace @{“ms-ds-MachineAccountQuota”=”0”}

Set-ADDomain (Get-ADDomain).distinguishedname -Replace @{“ms-ds-MachineAccountQuota”=”10”}

ms-DS-MachineAccountQuota ms-DS-CreatorSID

ms-DS-MachineAccountQuota ms-DS-CreatorSID

In diesem Artikel geht es kurz um das Attribut ms-DS-CreatorSID. Dieses Attribut wird nur dann einem Computerobjekt zugeschrieben, wenn ein normaler Benutzer bedingt durch die Grundeinstellung Objekte dem Active Directory hinzugefügt hat.

Im oberen Bild sehen wir 2 neue Computerobjekte. Das Objekt (CL3) wurde dem Active Directory durch die Grundeinstellung hinzugefügt, und das andere Objekt (CL2) durch das Recht (delegierte Berechtigung) auf die OU Computers schreiben zu dürfen. Sobald ein Benutzer das *Schreibrecht auf die OU = Computers hat, beeinflusst das seine Quota von 10 nicht. Hat der Benutzer kein explizites Schreibrecht auf die OU = Computers, wird jedes hinzugefügte Objekt von seiner Quota abgezogen.

ms-DS-MachineAccountQuota ms-DS-CreatorSID

*Schreibrecht ist in diesem Fall = Create all child objects

Create all child objects

Um heruaszufinden, ob ein Computerobjekt durch einen normalen Benutzer und seiner Grundrechte 😉 , dem Active Directory hinzugefügt worden ist, kann man eine Abfrage nach diesem Attrinbut starten, oder ein Computerobjekt direkt auswerten.

Get-ADComputer -Filter * -Properties mS-DS-CreatorSID | Select-Object -Expandproperty mS-DS-CreatorSID | Select-Object -ExpandProperty Value | Foreach-Object {Get-ADUser -Filter {SID -eq $_}}

Add Computer AD User

Get-ADComputer CL3 -Properties mS-DS-CreatorSID | Select-Object -Expandproperty mS-DS-CreatorSID | Select-Object -ExpandProperty Value | Foreach-Object {Get-ADUser -Filter {SID -eq $_}}

ms-DS-CreatorSID

Powershell-Skript - Wer hat ein Computerobjekt angelegt?

Wer hat ein Computerobjekt angelegt

$machineAccountQuotaComputers = Get-ADComputer -filter {ms-DS-CreatorSID -ne “$null”} -Properties ms-DS-CreatorSID,Created

foreach ($machine in $machineAccountQuotaComputers) {
$creator = $null
try {
$creator = [System.Security.Principal.SecurityIdentifier]::new($machine.’ms-DS-CreatorSID’).Translate([System.Security.Principal.NTAccount]).Value
}
catch {
$creator = $machine.’ms-DS-CreatorSID’
}

New-Object psobject -Property @{
Name = $machine.Name
DistinguishedName = $machine.DistinguishedName
Creator = $creator
Created = $machine.Created
} | Select-Object Name,DistinguishedName,Creator,Created | Sort-Object -Property Created
}

Oder etwas einfacher gehalten:

$clients = Get-AdComputer –filter * –property ms-DS-CreatorSID | select name, ms-DS-CreatorSID
$aduser = Get-ADUser –Filter *

foreach ($client in $clients)
{
foreach ($user in $aduser)
{
$test = $user.SID.Value
if ($client –like ‘*’ + $Test + ‘*’)
{
Write-Host $user.name hat den PC $client.name zur Domaene hinzugefuegt!
}
}
}