Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AsBuiltReport.VMware.Horizon.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
RootModule = 'AsBuiltReport.VMware.Horizon.psm1'

# Version number of this module.
ModuleVersion = '1.1.6'
ModuleVersion = '1.1.7'

# Supported PSEditions
# CompatiblePSEditions = @()
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.1.7] - 2025-09-??

### Fixed

- Fix health check references for consistency across scripts
- Fix section styles, migrate from NOTOCHeading5 to Heading5 for consistency in documentation
- Fix error "Item has already been added. Key in dictionary: 'List' Key being added: 'List'"
- Fix error "Cannot bind argument to parameter 'Name' because it is an empty string"

## [1.1.6] - 2025-09-13

### Added
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrHRZADDomain.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrHRZADDomain {
.DESCRIPTION
Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo.
.NOTES
Version: 1.1.5
Version: 1.1.7
Author: Chris Hildebrandt, Karl Newick
Twitter: @childebrandt42, @karlnewick
Editor: Jonathan Colon, @jcolonfzenpr
Expand Down Expand Up @@ -47,7 +47,7 @@ function Get-AbrHRZADDomain {
Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
if ($HealthCheck.DataStores.Status) {
if ($HealthCheck.vSphere.DataStores) {
$OutObj | Where-Object { $_.'Status' -eq 'ERROR' } | Set-Style -Style Warning
}
$TableParams = @{
Expand Down
84 changes: 44 additions & 40 deletions Src/Private/Get-AbrHRZAccessGroup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrHRZAccessGroup {
.DESCRIPTION
Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo.
.NOTES
Version: 1.1.5
Version: 1.1.7
Author: Chris Hildebrandt, Karl Newick
Twitter: @childebrandt42, @karlnewick
Editor: Jonathan Colon, @jcolonfzenpr
Expand Down Expand Up @@ -37,7 +37,7 @@ function Get-AbrHRZAccessGroup {
$OutObj = @()
$AccessGroupJoined = @()
$AccessGroupJoined += $AccessGroups
$AccessGroupJoined += $AccessGroups.Children
if ($AccessGroups.Children) { $AccessGroupJoined += $AccessGroups.Children }
foreach ($AccessGroup in $AccessGroupJoined) {
Write-PScriboMessage "Discovered $($AccessGroup.base.Name) Access Groups Information."
$inObj = [ordered] @{
Expand All @@ -63,56 +63,60 @@ function Get-AbrHRZAccessGroup {
Section -Style Heading4 "Access Groups Details" {
$AccessGroupJoined = @()
$AccessGroupJoined += $AccessGroups
$AccessGroupJoined += $AccessGroups.Children
if ($AccessGroups.Children) { $AccessGroupJoined += $AccessGroups.Children }
foreach ($AccessGroup in $AccessGroupJoined) {
Write-PScriboMessage "Discovered $($AccessGroup.base.Name) Access Groups Detailed Information."
$AdministratorIDNameResults = @()
# Find Administrator ID Name
foreach ($AccessGroupID in $AccessGroup.data.Permissions.id) {
foreach ($Permission in $Permissions) {
if ($AccessGroupID -eq $Permission.id.id) {
foreach ($PermissionGroup in $Permission.base.UserOrGroup.id) {
foreach ($Administrator in $Administrators) {
if ($Administrator.Id.id -eq $PermissionGroup) {
$AdministratorIDNameResults += $Administrator.base.name
break
try {
Write-PScriboMessage "Discovered $($AccessGroup.base.Name) Access Groups Detailed Information."
$AdministratorIDNameResults = @()
# Find Administrator ID Name
foreach ($AccessGroupID in $AccessGroup.data.Permissions.id) {
foreach ($Permission in $Permissions) {
if ($AccessGroupID -eq $Permission.id.id) {
foreach ($PermissionGroup in $Permission.base.UserOrGroup.id) {
foreach ($Administrator in $Administrators) {
if ($Administrator.Id.id -eq $PermissionGroup) {
$AdministratorIDNameResults += $Administrator.base.name
break
}
}
$AdministratorIDName = $AdministratorIDNameResults
}
$AdministratorIDName = $AdministratorIDNameResults
}
}
}
}
if ($AdministratorIDName) {
Section -ExcludeFromTOC -Style NOTOCHeading5 $AccessGroup.base.Name {
$OutObj = @()
foreach ($Principal in ($AdministratorIDName | Select-Object -Unique)) {
$PrincipalPermissionsName = @()
$PrincipalID = ($Administrators | Where-Object { $_.Base.Name -eq $Principal }).Id.Id
$PrincipalPermissions = ($Permissions.Base | Where-Object { $_.UserOrGroup.Id -eq $PrincipalID }).Role.Id
foreach ($PrincipalPermission in $PrincipalPermissions) {
$PrincipalPermissionsName += $(($Roles | Where-Object { $_.Id.id -eq $PrincipalPermission }).Base.Name)
}
if ($AdministratorIDName) {
Section -ExcludeFromTOC -Style NOTOCHeading5 $AccessGroup.base.Name {
$OutObj = @()
foreach ($Principal in ($AdministratorIDName | Select-Object -Unique)) {
$PrincipalPermissionsName = @()
$PrincipalID = ($Administrators | Where-Object { $_.Base.Name -eq $Principal }).Id.Id
$PrincipalPermissions = ($Permissions.Base | Where-Object { $_.UserOrGroup.Id -eq $PrincipalID }).Role.Id
foreach ($PrincipalPermission in $PrincipalPermissions) {
$PrincipalPermissionsName += $(($Roles | Where-Object { $_.Id.id -eq $PrincipalPermission }).Base.Name)
}

$inObj = [ordered] @{
'Name' = $Principal
'Permissions' = [string](($PrincipalPermissionsName | Select-Object -Unique) -join ', ')
}
$inObj = [ordered] @{
'Name' = $Principal
'Permissions' = [string](($PrincipalPermissionsName | Select-Object -Unique) -join ', ')
}

$OutObj += [pscustomobject](ConvertTo-HashToYN $inObj)
}
$OutObj += [pscustomobject](ConvertTo-HashToYN $inObj)
}

$TableParams = @{
Name = "Access Groups - $($AccessGroup.base.Name)"
List = $false
ColumnWidths = 35, 65
}
$TableParams = @{
Name = "Access Groups - $($AccessGroup.base.Name)"
List = $false
ColumnWidths = 35, 65
}

if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
if ($Report.ShowTableCaptions) {
$TableParams['Caption'] = "- $($TableParams.Name)"
}
$OutObj | Sort-Object -Property 'Name' | Table @TableParams
}
$OutObj | Sort-Object -Property 'Name' | Table @TableParams
}
} catch {
Write-PScriboMessage -IsWarning $_.Exception.Message
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Src/Private/Get-AbrHRZApplicationPool.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ function Get-AbrHRZApplicationPool {
$OtherApplicationFileTypes = $App.ExecutionData.OtherFileTypes | ForEach-Object { $_.FileType }
$OtherApplicationFileTypesresult = $OtherApplicationFileTypes -join ', '

Section -Style NOTOCHeading5 "Application Summary - $($App.Data.DisplayName)" {
Section -Style Heading5 "Application Summary - $($App.Data.DisplayName)" {
$OutObj = @()
Write-PScriboMessage "Discovered $($App.Data.DisplayName) Applications Information."
$inObj = [ordered] @{
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrHRZCertMgmt.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Get-AbrHRZCertMgmt {
.DESCRIPTION
Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo.
.NOTES
Version: 1.1.5
Version: 1.1.7
Author: Chris Hildebrandt, Karl Newick
Twitter: @childebrandt42, @karlnewick
Editor: Jonathan Colon, @jcolonfzenpr
Expand Down Expand Up @@ -54,7 +54,7 @@ function Get-AbrHRZCertMgmt {
'Certificate Thumbprint' = $PodCert.Thumbprint
}
$OutObj = [pscustomobject](ConvertTo-HashToYN $inObj)
if ($HealthCheck.ConnectionServers.Status) {
if ($HealthCheck.Components.ConnectionServers) {
$OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled'
}
$TableParams = @{
Expand Down
Loading