Jump to content
  • entries
    20
  • comments
    46
  • views
    8699

Κάνοντας αναζήτηση με το ldp.exe


fenia

570 views

 Share

Όσοι ασχολείστε με Active Directory γνωρίζετε το κλασσικό mmc snap-in που διευκολύνει καθημερινά τη ζωή όλων μας , το ADUC. Δυστυχώς όμως, το ADUC έχει πολλές ελλείψεις.
Διαπίστωσα ότι ελάχιστοι administrators (δεν εξαιρούμαι, αν και δεν δουλεύω ως sysadmin πλέον) είναι εξοικειωμένοι με LDAP, ενώ είναι τόσο χρήσιμο όσο το ADSIEdit. Και τα δύο προσφέρουν αυξημένη πρόσβαση σε πολλές πληροφορίες.


To Ldp.exe παίρνει λίγο χρόνο για να το μάθει κανείς και δεν χρησιμοποιείται καθημερινά. Μπορεί όμως να σας βγάλει ασπροπρόσωπους σε κάποια δυσκολία. Μπορείτε επίσης να χρησιμοποιήσετε το Ldp.exe για να συνδεθείτε με άλλους καταλόγους LDAP που δεν είναι AD.

Τελευταία μου έχει τύχει πολλές φορές σε Exchange ή Active Directory Migration να χρειαστεί να ψάξω κάποιο συγκεκριμένο attribute για να βρω σε ποιο AD User object ανήκει, σκέφτηκα να το μοιραστώ εδώ σε περίπτωση που χρησιμεύει σε κάποιον στο μέλλον. Ως γνωστόν, τα βασικά attributes μπορεί κανείς να τα αναζητήσει στο κλασσικό search που προσφέρει το ADUC (Active Directory Users & Computers).

Τι γίνετε όμως όταν θέλουμε να βρούμε κάτι πιο εξειδικευμένο;


Μου έτυχε το εξής conflict για ένα χρήστη που γινόταν migrate στο νέο domain ενώ παράλληλα γινόταν migrate και το mailbox του από Exchange 2003 σε Exchange 2007:
Έχω κάνει κάποιες ευδιάκριτες αλλαγές για ευνόητους λόγους ! Smile

ii CMBMSwitcher::IsSwitched2 TraceMsg 4908 Current mailbox '/o=ORGNAME/ou=FIRST ADMINISTRATIVE GROUP/cn=RECIPIENTS/cn=AUser redirector state: 'Not defined'.
-------------------------------------
ADSync error: Object Class: Error:
user Error 0xea0000a5. Address conflict found, object: "CN=A User,OU=OUName,OU=Sub OU,DC=gr,DC=company,DC=aaa", attribute: "textEncodedORAddress", conflicted object: "CN=A User,OU=OU Name,OU=Sub OU 1,OU=Sub OU 2,DC=gr,DC=company,DC=aaa", conflicted attribute: "textEncodedORAddress", conflicted value: "c=US;a= ;p=ORG;o=Exchange;s=User;g=A;"

-------------------------------------


Το πρώτο που έκανα λοιπόν ήταν να ψάξω στο “παλιό” domain για να δω αν κάποιο άλλο user object χρησιμοποιεί το ίδιο attribute.


Οι οδηγίες αναλυτικά:


1. Συνδέεστε λοιπόν σε κάποιο DC (ή σε κάποιο PC ή server που έχει Support Tools).
2. Πηγαίνετε Start-> Run και πληκτρολογείτε ldp.exe. Η πρώτη σελίδα που θα δείτε, είναι κενή. Θα πρέπει να κάνετε connect και μετά Bind.
3. Connection -> Connect -> Συμπληρώνετε τα απαραίτητα και πατάτε ΟΚ.


2009-10-22_115544.jpg


2.jpg


Αφού συνδεθείτε, θα πρέπει να κάνετε Bind προκειμένου να δείτε πληροφορίες. Αν δεν κάνετε Bind και ξεκινήσετε search ή Browse τότε το πιο λογικό είναι να μη δείτε καθόλου data.


4. Connection -> Bind -> Συμπληρώνετε τα απαραίτητα και πατάτε ΟΚ


3.jpg


4.jpg


Αν συμπληρώσετε τα σωστά στοιχεία θα δείτε κάτι αντίστοιχο στο κεντρικό frame του ldap:

res = ldap_bind_s(ld, NULL, &NtAuthIdentity, 1158); // v.3
{NtAuthIdentity: User='AdminUsername'; Pwd= <unavailable>; domain = 'DomainName'.}
Authenticated as dn:'AdminUsername'.


Αφού έγινε η σύνδεση επιτυχώς, ξεκινάμε τα βήματα για να κάνουμε αναζήτηση.


5. Browse –> Search


6.jpg


Εδώ δίνετε το όνομα του attribute που θέλετε να ψάξετε και τι ακριβώς ψάχνετε. Εγώ όπως ανέφερα παραπα΄νω έψαχνα να βρω αν υπάρχουν duplicated data και έδωσα:


(textEncodedORAddress=*User A*) (Το "textEncodedORAddress" καθορίζει το primary X.400 address που χρησιμοποιείται για τον συγκεκριμένο παραλήπτη Smile).


(Διαβάστε αυτό για περισσότερες και πιο αναλυτικές οδηγίες: http://support.microsoft.com/kb/224543)


Στο κεντρικό frame θα δείτε κάτι παρόμοιο με:


***Searching...
ldap_search_s(ld, "DC= company,DC=comp,DC=gr; ", 2, "(textEncodedOrAddress=*AUser*)", attrList, 0, &msg)
Result <0>: (null)
Matched DNs:
Getting 1 entries:
>> Dn: CN=A USer,OU=User OU,OU=Sub OU A,DC=gr,DC= company,DC=comp,DC=gr;
4> objectClass: top; person; organizationalPerson; user;
1> cn: User A
1> distinguishedName: CN=A User,OU=User OU,OU=Sub OU,DC=company,DC=comp,DC=gr;
1> name: User A;
1> canonicalName: company.comp.gr/OU/Sub OU/User A;
1> textEncodedORAddress: c=US;a= ;p=COMP;o=Exchange;s=A;g=User;;


Τελικά το πρόβλημα ήταν αλλού, αλλά αυτό είναι μεγάλη ιστορία… και ανήκει σε άλλη ενότητα !


Το ldap είναι γενικά πολύ χρήσιμο εργαλείο και σωτήριο πολλές φορές. Όπως και το ADSIEdit.

Γίνετε φίλοι τους και δεν θα απογοητευθείτε! Cool

 Share

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...