|
Joe, Thanks a Bunch! Todd From: joe
[mailto:[EMAIL PROTECTED] Ok, those of you who have been following Todd's recent
adventures may have come to the same conclusion I did that it would be nice to
have a tool that could check a GC and see if it has lingering objects on it. Well I threw together something quick and dirty this
afternoon that should do that. It is not extremely efficient in how it does the
work but should theoretically work. I didn't test with lingering objects but I
did test with renames and deletes with a slow replication link to the GC and it
always found the objects that were different on the GC partial NC than in the
full NC on the proper DCs. Basically you tell the program to check a specific GC. It
will then enumerate the partitions and find the nearest (per normal nearest
methodology) DC for each partial NC and then enumerate every object in every NC
(getys DN and objectGUID) and do a lookup of that object against the
proper DC. If it does not find the exact DN, it will then do a objectguid
search in case the object was renamed, moved, or deleted and that hasn't
replicated to the GC yet. If it finds the object, it will display the new DN
and the whenChanged timestamp. Note that by default you must be an Admin to
find/display objects that have been deleted so if you aren't an admin you will
not know the whole story if it finds objects on the GC that it can't locate on
the DCs. Note though, the first pass could be with a normal userid and if you
have objects it can't find you could rerun as an admin or check deleted objects
yourself. Oh one thing to note that if the object has been moved to another
domain then this won't find it either, I didn't feel it was worth trying to
chase in that case because that requires a GC and the GC just told me where it
thought it was at and I looked there... In order to really check a forest you will need to check at
least two GCs. This is because the tool will not check the default NC of the GC
you select. So if you have say 5 domains in your forest named joe.com,
child1.joe.com,child2.joe.com,child3.joe.com,and child4.joe.com running the
tool against a GC for joe.com would check all of the children domains but not
joe.com. Running against one of the children domains would check joe.com and
all but that one child domain. If you find issues with this tool, let me know. If you find
lingering objects with it I WOULD LOVE to hear about that. I can then say for
sure that someone has used it and found lingering objects. Here is a sample run showing it finding some deleted
objects... Note that once the replication occurred to the GC, the deleted
objects would no longer show up in the report. [Sun 07/11/2004
16:28:57.36] GCChk
V01.00.00cpp Joe Richards ([EMAIL PROTECTED]) July 2004 Collecting NCs
from partitions container... Objects
Checked : 524 The command
completed successfully.
AdMod
V01.00.00cpp Joe Richards ([EMAIL PROTECTED]) July 2004 DN Count: 5 The command
completed successfully
GCChk
V01.00.00cpp Joe Richards ([EMAIL PROTECTED]) July 2004 Collecting NCs
from partitions container... ERROR: GC DN
for object not found: ERROR: GC DN
for object not found: ERROR: GC DN
for object not found: ERROR: GC DN
for object not found: Objects
Checked : 524 The command
completed successfully.
|
- RE: [ActiveDir] Another new joeware tool - GCChk Robbie Allen
- RE: [ActiveDir] Another new joeware tool - GCC... joe
- RE: [ActiveDir] Another new joeware tool - GCC... Myrick, Todd (NIH/CIT)
- RE: [ActiveDir] Another new joeware tool - GCC... Eric Fleischman
- RE: [ActiveDir] Another new joeware tool - GCC... Eric Fleischman
- RE: [ActiveDir] Another new joeware tool - GCC... Eric Fleischman
- RE: [ActiveDir] Another new joeware tool - GCC... Myrick, Todd (NIH/CIT)
