Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VB.Net - DirectoryEntry - Unterschiede bei Abfragen über objectGUID und distinguishedName

Frage Entwicklung Visual Studio

Mitglied: emeriks

emeriks (Level 4) - Jetzt verbinden

13.01.2015, aktualisiert 14:31 Uhr, 1471 Aufrufe, 8 Kommentare

Hi,
wenn ich zwei System.DirectoryServices.DirectoryEntries für ein und das selbe Benutzerobjekt einmal über die objectGUID und einmal über einmal über den distinguishedName abfrage, dann bekomme ich jeweils unterschiedlich viele Eigenschaften zurückgeliefert.

01.
Dim µDE1 As New DirectoryEntry("LDAP://<GUID=........-c193-42ec-924a-d2dc........>") 
02.
Dim µDE2 As New DirectoryEntry("LDAP://CN=ABCDEFG,OU=Technik,DC=MyDomain,DC=local") 
03.
MsgBox(µDE1.Properties.Count & vbTab & µDE2.Properties.Count)
In meinem Beispiel werden für µDE1 80 und für µDE2 98 Properties geliefert.
Ich kann das für beliebige, andere Benutzerobjekte reproduzieren.

a) Ist das normal?
b) Kann mir jemand den Zusammenhang erklären?

E.



Mitglied: colinardo
13.01.2015, aktualisiert um 11:43 Uhr
Hallo emeriks,
in der DirectorySearcher Klasse sollte man die Eigenschaften welche vom Objekt abgerufen werden sollen angeben oder ein "*" definieren damit alle Eigenschaften des Objekts zurückgegeben werden.
http://msdn.microsoft.com/de-de/library/3cty7e56%28v=vs.110%29.aspx

Grüße Uwe
Bitte warten ..
Mitglied: emeriks
13.01.2015 um 11:47 Uhr
Hi colinardo,
bei DirectorySearcher ja ist klar. Aber warum sollte ich über den Searcher gehen, wenn ich doch die objectGUID habe? Da ist es doch einfacher das dann direkt über den DirectoryEntry zu machen, oder?

Ich gehe ja jetzt schon den Umweg, dass ich mir als erstes über die objectGUID den DN abfrage, um dann mit dem DN nochmal ein DirectoryEntry abzufragen. Geht. Aber eben ein - wie ich meine - dämlicher Zwiwchenschritt.

01.
Dim µDE1 As New DirectoryEntry("LDAP://<GUID=........-c193-42ec-924a-d2dc........>") 
02.
Dim µDN As String = µDE1.Properties("distinguishedName").Value 
03.
µDE1 = New DirectoryEntry("LDAP://" & µDN)
E.
Bitte warten ..
Mitglied: colinardo
13.01.2015, aktualisiert um 12:03 Uhr
Also ich meine die Abfrage via DN bringt nur die Eigenschaften des Users welche einen Wert haben und nicht leer sind, wohingegen eine Abfrage via Object-GUID auch die leeren Eigenschaften bzw. zur. Eigenschaften der Objektklasse listet, kann es hier aber gerade nicht testen.
Bitte warten ..
Mitglied: emeriks
13.01.2015 um 12:08 Uhr
Also ich meine die Abfrage via DN bringt nur die Eigenschaften des Users welche einen Wert haben und nicht leer sind,
Ja, klar.

wohingegen eine Abfrage via Object-GUID auch die leeren Eigenschaften bzw. zur. Eigenschaften der Objektklasse listet.
Nee, das ist es ja. So könnte ich das ja "logisch akzeptieren". Aber über GUID bekomme ich ja eben weniger Properties.

Habe das noch mal überprüft. Alle properties, welche geliefert werden, sind auch gesetzt. Über GUID fehlen u.a. "homeDirectory", "homeDrive".
Bitte warten ..
Mitglied: colinardo
LÖSUNG 13.01.2015, aktualisiert um 14:31 Uhr
Hmm, also bei einem Test hier auf einem Server 2008R2 werden sowohl mit GUID als auch mit DN die gleiche Anzahl Eigenschaften geliefert, egal welchen User ich nehme.
Welches sind den alles die Differenz-Eigenschaften?
Sind zufällig mehrere DCs im Netz? Nicht das hier unterschiedliche Server abgefragt werden und die DCs zufällig nicht synchron sind. Bau den DC mal mit in die LDAP-Abfrage ein. LDAP://dc01.domain.intern/......
Bitte warten ..
Mitglied: emeriks
13.01.2015 um 13:38 Uhr
Sind zufällig mehrere DCs im Netz? Nicht das hier unterschiedliche Server abgefragt werden und die DCs zufällig nicht
synchron sind. Bau den DC mal mit in die LDAP-Abfrage ein. LDAP://dc01.domain.intern/......
Das habe ich auch schon im Verdacht. Ich werde das mal prüfen.
Bitte warten ..
Mitglied: emeriks
13.01.2015 um 14:31 Uhr
Jetzt wird es witzig ...

Es gibt 2 DC. Egal über welchen ich gehe: Wenn ich in den Abfragen explizit einen DC angebe, dann bekomme ich auch über die GUID alle Properties. Muss ich das verstehen?

Und so lernt man weiter:
Die Abfrage "LDAP://<GUID=....>" geht über den GC, wenn man nicht explizit einen DC angibt! Und dort sind ja nun mal nicht alle Attribute enthalten (so z.B. auch homeDirectory nicht). Ja nee is klar.

Danke, colinardo! War schön, mit Dir darüber zu plaudern ...
Bitte warten ..
Mitglied: colinardo
13.01.2015, aktualisiert um 14:44 Uhr
Hier noch als Ergänzung der Link zum Thema: Global Catalog and LDAP Searches
War schön, mit Dir darüber zu plaudern
Gleichfalls Hatte das auch nicht mehr auf dem Schirm, da ich hier den Test von einem externen Rechner und Abfrage via Authentifizierung gemacht habe...

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Vb.net Datenfelder aus Word 2003 Dokument auslesen (3)

Frage von Herbrich19 zum Thema Visual Studio ...

VB for Applications
VB.net Combobox databinding langsam (4)

Frage von ForgottenRealm zum Thema VB for Applications ...

Visual Studio
gelöst Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke (7)

Frage von ahstax zum Thema Visual Studio ...

Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(5)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Windows 10
Windows 10 Home "Netzlaufwerk nicht bereit" (13)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
Exchange Postfach leeren - nicht löschen (10)

Frage von AndreasOC zum Thema Exchange Server ...