v1.1.6
What's Changed
-
Fixed Cross-Store Reference Resolution Error: Resolved an issue where enumerating
PrincipalSearchResult<T>caused errors in multi-domain environments. See issue #16 for details. -
Improved Caching: Updated the caching mechanism used by the cmdlets to persist across all input objects in a single cmdlet invocation. Previously, the cache was cleared for each input object, causing redundant Active Directory queries. For example, piping the same group multiple times now queries its membership only once, unlike v1.1.5 which queried it each time:
$group = Get-ADGroup myGroup $group, $group, $group | Get-ADTreeGroupMember -Recursive
With this release, cached group hierarchies are reused for
memberandmemberOfqueries. These gains are expected to scale exponentially in larger environments with nested or overlapping groups, as the reused cache cuts down AD queries.Performance comparison between versions in a very small environment (reference test):
PS C:\Users\Administrator\Documents\pwsh\PSADTree> .\tests\perf-1.1.6.ps1 Test Average (5 invocations) RelativeSpeed ---- ----------------------- ------------- PSADTree v1.1.6-pwsh-7 00:00:11.175 1x PSADTree v1.1.6-pwsh-5.1 00:00:21.677 1.94x PSADTree v1.1.5-pwsh-7 00:00:30.029 2.69x PSADTree v1.1.5-pwsh-5.1 00:00:41.761 3.74x
Big thanks to @CrookedJ and @poshAJ for their help and patience testing this release! 😅
Full Changelog: v1.1.5...v1.1.6