Ich schreibe eine Anwendung, die ich mit Active Directory und lokalen Benutzern und Gruppen arbeiten möchte. Ich dachte, ich könnte die NativeGuid-Eigenschaft eines DirectoryEntry als eindeutige Kennung verwenden, die mit dem WinNT-Provider gegen LocalHost abgerufen wurde. Mit dem folgenden Code in LinqPad bekomme ich jedoch die gleiche NativeGuid für beide Einträge. Das Abfragen von Active Dirctory mit dem LDAP-Provider scheint eindeutige Ergebnisse zu liefern, aber jetzt bin ich nicht sicher.Was ist die NativeGuid in DirectoryEntry bei der Abfrage über den WinNT-Provider?
System.DirectoryServices.DirectoryEntry localuserde =
new System.DirectoryServices.DirectoryEntry("WinNT://localhost/localuser");
localuserde.NativeGuid.Dump("localUser Guid");
System.DirectoryServices.DirectoryEntry adminde =
new System.DirectoryServices.DirectoryEntry("WinNT://localhost/administrator");
adminde.NativeGuid.Dump("administrator Guid");
Kann jemand bitte erklären, was die NativeGuid darstellt, wenn der WinNT-Anbieter verwenden, und gibt es eine gute Alternative für einen UniqueId oder ist die SID eine bessere Wahl?
Um das oben in LinqPad auszuführen, drücken Sie F4 und fügen Sie System.DirectoryServices.dll der Liste der Assemblys hinzu. Stellen Sie dann sicher, dass localuser entweder vorhanden ist, oder ändern Sie den Namen in einen lokalen Benutzer auf dem System. Dann drücke F5.
Danke,
Shane Halter