Releases: santisq/PSADTree
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
v1.1.5
v1.1.4
v1.1.3
What's Changed
- Updates build to use ProjectBuilder.
- Updates CI to
v4Actions. - Updates
-Depthparameter type fromuinttointwith range validation. - Updates docs.
Full Changelog: v1.1.2...v1.1.3
v1.1.2
What's Changed
- Convert function to Binary Module by @santisq in #5. The
Get-Hierarchyfunction has been rewritten in C# and split into 2 cmdlets (Get-ADTreeGroupMemberandGet-ADTreePrincipalGroupMembership). - Cmdlets Features:
- Both cmdlets include a
-Depthparameter to limit the level of recursion. - Both cmdlets support pipeline input and should support input from the Active Directory Module cmdlets.
- Both cmdlets include a
Future Plans
Get-ADTreeOrganizationalUnitmight be included in a future release.- Feel free to submit a new Issue if you want to see other features included. Feedback is appreciated.
Full Changelog: v1.0.0...v1.1.2
v1.1.1
What's Changed
- Convert function to Binary Module by @santisq in #5. The
Get-Hierarchyfunction has been rewritten in C# and split into 2 cmdlets (Get-ADTreeGroupMemberandGet-ADTreePrincipalGroupMembership). - Cmdlets Features:
- Both cmdlets include a
-Depthparameter to limit the level of recursion. - Both cmdlets support pipeline input and should support input from the Active Directory Module cmdlets.
- Both cmdlets include a
Future Plans
Get-ADTreeOrganizationalUnitmight be included in a future release.- Feel free to submit a new Issue if you want to see other features included. Feedback is appreciated.
Full Changelog: v1.0.0...v1.1.1
v1.0.0
What's Changed
- Add multiple domain support by @poshAJ in #3
- Added
-ServerParameter. - The function no longer requires the Active Directory Module.
- Improved hierarchy aesthetics (looks similar to PSTree).
- Added
New Contributors
Full Changelog: https://github.com/santisq/Get-Hierarchy/commits/v1.0.0