Κάνοντας αναζήτηση με το ldp.exe
Όσοι ασχολείστε με 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:
Έχω κάνει κάποιες ευδιάκριτες αλλαγές για ευνόητους λόγους !
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 -> Συμπληρώνετε τα απαραίτητα και πατάτε ΟΚ.
Αφού συνδεθείτε, θα πρέπει να κάνετε Bind προκειμένου να δείτε πληροφορίες. Αν δεν κάνετε Bind και ξεκινήσετε search ή Browse τότε το πιο λογικό είναι να μη δείτε καθόλου data.
4. Connection -> Bind -> Συμπληρώνετε τα απαραίτητα και πατάτε ΟΚ
Αν συμπληρώσετε τα σωστά στοιχεία θα δείτε κάτι αντίστοιχο στο κεντρικό 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
Εδώ δίνετε το όνομα του attribute που θέλετε να ψάξετε και τι ακριβώς ψάχνετε. Εγώ όπως ανέφερα παραπα΄νω έψαχνα να βρω αν υπάρχουν duplicated data και έδωσα:
(textEncodedORAddress=*User A*) (Το "textEncodedORAddress" καθορίζει το primary X.400 address που χρησιμοποιείται για τον συγκεκριμένο παραλήπτη ).
(Διαβάστε αυτό για περισσότερες και πιο αναλυτικές οδηγίες: 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.
Γίνετε φίλοι τους και δεν θα απογοητευθείτε!
0 Comments
Recommended Comments
There are no comments to display.