Welches Privileg bestimmt, ob ein AD-User sein eigenes Kennwort per net user Name Slash domain resetten kann
Moin Kollegen!
Schwieriges Thema, nicht unterschätzen
Den Titel bitte genau lesen: es geht nicht um eine Kennwortänderung (welche jeder per default darf), sondern um Kennwort-Reset, also ein Setzen ohne vorherige Eingabe des alten Kennwortes. Ebenso geht es um geskriptetes Setzen, nicht um Setzen über die Oberfläche.
Domänenadmins dürfen das natürlich, aber welches Recht müsste ich einem Nutzer zuteilen, wenn ich wollte, dass er das auch kann? Erstaunlicherweise macht es nämlich einen Unterschied, ob man die GUI benutzt, oder net user.
In der GUI (also über die MMC mit ADUC-Snapin) gelingt es, sobald der User das Privileg "Reset password" hat, über net user kommt weiterhin "access denied". Erst wenn ich dem Benutzer Vollzugriff auf sein eigenes Objekt erteile, kann er auch über net user resetten. Aber Vollzugriff will ich dem Benutzer natürlich nicht geben
Ich hoffe nun, dass das Problem deutlich geworden ist: der Nutzer soll es auch über die Kommandozeile können und nicht die GUI nutzen müssen.
Schwieriges Thema, nicht unterschätzen
Den Titel bitte genau lesen: es geht nicht um eine Kennwortänderung (welche jeder per default darf), sondern um Kennwort-Reset, also ein Setzen ohne vorherige Eingabe des alten Kennwortes. Ebenso geht es um geskriptetes Setzen, nicht um Setzen über die Oberfläche.
Domänenadmins dürfen das natürlich, aber welches Recht müsste ich einem Nutzer zuteilen, wenn ich wollte, dass er das auch kann? Erstaunlicherweise macht es nämlich einen Unterschied, ob man die GUI benutzt, oder net user.
In der GUI (also über die MMC mit ADUC-Snapin) gelingt es, sobald der User das Privileg "Reset password" hat, über net user kommt weiterhin "access denied". Erst wenn ich dem Benutzer Vollzugriff auf sein eigenes Objekt erteile, kann er auch über net user resetten. Aber Vollzugriff will ich dem Benutzer natürlich nicht geben
Ich hoffe nun, dass das Problem deutlich geworden ist: der Nutzer soll es auch über die Kommandozeile können und nicht die GUI nutzen müssen.
Please also mark the comments that contributed to the solution of the article
Content-Key: 233941
Url: https://administrator.de/contentid/233941
Printed on: April 19, 2024 at 17:04 o'clock
5 Comments
Latest comment
Hallo @DerWoWusste,
kann der User denn sein Passwort ändern, wenn dies per
Gruß,
@Snowman25
kann der User denn sein Passwort ändern, wenn dies per
net user <username> /PASSWORDCHG:YES
gesetzt wurde?Gruß,
@Snowman25
Hi DWW,
hab vorhin auch mal ein bißchen mit den Berechtigungen dafür gespielt, und bin da auch nicht viel weiter gekommen, alternativ mach's halt mit Powershell (wenn du es damit in deinem Projekt umsetzen kannst):
Password für den gerade angemeldeten User neu setzen
Grüße Uwe
hab vorhin auch mal ein bißchen mit den Berechtigungen dafür gespielt, und bin da auch nicht viel weiter gekommen, alternativ mach's halt mit Powershell (wenn du es damit in deinem Projekt umsetzen kannst):
Password für den gerade angemeldeten User neu setzen
Function Set-AdUserPwd ([string]$user,[string]$pwd) {
$objSearch = New-Object System.DirectoryServices.DirectorySearcher
$objSearch.Filter = "(SamAccountName=$user)"
$allUsers = $objSearch.FindOne()
foreach ($user in $allUsers) {
$o = $user.GetDirectoryEntry()
$o.Invoke("SetPassword",$pwd)
$o.CommitChanges()
}
}
Set-AdUserPwd -user $env:USERNAME -pwd "Passw0rd"