ineedhelp 12 Geschrieben 20. Juni Melden Teilen Geschrieben 20. Juni Bei den Benutzern in meiner Testdomäne möchte ich gerne das Erstellungsdatum ändern. Leider wird ein Fehler geworfen, wenn ich versuche, das Erstellungsdatum zu ändern. Aus der Dokumentation zum WhenCreated-Attribut lässt sich nicht entnehmen, ob das Attribut schreibgeschütz ist. Zitat Update Privilege This value is set by the system. Wie kann das Skript mit System-Rechten ausgeführt werden? $user = Get-ADUser -Identity 'John Doe' -Properties whenCreated $user.whenCreated = [DateTime]::Now.AddDays(-90) # Ausgabe: Ausnahme beim Festlegen von "whencreated": "Der Adapter kann den Wert der whencreated-Eigenschaft nicht festlegen." $de = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$($user.DistinguishedName)") $de.whenCreated = [DateTime]::Now.AddDays(-90) # $de.Properties['whenCreated'][0] = [DateTime]::Now.AddDays(-90) $de.CommitChanges() # Ausgabe: Ausnahme beim Aufrufen von "CommitChanges" mit 0 Argument(en): "Es ist eine Beschränkungsverletzung aufgetreten. Für jede Lösung bin ich dankbar. Zitieren Link zu diesem Kommentar
NorbertFe 2.034 Geschrieben 20. Juni Melden Teilen Geschrieben 20. Juni Ohne es genau zu wissen oder belegen zu können, bezweifle ich, dass du dieses Attribut ändern kannst, denn es wird mit hoher Wahrscheinlichkeit (siehe die Einleitung) ein constructed attribute sein oder eben read only. Und wenn man "when created" änderbar wäre, dann wär der Zweck dieses Attributes irgendwie hinfällig, oder? 1 Zitieren Link zu diesem Kommentar
cj_berlin 1.315 Geschrieben 20. Juni Melden Teilen Geschrieben 20. Juni Moin, "Set by the system" bedeutet nicht "Set by NT_AUTHORITY\SYSTEM", sondern, dass es durch das Verzeichnis selbst gesetzt wird und nicht per LDAP. Nur aus Interesse: warum würdest Du so etwas wollen? 1 Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 20. Juni Melden Teilen Geschrieben 20. Juni Das Attribut kannst du nicht beschreiben. ein get-aduser administrator -prop * | get-member bringt Klarheit 1 Zitieren Link zu diesem Kommentar
ineedhelp 12 Geschrieben 20. Juni Autor Melden Teilen Geschrieben 20. Juni vor 29 Minuten schrieb tesso: Das Attribut kannst du nicht beschreiben. ein get-aduser administrator -prop * | get-member bringt Klarheit Leider lassen sich Eigenschaften lastLogon und lastLogonTimestamp auch nicht verändern. Lt. dieser Ausgabe darf ich doch schreibend auf die Eigenschaft zugreifen. lastLogon Property System.Int64 lastLogon {get;set;} lastLogonTimestamp Property System.Int64 lastLogonTimestamp {get;set;} vor 35 Minuten schrieb cj_berlin: Nur aus Interesse: warum würdest Du so etwas wollen? Weil ich das Objektalter oder die letzte Anmeldung in meinen Skripten überprüfe und die Bedingungen in den Skripten nicht ändern möchte. Ich dachte, dass es einfacher wäre, es entsprechend in der Testdomäne zu simulieren und die betreffende Objekteigenschaften zu verändern. Zitieren Link zu diesem Kommentar
Beste Lösung cj_berlin 1.315 Geschrieben 20. Juni Beste Lösung Melden Teilen Geschrieben 20. Juni (bearbeitet) Re Ausgabe von Get-Member: vergiss es einfach Du kannst die Werte ins . Net-Objekt schreiben, und nur das sagt Dir die Ausgabe. Du kannst sie aber nicht ins Verzeichnis schreiben Re Bedingungen in Skripten verändern: das Zauberwort lautet "Parametrisierung". Wenn Du dein Test-AD auf Teufel komm raus verbiegen willst, leistet Mimikatz DCShadow (online) oder DSInternals (offline) wertvolle Dienste. bearbeitet 20. Juni von cj_berlin 3 Zitieren Link zu diesem Kommentar
ineedhelp 12 Geschrieben 20. Juni Autor Melden Teilen Geschrieben 20. Juni vor einer Stunde schrieb cj_berlin: Re Ausgabe von Get-Member: vergiss es einfach Du kannst die Werte ins . Net-Objekt schreiben, und nur das sagt Dir die Ausgabe. Du kannst sie aber nicht ins Verzeichnis schreiben Danke für diesen Warnhinweis. Leider verwirrt es ein bißchen. Warum hat Mircosoft die Objekte-Eigenschaft in .NET oder in der ADSI-COM-Komponente nicht so implementiert wie die Attribute im Verzeichnisdienst? Aber das weiß wohl nur Mircosoft. vor einer Stunde schrieb cj_berlin: Re Bedingungen in Skripten verändern: das Zauberwort lautet "Parametrisierung". Darauf bin ich gar nicht kommen. Meine Skripte werde ich dann gleich mal mit Parameter erweitern. vor einer Stunde schrieb cj_berlin: Wenn Du dein Test-AD auf Teufel komm raus verbiegen willst, leistet Mimikatz DCShadow (online) oder DSInternals (offline) wertvolle Dienste. Meine Testdomäne möchte ich nicht unbedingt verbiegen, aber DCShadow und DSInternals werde ich mir mal anschauen. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 20. Juni Melden Teilen Geschrieben 20. Juni vor 3 Stunden schrieb ineedhelp: Eigenschaft in .NET oder in der ADSI-COM-Komponente nicht so implementiert wie die Attribute im Verzeichnisdienst? Weil das Framework (.NET) nicht weiß, was der Verzeichnisdienst dahinter (AD DS, AD LDS, irgendein LDAP) für Attributanforderungen hat. Du kannst die AD-Cmdlets ja genauso gegen einen AD LDS benutzen, und was dessen Schema so zu Attributen sagt, weiß vorher niemand Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.