16.11. Determining How Much Whitespace Is in the DIT

Problem

You want to find the amount of whitespace in your DIT. A lot of whitespace in the DIT may mean that you could regain enough space on the disk to warrant performing an offline defrag.

Solution

Using a graphical user interface

  1. Run regedit.exe from the command line or Start Run.

  2. Expand HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services NTDS Diagnostics.

  3. In the right pane, double-click on 6 Garbage Collection.

  4. For Value data, enter 1.

  5. Click OK.

Using a command-line interface

> reg add HKLM\System\CurrentControlSet\Services\NTDS\Diagnostics /v "6 Garbage[RETURN] 
Collection" /t REG_DWORD /d 1

Using VBScript

' This code enables logging of DIT whitespace information in the event log.
' ------ SCRIPT CONFIGURATION ------
strDCName = "<DomainControllerName>"  ' e.g. dc1
' ------ END CONFIGURATION ---------

const HKLM = &H80000002
strNTDSReg = "SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics"
set objReg = GetObject("winmgmts:\\" & strDCName & "\root\default:StdRegProv")
objReg.SetDWORDValue HKLM, strNTDSReg, "6 Garbage Collection", 1
WScript.Echo "Garbage Collection logging set to 1"

Discussion

By setting the 6 Garbage Collection diagnostics logging option, event 1646 will get generated after the garbage collection process runs. Here is an example 1646 event:

Event Type: Information Event Source: NTDS Database Event Category: Garbage Collection Event ID: 1646 Date: 5/25/2003 Time: 9:52:46 AM User: NT AUTHORITY\ANONYMOUS LOGON ...

Get Active Directory Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.