SkillAgentSearch skills...

PSWinDocumentation.AD

PowerShell module delivering a lot of Active Directory Forest/Domain information

Install / Use

/learn @EvotecIT/PSWinDocumentation.AD
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <a href="https://www.powershellgallery.com/packages/PSWinDocumentation.AD"><img src="https://img.shields.io/powershellgallery/v/PSWinDocumentation.AD.svg"></a> <a href="https://www.powershellgallery.com/packages/PSWinDocumentation.AD"><img src="https://img.shields.io/powershellgallery/v/PSWinDocumentation.AD.svg?label=powershell%20gallery%20preview&colorB=yellow&include_prereleases"></a> </p> <p align="center"> <a href="https://www.powershellgallery.com/packages/PSWinDocumentation.AD"><img src="https://img.shields.io/powershellgallery/p/PSWinDocumentation.AD.svg"></a> <a href="https://github.com/EvotecIT/PSWinDocumentation.AD"><img src="https://img.shields.io/github/languages/top/evotecit/PSWinDocumentation.AD.svg"></a> <a href="https://github.com/EvotecIT/PSWinDocumentation.AD"><img src="https://img.shields.io/github/languages/code-size/evotecit/PSWinDocumentation.AD.svg"></a> <a href="https://github.com/EvotecIT/PSWinDocumentation.AD"><img src="https://img.shields.io/powershellgallery/dt/PSWinDocumentation.AD.svg"></a> </p>

PSWinDocumentation.AD - PowerShell Module

PSWinDocumentation.AD is a Powershell module that has a single goal of getting Active Directory data

Use cases described

ChangeLog

  • 0.1.20 - 2021.03.21

    • [x] Few fixes to get it up and running
  • 0.1.19 - 31.08.2020

    • Types
      • [x] Added DomainWellKnownFolders
      • [x] Added DomainGroupPoliciesACLConsistency
      • [x] Added DomainGroupPoliciesSysVol
      • [x] Added DomainGroupPoliciesOwners
      • [x] Added DomainGroupPoliciesWMI
      • [x] Added DomainGroupPoliciesLinksSummary
  • 0.1.8 - 22.06.2020

    • [x] Fix for PasswordQuality and support for DSInternals 4.3
      • [ ] At some point DSInternals was updated with different output and I didn't notice.
    • [x] Improved PasswordQuality speed (conversion to hashtables)
    • [x] Removed some dead code
    • [x] Added Invoke-ADPasswordAnalysis to simplify PasswordQuality
  • 0.1.7 - 20.08.2019

    • [x] Added ForestRoles (FSMO different)
    • [x] Modified ForestSites, ForestSites1, ForestSites2
  • 0.1.6 - 8.07.2019

    • [x] Get-WinADForestReplicationPartnerMetaData - error optimizations
    • [x] Updated DSInternals to 3.6
  • 0.1.5 - 23.06.2019

    • [x] ForestOptionalFeatures
      • Added LAPS detection in Optional Features
    • [x] DomainGroupsPriviliged
      • Wouldn't work when asked just for this value
    • Removed [ordered] from [PSCustomObject] - not needed
    • Started fixing Enum values so that they are immune to Import-CliXML issues
    • Updated support for DSInternals 3.5
    • Updated support for PSSharedGoods 0.0.79
  • 0.1.4 - 1.06.2019

    • Added ForestReplication data set (thanx Ronnie Smith)
  • 0.1.3 - 31.05.2019

    • Small changes to Default Password Policy Output (converted TimeSpan into Days/Minutes)
  • 0.1.1 - 28.05.2019

    • Peformance update (up to 10x faster in larger domains)
    • Small tweaks
  • 0.0.7 - 12.05.2019

    • First public release

Install

Install-Module PSWinDocumentation.AD -Force

Datasets covered by PSWinDocumentation.AD

  • [x] ForestInformation
  • [x] ForestFSMO
  • [ ] ForestRoles
  • [x] ForestGlobalCatalogs
  • [x] ForestOptionalFeatures
  • [x] ForestUPNSuffixes
  • [x] ForestSPNSuffixes
  • [x] ForestSites
  • [x] ForestSites1
  • [x] ForestSites2
  • [x] ForestSubnets
  • [x] ForestSubnets1
  • [x] ForestSubnets2
  • [x] ForestSiteLinks
  • [x] ForestDomainControllers
  • [x] ForestRootDSE
  • [x] ForestSchemaPropertiesUsers
  • [x] ForestSchemaPropertiesComputers
  • [x] DomainRootDSE
  • [x] DomainRIDs
  • [x] DomainAuthenticationPolicies
  • [x] DomainAuthenticationPolicySilos
  • [x] DomainCentralAccessPolicies
  • [x] DomainCentralAccessRules
  • [x] DomainClaimTransformPolicies
  • [x] DomainClaimTypes
  • [x] DomainFineGrainedPolicies
  • [x] DomainFineGrainedPoliciesUsers
  • [x] DomainFineGrainedPoliciesUsersExtended
  • [x] DomainGUIDS
  • [x] DomainDNSSRV
  • [x] DomainDNSA
  • [x] DomainInformation
  • [x] DomainControllers
  • [x] DomainFSMO
  • [x] DomainDefaultPasswordPolicy
  • [x] DomainGroupPolicies
  • [x] DomainGroupPoliciesDetails
  • [x] DomainGroupPoliciesACL
  • [x] DomainOrganizationalUnits
  • [x] DomainOrganizationalUnitsBasicACL
  • [x] DomainOrganizationalUnitsExtendedACL
  • [x] DomainContainers
  • [x] DomainTrustsClean
  • [x] DomainTrusts
  • [x] DomainBitlocker
  • [x] DomainLAPS
  • [x] DomainGroupsFullList
  • [x] DomainGroups
  • [x] DomainGroupsMembers
  • [x] DomainGroupsMembersRecursive
  • [x] DomainGroupsSpecial
  • [x] DomainGroupsSpecialMembers
  • [x] DomainGroupsSpecialMembersRecursive
  • [x] DomainGroupsPriviliged
  • [x] DomainGroupsPriviligedMembers
  • [x] DomainGroupsPriviligedMembersRecursive
  • [x] DomainUsersFullList
  • [x] DomainUsers
  • [x] DomainUsersCount
  • [x] DomainUsersAll
  • [x] DomainUsersSystemAccounts
  • [x] DomainUsersNeverExpiring
  • [x] DomainUsersNeverExpiringInclDisabled
  • [x] DomainUsersExpiredInclDisabled
  • [x] DomainUsersExpiredExclDisabled
  • [x] DomainAdministrators
  • [x] DomainAdministratorsRecursive
  • [x] DomainEnterpriseAdministrators
  • [x] DomainEnterpriseAdministratorsRecursive
  • [x] DomainComputersFullList
  • [x] DomainComputersAll
  • [x] DomainComputersAllCount
  • [x] DomainComputers
  • [x] DomainComputersCount
  • [x] DomainServers
  • [x] DomainServersCount
  • [x] DomainComputersUnknown
  • [x] DomainComputersUnknownCount
  • [x] DomainPasswordDataUsers
  • [x] DomainPasswordDataPasswords
  • [x] DomainPasswordDataPasswordsHashes
  • [x] DomainPasswordClearTextPassword
  • [x] DomainPasswordClearTextPasswordEnabled
  • [x] DomainPasswordClearTextPasswordDisabled
  • [x] DomainPasswordLMHash
  • [x] DomainPasswordEmptyPassword
  • [x] DomainPasswordWeakPassword
  • [x] DomainPasswordWeakPasswordEnabled
  • [x] DomainPasswordWeakPasswordDisabled
  • [x] DomainPasswordWeakPasswordList
  • [x] DomainPasswordDefaultComputerPassword
  • [x] DomainPasswordPasswordNotRequired
  • [x] DomainPasswordPasswordNeverExpires
  • [x] DomainPasswordAESKeysMissing
  • [x] DomainPasswordPreAuthNotRequired
  • [x] DomainPasswordDESEncryptionOnly
  • [x] DomainPasswordDelegatableAdmins
  • [x] DomainPasswordDuplicatePasswordGroups
  • [x] DomainPasswordHashesWeakPassword
  • [x] DomainPasswordHashesWeakPasswordEnabled
  • [x] DomainPasswordHashesWeakPasswordDisabled
  • [x] DomainPasswordStats

Example outputs:

Small code sample 1

$Forest = Get-WinADForestInformation -Verbose -PasswordQuality
$Forest

Small code sample 2

$Forest = Get-WinADForestInformation -Verbose -PasswordQuality
$Forest.FoundDomains
$Forest.FoundDomains.'ad.evotec.xyz'

Small code sample 3

$Forest = Get-WinADForestInformation -Verbose -PasswordQuality -DontRemoveSupportData -TypesRequired DomainGroups -Splitter "`r`n"
$Forest

Example output while running

VERBOSE: Loading module from path 'C:\Program Files\WindowsPowerShell\Modules\PSWinDocumentation.AD\0.0.8\PSWinDocumentation.AD.psd1'.
VERBOSE: Populating RepositorySourceLocation property for module PSWinDocumentation.AD.
VERBOSE: Loading module from path 'C:\Program Files\WindowsPowerShell\Modules\PSWinDocumentation.AD\0.0.8\PSWinDocumentation.AD.psm1'.
VERBOSE: Importing function 'Get-WinADDomainInformation'.
VERBOSE: Importing function 'Get-WinADForestInformation'.
VERBOSE: Getting all information - Start
VERBOSE: Getting forest information - Start
VERBOSE: Getting forest information - TypesRequired is null. Getting all.
VERBOSE: Getting forest information - ForestRootDSE
VERBOSE: Getting forest information - ForestRootDSE - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 21 milliseconds
VERBOSE: Getting forest information - Forest
VERBOSE: Getting forest information - Forest - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 13 milliseconds
VERBOSE: Getting forest information - ForestSchemaPropertiesComputers
VERBOSE: Getting forest information - ForestSchemaPropertiesComputers - Time: 0 days, 0 hours, 0 minutes, 1 seconds, 369 milliseconds
VERBOSE: Getting forest information - ForestSchemaPropertiesUsers
VERBOSE: Getting forest information - ForestSchemaPropertiesUsers - Time: 0 days, 0 hours, 0 minutes, 1 seconds, 242 milliseconds
VERBOSE: Getting forest information - ForestUPNSuffixes
VERBOSE: Getting forest information - ForestUPNSuffixes - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 8 milliseconds
VERBOSE: Getting forest information - ForestSPNSuffixes
VERBOSE: Getting forest information - ForestSPNSuffixes - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 6 milliseconds
VERBOSE: Getting forest information - ForestGlobalCatalogs
VERBOSE: Getting forest information - ForestGlobalCatalogs - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 5 milliseconds
VERBOSE: Getting forest information - ForestFSMO
VERBOSE: Getting forest information - ForestFSMO - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 7 milliseconds
VERBOSE: Getting forest information - ForestDomainControllers
VERBOSE: Getting forest information - ForestDomainControllers - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 106 milliseconds
VERBOSE: Getting forest information - ForestSites
VERBOSE: Getting forest information - ForestSites - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 49 milliseconds
VERBOSE: Getting forest information - ForestSites1
VERBOSE: Getting forest information - ForestSites1 - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 11 milliseconds
VERBOSE: Getting forest information - ForestSites2
VERBOSE: Getting forest information - ForestSites2 - Time: 0 days, 0 hours, 0 minutes, 0 seconds, 7 milliseconds
VERBOSE: Getting forest information - ForestSubnets
VERBOSE: Getting forest information - ForestSubnets - Time: 0 days, 0 hours, 0 minut

Related Skills

View on GitHub
GitHub Stars135
CategoryDevelopment
Updated1mo ago
Forks23

Languages

PowerShell

Security Score

100/100

Audited on Feb 14, 2026

No findings