AD: Objektverwaltung zuweisen - User - employeeID
Guten Tag,
ich versuche an eine Gruppe Rechte zu delegieren um die AD Felder employeeType, employeeNumber und employeeID zu füllen.
Bisheriges Vorgehen:
- Im Kontext der OU deren Mitglieder editiert werden sollen den Assistenten "Objektverwaltung zuweisen" aufgerufen
- Gruppe, die die Berechtigungen erhalten soll ausgewählt
- Benutzerdefinierte Aufgaben zum Zuweisen erstellen ausgewählt
- Folgende Objekte im Ordner gewählt und dort "Benutzer"-Objekte selektiert
- Eigenschaften spezifisch ausgewählt
- Nun findet man die Werte employeeNumber lesen / schreiben und employeeType lesen schreiben
Hier fehlt der Wert employeeID!!!
Nach meiner bisherigen Recherche bin ich dann zur Datei C:\Windows\System32\dssec.dat gekommen.
Hier habe ich zum einen alle vorhandenen Einträge (testweise) von employeeID von 7 auf 0 gesetzt und ebenfalls im Abschnitt [USER] einen solchen Eintrag ergänzt.
Nach einem Neustart der Benutzer und Computer MMC sollte nach mehreren Anleitungen das Feld nun zur Verfügung stehen um Berechtigungen erteilen zu können.
Dies ist leider nicht der Fall.
Hat jemand noch eine Idee wie verfahren werden sollte? Vielen Dank!
ich versuche an eine Gruppe Rechte zu delegieren um die AD Felder employeeType, employeeNumber und employeeID zu füllen.
Bisheriges Vorgehen:
- Im Kontext der OU deren Mitglieder editiert werden sollen den Assistenten "Objektverwaltung zuweisen" aufgerufen
- Gruppe, die die Berechtigungen erhalten soll ausgewählt
- Benutzerdefinierte Aufgaben zum Zuweisen erstellen ausgewählt
- Folgende Objekte im Ordner gewählt und dort "Benutzer"-Objekte selektiert
- Eigenschaften spezifisch ausgewählt
- Nun findet man die Werte employeeNumber lesen / schreiben und employeeType lesen schreiben
Hier fehlt der Wert employeeID!!!
Nach meiner bisherigen Recherche bin ich dann zur Datei C:\Windows\System32\dssec.dat gekommen.
Hier habe ich zum einen alle vorhandenen Einträge (testweise) von employeeID von 7 auf 0 gesetzt und ebenfalls im Abschnitt [USER] einen solchen Eintrag ergänzt.
Nach einem Neustart der Benutzer und Computer MMC sollte nach mehreren Anleitungen das Feld nun zur Verfügung stehen um Berechtigungen erteilen zu können.
Dies ist leider nicht der Fall.
Hat jemand noch eine Idee wie verfahren werden sollte? Vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 525132
Url: https://administrator.de/contentid/525132
Ausgedruckt am: 25.11.2024 um 23:11 Uhr
5 Kommentare
Neuester Kommentar
Die Liste dort ist nicht vernünftig sortiert auch wenn man das meint und die Attribute sind dort teilweise auf Deutsch übersetzt und teilweise nicht. Man muss nur ganz penibel die Liste durchgehen dann findet man die gewünschten Attribute, sonst überscrollt man das gesuchte Attribut, Microsoft typisch halt.
Ich würde diesen himmelschreienden Wizard zum Mond schießen, und stattdessen mit der Ldp.exe (hat auch eine GUI!) arbeiten. Mit "Add trustee" kannst Du zu berechtigende Nutzer/Gruppen eintragen und die Attribute sind dort vernüntig aufgelistet.
Veranschaulichung: Siehe Ein besserer Weg zur Delegation of Control für Bitlocker Recoverykeys
oder auch hier:
Veranschaulichung: Siehe Ein besserer Weg zur Delegation of Control für Bitlocker Recoverykeys
oder auch hier:
Servus.
Oder man nimmt die Powershell, oder auch die cmd mit
Grüße Uwe
Oder man nimmt die Powershell, oder auch die cmd mit
DACLS
usw.:DSACLS
dsacls "OU=Verwaltung,DC=domain,dc=tld" /I:S /G "DOMAIN\MaxMustermann:WPRP;employeeID;user"
Powershell
function Delegate-ADProperty {
param(
[Parameter(mandatory=$true)][ValidateNotNullOrEmpty()][ValidateScript({Get-ACL "AD:$_"})][string]$ObjectDN,
[Parameter(mandatory=$true)][ValidateNotNullOrEmpty()][System.Security.Principal.IdentityReference]$Account,
[Parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$Attribute,
[Parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$InheritingObjects,
[Parameter()][System.DirectoryServices.ActiveDirectorySecurityInheritance]$InheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance]::Descendents,
[Parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$AccessRights,
[Parameter()][ValidateSet("Allow","Deny")][string]$AccessControlType = "Allow"
)
# get attribute GUID
$GUID_ATTRIBUTE = (Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -Filter "ldapDisplayName -eq '$Attribute' -and objectClass -eq 'attributeSchema'" -Properties schemaIDGUID).schemaIDGUID -as [guid]
if ($GUID_ATTRIBUTE -eq $null){
Write-Error -Message "Attribute '$Attribute' could not be found." -Category InvalidArgument
return
}
# get class GUID of inheriting objects
$GUID_CLASS = (Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -Filter "ldapDisplayName -eq '$InheritingObjects' -and objectClass -eq 'classSchema'" -Properties schemaIDGUID).schemaIDGUID -as [guid]
if ($GUID_CLASS -eq $null){
Write-Error -Message "Inheriting Object Class Name '$InheritingObjects' could not be found." -Category InvalidArgument
return
}
# get acl of AD object
$acl = Get-ACL "AD:$ObjectDN"
# create AccesRule
$rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule ($Account,$AccessRights,$AccessControlType,$GUID_ATTRIBUTE,$inheritanceType,$GUID_CLASS) -ErrorAction Stop
# Add rule to acl
$acl.AddAccessRule($rule)
# save acl to object
Set-ACL "AD:$ObjectDN" $acl
return $rule
}
Delegate-ADProperty -ObjectDN 'OU=Verwaltung,DC=domain,dc=tld' -Account ([System.Security.Principal.NTAccount]"MaxMustermann") -Attribute "employeeID" -InheritingObjects 'user' -AccessRights "ReadProperty,WriteProperty" -AccessControlType Allow -InheritanceType Descendents