DSReport: NDS Report Generator


DSReport was originally designed as sample code to illustrate the use of Delphi with NetWare APIs. The Delphi source code (not as frequently updated as the EXE upload) is available on Novell's DeveloperNet web site as "DNDSRPT" under http://developer.novell.com/support/sample.htm

It will allow you to run reports on any attribute of any object in an eDirectory/NDS tree.The resulting data can be exported into text, Excel, QuattroPro, HTML, or XML files.


  • Get Info
    Tab 1 shows this info
  • Get Updates
    Tab 1 has a link to my web site where the most recent version is found
  • Select the tree
    Tab2: To select a different tree, choose the target tree from the drop list
  • Select the tree
    Tab2: To select a different container, double-click on the appropriate container in the container list
  • Get details on one object
    Tab2: To scan all attributes of one object, double-click the object in the object list (right list)
    Results will be shown in Tab4
  • Get details on multiple objects of the same type
    Tab3: To scan all objects of a selected type, select the object type, and requested properties, then press "Run".
    DSReport remembers and saves your preferences into DSReport.INI
    Results will be shown in Tab4
  • Get details on classes or attributes in the schema
    Tab3: To scan the schema for class or attribute details, use the respective report button in the bottom right of the screen
    Results will be shown in Tab4
  • Sorting Results
    Tab 4: To sort a report on any column right-click on the results window and choose the sort option from the context menu.
  • Exporting Report Data
    Tab 4: To export a report, run it, then press the "Save" button, or right-click on the results window.
    To export the results into Excel or QuattroPro, the applications need to be installed on the machine.
    After pressing "Save", the result table will also be in the clipboard and can be pasted into other applications.
  • Filtering Report Results
    Tab 3: The Multi-object report can be filtered. You may select up to 3 attributes and specify filter strings that will be compared with the attribute values at run time.
    The 3 filters will be combined with a logical AND. This allows you for example reports to identify users that have been created in the year 2003, but have not logged in during 2004.
    A filter is ignored if the attribute name or the filter string is left empty.
    To check for empty attributes use "must contain" ... "[nothing]" or "must not contain" ... "[anything]"
    To check for non-empty attributes use "must contain" ... "[anything]" or "must not contain" ... "[nothing]"
  • Saving/Loading report specifications (canned reports)
    Once you have run a report, you can save the report specifications (i.e., the your report criteria) for repeated use.
    The context menu in the report window allows to save the current report, or to load and run previous specifications.
    You may also specify the name of a saved report on the command line when starting DSReport (Example: DSReport /Report="F:\Reports\User Admin.rpt")
    DSReport will terminate after running a canned report if you add the option "/Quit".
  • Notes about canned reports
    The canned report is a regular ini file with the extension "rpt" and may be edited to your needs.
    If you save the report _before_ saving the results, running the canned report will _not_ auto-save the results.
    If you save the report _after_ saving the results, running the canned report will auto-save the results in the specified file.
  • Exporting classes or attribute lists
    Tab 3: To export the simple list of classes or class-specific attributes, right-click on the list.
    To export the results into Excel, the application needs to be installed on the machine.
    After pressing "Save", the result table will also be in the clipboard and can be pasted into other applications.
    Note that a more detailed schema report method is available by pressing one of the schema report buttons

Other important information

  • Reading the schema
    The tool reads the schema at run-time, therefor can detect all attribute types, however only the standard syntaxes will be read.
  • The current version of DSReport does not support the following (uncommon) NDS syntaxes:
    If such unknown syntax is detected, the attribute value will contain a string like this: "[] <hex data>"
    Drop me a note if you need such decodes.
  • Reading ZEN attributes
    Since the NDS attribute structure is not yet fully documented, some ZEN attributes may displayed as hex-strings or only partially decoded.

Revision history:

  • 1999/01 Original version
  • 2001/01 Added auxiliary/multi-class support
  • 2001/05 Added DSI flags information
  • 2001/11 Basic ZEN attribute decodes
  • 2001/12 Better export of multi-valued attributes
  • 2002/01 Additional decodes
  • 2002/04 Added HTML/XML export options
  • 2002/05 Added options to save/load report specifications (canned reports)
    Added extended ZEN attribute decodes
    Added OctetList decodes
  • 2002/06 Added options to filter results by attribute contents
  • 2002/09 Fixed decode of INTEGER attributes
    Time stamps now shown in local time (not UTC time)
  • 2002/10 Added result custom sort options
    Added support for auxiliary attributes in multi-object report
  • 2002/12 Fixed ASCII output format
    Added auto-save and sort options for canned reports
  • 2003/02 Added option to save available classes/attributes in popup menu
  • 2003/04 Additional decodes and removed trailing CRLF
  • 2004/01 Schema export, Additional decodes, new filter options ([anything]/[nothing])
  • 2004/03 Added option to cancel large reports
  • 2004/06 Fixed reverse 'I' flag in ACLs
  • 2004/10 Fixed error during exit on Win2003
  • 2004/11 Added Attribute Modification Time and Attribute flags
  • 2005/01 Added option to edit attributes
    Added more output display configuration options

  • 2005/02 Fixed search with base=[root]

  • 2005/08 Fix: now can save reports with only one match

    Added option to report on objectClass='*'

    Absolute representation of DNs (e.g., "bob.myOu.myO" vs. "bob.myOu.")

Requires: NetWare Client32 / NWErr32.dll, available from http://www.wolfgangschreiber.de/.


Comment List