Carl Webster Accessibility Statement

Carl Webster is committed to facilitating the accessibility and usability of its website,, for everyone. Carl Webster aims to comply with all applicable standards, including the World Wide Web Consortium’s Web Content Accessibility Guidelines 2.0 up to Level AA (WCAG 2.0 AA). Carl Webster is proud of the efforts that we have completed and that are in-progress to ensure that our website is accessible to everyone.

If you experience any difficulty in accessing any part of this website, please feel free to email us at and we will work with you to provide the information or service you seek through an alternate communication method that is accessible for you consistent with applicable law (for example, through telephone support).

  • Microsoft Active Directory Documentation Script V3.06

    July 27, 2021

    Active Directory, PowerShell

    Version 3.06 27-Jul-2021

    • Add new Function ProcessOUsForBlockedInheritance to add a report section for OUs with GPO Block Inheritance set
    • Add new Function ProcessSYSVOLStateInfo to show the SYSVOL state for each DC as an Appendix
    • Added by MBS, HTML codes for AlignLeft and AlignRight
      • Update Function AddHTMLTable
      • Update Function FormatHTMLTable
      • Update Function Get-ComputerCountByOS
      • Update Function getDSUsers
      • Update Function OutputEventLogInfo
      • Update Function ProcessEventLogInfo
      • Update Function ProcessGroupInformation
      • Update Function ProcessOrganizationalUnits
      • Update Function ProcessSYSVOLStateInfo
      • Update Function WriteHTMLLine
    • In Function ProcessAllDCsInTheForest, change the way all domain controllers in the forest are retrieved
      • The previous method did not always find RODC appliances
      • Use new method given by MBS
    • The following fixes were requested by Jorge de Almeida Pinto
      • In Function Get-RegistryValue, removed the Write-Verbose message on error as it confused people
      • In Function OutputADFileLocations, check only for null to catch appliances (Riverbed) with no registry
      • In Function OutputEventLogInfo, add Try/Catch to Get-EventLog to catch appliances (Riverbed) with no event logs
      • In Function OutputTimeServerRegistryKeys, check only for null to catch appliances (Riverbed) with no registry
      • When processing DCs, add testing to see if the DC is online before processing registry keys
        • Add an error message to the console and output file
      • When testing a DC to see if it was online, I used the wrong variable name
    • In Function ProcessScriptEnd, always output Company Name
    • In Function ShowScriptOptions, always output Company Name

    If you run the script in a multiple domain forest or have Read-only Domain Controller appliances and have questions or issues, please email me. webster at carlwebster dot com.

    You can always find the most current script by going to



    About Carl Webster

    Carl Webster is an independent consultant specializing in Citrix, Active Directory, and technical documentation. Carl (aka “Webster”) serves the broader Citrix community by writing articles (see and by being the most active person in the Citrix Zone on Experts Exchange. Webster has a long history in the IT industry beginning with mainframes in 1977, PCs and application development in 1986, and network engineering in 2001. He has worked with Citrix products since 1990 with the premiere of their first product – the MULTIUSER OS/2.

    View all posts by Carl Webster

    No comments yet.

    Leave a Reply