Hallo,
ist es möglich, für einen UserPrincipal eine andere PrimaryGroup zu setzen?
Es gibt einige dubiose Vorschläge wie man die PrimaryGroup herausfindet,
aber ich habe nichts gefunden wie man sie setzen kann.
Hat jemand eine Idee?
Danke,
Mandy
Über .NET Mittel "direkt" überhaupt nicht.
Du musst die ID der PrimaryGroup herausfinden, und dann in das Feld "primaryGroupId" des User-Objekts schreiben.
Über das UserPrincipal müsste das (ungetestet) so aussehen:
myUserPrincipalObj.ExtensionSet( "primaryGroupId", primaryGroupID );
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Funktioniert nicht so ganz...
ExtensionSet ist protected, also habe ich ein Klasse davon abgeleitet.
Dann bekomme ich allerdings die Meldung:
Fehlermeldung:
2012-08-07 12:37:08,445 [7 ] ERROR ICE.TaskExterneProjekte
System.DirectoryServices.AccountManagement.PrincipalOperationException: Das angegebene Verzeichnisdienstattribut bzw. der angegebene Verzeichnisdienstwert ist bereits vorhanden. (Ausnahme von HRESULT: 0x8007200A) ---> System.DirectoryServices.DirectoryServicesCOMException: Das angegebene Verzeichnisdienstattribut bzw. der angegebene Verzeichnisdienstwert ist bereits vorhanden. (Ausnahme von HRESULT: 0x8007200A)
bei System.DirectoryServices.DirectoryEntry.CommitChanges()
bei System.DirectoryServices.AccountManagement.SDSUtils.ApplyChangesToDirectory(Principal p, StoreCtx storeCtx, GroupMembershipUpdater updateGroupMembership, NetCred credentials, AuthenticationTypes authTypes)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.DirectoryServices.AccountManagement.ADStoreCtx.Insert(Principal p)
bei System.DirectoryServices.AccountManagement.Principal.Save()
Hast du da noch einen Hinweis dazu?
Danke
Edit: Objekte kann man nicht ableiten --> Klasse
Leider nein. Aber Du kannst Dir aus einer UserPrincipal den DirectoryEntry extrahieren und so eventuell direkter drauf zugreifen.
Dort gibt es eine Invoke() /InvokeSet() Methode; spätestens mit der kann man alles machen, wenn man weiß, was man invoken muss.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code