From 72af13c107e9a5614713bdf372300d8a066d49ac Mon Sep 17 00:00:00 2001 From: Chris Hildebrandt Date: Tue, 19 Dec 2023 19:40:28 -0600 Subject: [PATCH 01/25] Updated Changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 258e12c..8f1ec0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # :arrows_clockwise: VMware Horizon As Built Report Changelog -## [0.2.0] - 2023-12-19 +## [1.1.0] - 2023-12-19 ### Added From 8455f415cd85700985aa345082d02b7b06e17c98 Mon Sep 17 00:00:00 2001 From: Chris Hildebrandt Date: Wed, 20 Dec 2023 09:51:34 -0600 Subject: [PATCH 02/25] Fixed Connection Server replication to Work with more than 2 connection servers --- Src/Private/Get-AbrHRZConnectionServer.ps1 | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Src/Private/Get-AbrHRZConnectionServer.ps1 b/Src/Private/Get-AbrHRZConnectionServer.ps1 index 88783be..da31529 100644 --- a/Src/Private/Get-AbrHRZConnectionServer.ps1 +++ b/Src/Private/Get-AbrHRZConnectionServer.ps1 @@ -307,11 +307,17 @@ function Get-AbrHRZConnectionServer { Write-PscriboMessage "Working on Replication Information for $($connectionserver.General.Name)." foreach($CSHealth in ($ConnectionServersHealth | Where-Object {$_.Name -EQ $connectionserver.General.Name})){ + $Messages = $($CSHealth.ReplicationStatus | ForEach-Object { $_.Message }) -join ',' + if($Messages -eq ',' -or $Messages -eq ''){ + $Message = 'No Message' + }else { + $Message = $Messages + } $inObj = [ordered] @{ 'Connection Server' = $CSHealth.Name - 'Replication Partner' = $CSHealth.ReplicationStatus.Servername - 'Status' = $CSHealth.ReplicationStatus.Status - 'Message' = $CSHealth.ReplicationStatus.Message + 'Replication Partner' = $($CSHealth.ReplicationStatus | ForEach-Object { $_.ServerName }) -join ',' + 'Status' = $($CSHealth.ReplicationStatus | ForEach-Object { $_.Status }) -join ',' + 'Message' = $Message } $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) } From 15e7833b5afb8da44a8f88387d09820be1c6d9c9 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Sat, 6 Jan 2024 08:59:11 -0400 Subject: [PATCH 03/25] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03da592..e12552a 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ The **Report** schema provides configuration of the VMware Horizon report inform | Sub-Schema | Setting | Default | Description | |---------------------|--------------|--------------------------------|--------------------------------------------------------------| | Name | User defined | VMware Horizon As Built Report | The name of the As Built Report | -| Version | User defined | 1.1 | The report version | +| Version | User defined | 1.0 | The report version | | Status | User defined | Released | The report release status | | ShowCoverPageImage | true / false | true | Toggle to enable/disable the display of the cover page image | | ShowTableOfContents | true / false | true | Toggle to enable/disable table of contents | From 2df3701fc461ed8ff43c1c43650d592bb2a5ae88 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Sat, 20 Jan 2024 14:13:27 -0400 Subject: [PATCH 04/25] Create Codeql.yml --- .github/workflows/Codeql.yml | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/Codeql.yml diff --git a/.github/workflows/Codeql.yml b/.github/workflows/Codeql.yml new file mode 100644 index 0000000..6267bc4 --- /dev/null +++ b/.github/workflows/Codeql.yml @@ -0,0 +1,49 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# +# https://github.com/microsoft/action-psscriptanalyzer +# For more information on PSScriptAnalyzer in general, see +# https://github.com/PowerShell/PSScriptAnalyzer + +name: CodeQL + +on: + push: + branches: [ "dev" ] + pull_request: + branches: [ "dev" ] + schedule: + - cron: '20 14 * * 1' + +permissions: + contents: read + +jobs: + build: + permissions: + contents: read # for actions/checkout to fetch code + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + name: PSScriptAnalyzer + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Run PSScriptAnalyzer + uses: microsoft/psscriptanalyzer-action@v1.1 + with: + # Check https://github.com/microsoft/action-psscriptanalyzer for more info about the options. + # The below set up runs PSScriptAnalyzer to your entire repository and runs some basic security rules. + path: .\ + recurse: true + # Include your own basic security rules. Removing this option will run all the rules + excludeRule: '"PSAvoidUsingPlainTextForPassword", "PSAvoidUsingUsernameAndPasswordParams", "PSAvoidUsingConvertToSecureStringWithPlainText"' + output: results.sarif + + # Upload the SARIF file generated in the previous step + - name: Upload SARIF results file + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: results.sarif From 906252710f08e4b4ee94ee481e9ecda6432fd83f Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Sat, 20 Jan 2024 23:00:12 -0400 Subject: [PATCH 05/25] Update Invoke-ASBuiltReport.VMware.Horizon.ps1 --- Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 index 837660b..c904af4 100644 --- a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 +++ b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 @@ -368,7 +368,7 @@ try { # Gateway Certificates - $GatewayCerts = $hzServices.GlobalSettings.GlobalSettings_ListGatewayCertificates() + $script:GatewayCerts = $hzServices.GlobalSettings.GlobalSettings_ListGatewayCertificates() } catch { Write-PscriboMessage -IsWarning $_.Exception.Message @@ -434,4 +434,4 @@ } } } -} \ No newline at end of file +} From 3122c04ca6108fb86887f15d37de5f91048885e1 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Fri, 2 Feb 2024 09:20:11 -0400 Subject: [PATCH 06/25] Bump dev version to 1.1.1 --- AsBuiltReport.VMware.Horizon.psd1 | Bin 9854 -> 10486 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/AsBuiltReport.VMware.Horizon.psd1 b/AsBuiltReport.VMware.Horizon.psd1 index cbbc644100a486422f147b472e8c49fe8337e0bb..07282af287f073e312227cef1d7426c25ab2d335 100644 GIT binary patch delta 884 zcmY*XOK1~O6rGu5l4*X;eQK=LJm+C^?xNza3_(Mccq=-gwyzRV686I=)xrcl1z3=_qHs8FP;n7Y? z$na-Hl`}v1!!n-mEjLAG91=F+PF6xVP>`$KO0LQkIX~y2V`X6)-(KD7)M)^ z&~of&+(So=xKEA-L+~r+#<219YZ(;%$#NDL$F1|*? z>~M!P2G!jlF6xS6(p_NHF1b(s=XnhwmyC*(W0|Hjy(A;S)unc1d$7IhD~s29HZt6l zYPj$D$>Q7I9)|b$WPJ8cQZIXb_N3Q*kBJ-g&$(;nHY;2a)pQK4Ky=A`e*!X21rCvR zKntTCD6`u6?x%DkAG+;rrGrzXy&mjkx>v!|3tk~xcP=!`@|(jof5%R_LEMbwaXj9} zjmQe7dJ&njurVAR=B)tJu|9^M#hPT5j58~v8SfBZk!|rydEr%*6nifd$^k0yT(O-e zlr+ML4aBz+CCkh>kr?L}AL~6mg)d13=T!;LR2k)r535o$##~C^&7c4wJ%D=phl!8j zVrIttXK*k(iU-+uB)+O{HQuTu_Mtx)$FJpeO7!Pe<8bZ`;Vs%uT-J`7XBkwzL2mo> dI>vMrkMxSw7~bpas98O44>6Me$nt%Kp?{8i*j)es delta 462 zcmX|*F=!J37)I|dm*$K~E@_)wl3r^X)4LE#XpchMK72k9U| zq(~`K^Xe{gNM-kA|G#6x=G z4mD{NNj20(p)M>4rjQike-B?;4M?9WJwire%9JxVDUgJb|NJp=-9j%HMkE6Hv z6}`vZu}`?MBigY^WW~Tz?u!?BGNy5&l*7hjS6TXR6keYzg|>zg|H&}E60*hK`QPj% zYAh#n^b@;bHrP*gX{Nr#tbZT!RnM}jPO_;!;D@?IJ$+1&cDR&j@g`$4$UJ0!+~M7L zk4F=h-=EkJ(X%c8dG?A(kh8Hgmjli5KWL%Q3pQTCqg!aSi(A|-&bNy?z2XY;RMoeq zJduQ%=cS&HxWaXw=^6*AH14d7G~J~?JqS6+=b3ft7fwg)lst|~osjSFcJ|9?+nST< zl$#98gLcJZvvPT)UsOJx)i+1!8EJyK8)xhi7 Date: Fri, 2 Feb 2024 09:20:19 -0400 Subject: [PATCH 07/25] Code Cleanup --- AsBuiltReport.VMware.Horizon.json | 14 +- LICENSE | 2 +- Src/Private/Get-AbrHRZADDomain.ps1 | 20 +- Src/Private/Get-AbrHRZAccessGroup.ps1 | 34 ++- Src/Private/Get-AbrHRZAdminGroup.ps1 | 45 ++-- Src/Private/Get-AbrHRZApplicationPool.ps1 | 37 ++-- Src/Private/Get-AbrHRZCertMgmt.ps1 | 29 ++- Src/Private/Get-AbrHRZCloudPod.ps1 | 33 ++- Src/Private/Get-AbrHRZConnectionServer.ps1 | 193 ++++++++-------- Src/Private/Get-AbrHRZDatastore.ps1 | 38 ++-- Src/Private/Get-AbrHRZDesktopPool.ps1 | 208 +++++++++--------- Src/Private/Get-AbrHRZDomains.ps1 | 31 ++- Src/Private/Get-AbrHRZESXi.ps1 | 40 ++-- Src/Private/Get-AbrHRZEventConf.ps1 | 40 ++-- Src/Private/Get-AbrHRZFarm.ps1 | 93 ++++---- .../Get-AbrHRZFederationAccessGroups.ps1 | 31 ++- Src/Private/Get-AbrHRZGatewayCert.ps1 | 19 +- Src/Private/Get-AbrHRZGlobalEntitlement.ps1 | 100 ++++----- Src/Private/Get-AbrHRZGlobalPolicies.ps1 | 13 +- Src/Private/Get-AbrHRZGlobalSetting.ps1 | 51 ++--- Src/Private/Get-AbrHRZHomeSite.ps1 | 14 +- Src/Private/Get-AbrHRZInfrastructure.ps1 | 13 +- Src/Private/Get-AbrHRZInstantClone.ps1 | 18 +- Src/Private/Get-AbrHRZLicense.ps1 | 88 ++++---- Src/Private/Get-AbrHRZLocalEntitlement.ps1 | 61 +++-- Src/Private/Get-AbrHRZMachines.ps1 | 19 +- Src/Private/Get-AbrHRZRegisteredMachine.ps1 | 36 ++- Src/Private/Get-AbrHRZRolePermission.ps1 | 35 ++- Src/Private/Get-AbrHRZRolePrivilege.ps1 | 17 +- Src/Private/Get-AbrHRZSites.ps1 | 19 +- Src/Private/Get-AbrHRZUAG.ps1 | 23 +- Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 | 28 +-- Src/Private/Get-AbrHRZVcenter.ps1 | 52 ++--- Src/Private/Get-RequiredModule.ps1 | 2 +- Src/Private/SharedUtilsFunctions.ps1 | 58 +++-- .../Invoke-ASBuiltReport.VMware.Horizon.ps1 | 201 ++++++++--------- 36 files changed, 808 insertions(+), 947 deletions(-) diff --git a/AsBuiltReport.VMware.Horizon.json b/AsBuiltReport.VMware.Horizon.json index 0c47e4b..cf0a97c 100644 --- a/AsBuiltReport.VMware.Horizon.json +++ b/AsBuiltReport.VMware.Horizon.json @@ -1,5 +1,5 @@ { - "Report": { + "Report": { "Name": "VMware Horizon As Built Report", "Version": "1.0", "Status": "Released", @@ -8,8 +8,7 @@ "ShowHeaderFooter": true, "ShowTableCaptions": true }, - "Options": { - }, + "Options": {}, "InfoLevel": { "_comment_": "0 = Disabled, 1 = Summary, 2 = Informative, 3 = Detailed", "UsersAndGroups": { @@ -26,16 +25,16 @@ }, "Settings": { "Servers": { - "vCenterServers":{ + "vCenterServers": { "vCenter": 1, "ESXiHosts": 1, "DataStores": 1, "ADDomains": 1 }, - "UAG":{ + "UAG": { "UAGServers": 1 }, - "ConnectionServers":{ + "ConnectionServers": { "ConnectionServers": 1 } }, @@ -84,7 +83,7 @@ "vCenter": { "Status": true }, - "ConnectionServers":{ + "ConnectionServers": { "Status": true }, "RegisteredMachines": { @@ -93,6 +92,5 @@ "EventConfiguration": { "EventDatabase": true } - } } \ No newline at end of file diff --git a/LICENSE b/LICENSE index dcacb06..cf524bd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 AsBuiltReport +Copyright (c) 2024 AsBuiltReport Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Src/Private/Get-AbrHRZADDomain.ps1 b/Src/Private/Get-AbrHRZADDomain.ps1 index a7cf192..84ef029 100644 --- a/Src/Private/Get-AbrHRZADDomain.ps1 +++ b/Src/Private/Get-AbrHRZADDomain.ps1 @@ -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.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -23,19 +23,19 @@ function Get-AbrHRZADDomain { ) begin { Write-PScriboMessage "ADDomains InfoLevel set at $($InfoLevel.Settings.Servers.vCenterServers.ADDomains)." - Write-PscriboMessage "Collecting Active Directory Domain information." + Write-PScriboMessage "Collecting Active Directory Domain information." } process { try { if ($Domains) { if ($InfoLevel.Settings.Servers.vCenterServers.ADDomains -ge 1) { - section -Style Heading4 "Active Directory Domains" { + Section -Style Heading4 "Active Directory Domains" { Paragraph "The following section summarizes the configuration of Active Directory Domains for $($HVEnvironment.split('.')[0]) server." BlankLine $OutObj = @() foreach ($Domain in $Domains) { try { - Write-PscriboMessage "Discovered Domain Information $($Domain.DNSName)." + Write-PScriboMessage "Discovered Domain Information $($Domain.DNSName)." $inObj = [ordered] @{ 'Domain DNS Name' = $Domain.DNSName 'Status' = $Domain.ConnectionServerState[0].Status @@ -43,13 +43,12 @@ function Get-AbrHRZADDomain { 'Connection Status' = $Domain.ConnectionServerState[0].Contactable } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } if ($HealthCheck.DataStores.Status) { - $OutObj | Where-Object { $_.'Status' -eq 'ERROR'} | Set-Style -Style Warning + $OutObj | Where-Object { $_.'Status' -eq 'ERROR' } | Set-Style -Style Warning } $TableParams = @{ Name = "Active Directory Domains - $($HVEnvironment.split(".").toUpper()[0])" @@ -63,9 +62,8 @@ function Get-AbrHRZADDomain { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZAccessGroup.ps1 b/Src/Private/Get-AbrHRZAccessGroup.ps1 index 8d8a3d7..0c4c35f 100644 --- a/Src/Private/Get-AbrHRZAccessGroup.ps1 +++ b/Src/Private/Get-AbrHRZAccessGroup.ps1 @@ -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.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,14 +24,14 @@ function Get-AbrHRZAccessGroup { begin { Write-PScriboMessage "AccessGroup InfoLevel set at $($InfoLevel.Settings.Administrators.AccessGroup)." - Write-PscriboMessage "Collecting Access Group information." + Write-PScriboMessage "Collecting Access Group information." } process { try { if ($AccessGroups) { if ($InfoLevel.Settings.Administrators.AccessGroup -ge 1) { - section -Style Heading3 "Access Groups" { + Section -Style Heading3 "Access Groups" { Paragraph "The following section summarizes the configuration of Access Groups for $($HVEnvironment.toUpper()) server." BlankLine $OutObj = @() @@ -39,7 +39,7 @@ function Get-AbrHRZAccessGroup { $AccessGroupJoined += $AccessGroups $AccessGroupJoined += $AccessGroups.Children foreach ($AccessGroup in $AccessGroupJoined) { - Write-PscriboMessage "Discovered $($AccessGroup.base.Name) Access Groups Information." + Write-PScriboMessage "Discovered $($AccessGroup.base.Name) Access Groups Information." $inObj = [ordered] @{ 'Name' = $AccessGroup.base.Name 'Description' = $AccessGroup.base.Description @@ -60,17 +60,17 @@ function Get-AbrHRZAccessGroup { $OutObj | Sort-Object -Property 'Name' | Table @TableParams try { if ($InfoLevel.Settings.Administrators.AccessGroup -ge 2) { - section -Style Heading4 "Access Groups Details" { + Section -Style Heading4 "Access Groups Details" { $AccessGroupJoined = @() $AccessGroupJoined += $AccessGroups $AccessGroupJoined += $AccessGroups.Children foreach ($AccessGroup in $AccessGroupJoined) { - Write-PscriboMessage "Discovered $($AccessGroup.base.Name) Access Groups Detailed Information." + 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){ + if ($AccessGroupID -eq $Permission.id.id) { foreach ($PermissionGroup in $Permission.base.UserOrGroup.id) { foreach ($Administrator in $Administrators) { if ($Administrator.Id.id -eq $PermissionGroup) { @@ -84,14 +84,14 @@ function Get-AbrHRZAccessGroup { } } if ($AdministratorIDName) { - section -ExcludeFromTOC -Style NOTOCHeading5 $AccessGroup.base.Name { + Section -ExcludeFromTOC -Style NOTOCHeading5 $AccessGroup.base.Name { $OutObj = @() - foreach ($Principal in ($AdministratorIDName | Select-Object -Unique)){ + 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 + $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) + $PrincipalPermissionsName += $(($Roles | Where-Object { $_.Id.id -eq $PrincipalPermission }).Base.Name) } $inObj = [ordered] @{ @@ -117,16 +117,14 @@ function Get-AbrHRZAccessGroup { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZAdminGroup.ps1 b/Src/Private/Get-AbrHRZAdminGroup.ps1 index 664d025..1422c7f 100644 --- a/Src/Private/Get-AbrHRZAdminGroup.ps1 +++ b/Src/Private/Get-AbrHRZAdminGroup.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZAdminGroup { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,21 +24,21 @@ function Get-AbrHRZAdminGroup { begin { Write-PScriboMessage "Administrators InfoLevel set at $($InfoLevel.Settings.Administrators.AdministratorsandGroups)." - Write-PscriboMessage "Collecting Registered Machines information." + Write-PScriboMessage "Collecting Registered Machines information." } process { try { if ($Administrators) { if ($InfoLevel.Settings.Administrators.AdministratorsandGroups -ge 1) { - section -Style Heading3 "Administrators and Groups" { + Section -Style Heading3 "Administrators and Groups" { Paragraph "The following section details the configuration of Administrators and Groups for $($HVEnvironment.toUpper()) server." BlankLine $OutObj = @() foreach ($Administrator in $Administrators) { $RoleIDNameResults = '' foreach ($Permission in $Permissions) { - if ($Administrator.PermissionData.Permissions.id -eq $Permission.id.id){ + if ($Administrator.PermissionData.Permissions.id -eq $Permission.id.id) { # Find Role ID Name $RoleIDName = '' $PermissionGroups = $Permission.base.Role.id @@ -49,7 +49,7 @@ function Get-AbrHRZAdminGroup { break } } - if ($Administrator.PermissionData.Permissions.id.count -gt 1){ + if ($Administrator.PermissionData.Permissions.id.count -gt 1) { $RoleIDNameResults += "$RoleIDName, " $RoleIDName = $RoleIDNameResults.TrimEnd(', ') } @@ -57,12 +57,12 @@ function Get-AbrHRZAdminGroup { } } - Write-PscriboMessage "Discovered Administrators and Groups Information." + Write-PScriboMessage "Discovered Administrators and Groups Information." $inObj = [ordered] @{ 'Display Name' = $Administrator.base.DisplayName 'Type' = Switch ($Administrator.base.Group) { - $False {'User'} - $True {'Group'} + $False { 'User' } + $True { 'Group' } } 'Permission Role' = [string](($RoleIDName.split(', ') | Select-Object -Unique) -join ', ') } @@ -82,12 +82,12 @@ function Get-AbrHRZAdminGroup { $OutObj | Sort-Object -Property 'Display Name' | Table @TableParams try { if ($InfoLevel.Settings.Administrators.AdministratorsandGroups -ge 2) { - section -Style Heading4 "Administrators Users and Groups Details for $($Administrator.base.Name)" { + Section -Style Heading4 "Administrators Users and Groups Details for $($Administrator.base.Name)" { foreach ($Administrator in $Administrators) { - Write-PscriboMessage "Discovered $($Administrator.base.Name) Information." + Write-PScriboMessage "Discovered $($Administrator.base.Name) Information." $RoleIDNameResults = '' - foreach($Permission in $Permissions) { - if($Administrator.PermissionData.Permissions.id -eq $Permission.id.id){ + foreach ($Permission in $Permissions) { + if ($Administrator.PermissionData.Permissions.id -eq $Permission.id.id) { # Find Role ID Name $RoleIDName = '' $PermissionGroups = $Permission.base.Role.id @@ -98,19 +98,18 @@ function Get-AbrHRZAdminGroup { break } } - if ($Administrator.PermissionData.Permissions.id.count -gt 1){ + if ($Administrator.PermissionData.Permissions.id.count -gt 1) { $RoleIDNameResults += "$RoleIDName, " $RoleIDName = $RoleIDNameResults.TrimEnd(', ') } } } } - Switch ($Administrator.base.Group) - { - 'True' {$Administratorbasegroup = 'Group' } - 'False' {$Administratorbasegroup = 'User' } + Switch ($Administrator.base.Group) { + 'True' { $Administratorbasegroup = 'Group' } + 'False' { $Administratorbasegroup = 'User' } } - section -ExcludeFromTOC -Style NOTOCHeading6 $Administrator.Base.Name { + Section -ExcludeFromTOC -Style NOTOCHeading6 $Administrator.Base.Name { $OutObj = @() $inObj = [ordered] @{ 'Name' = $Administrator.base.Name @@ -147,16 +146,14 @@ function Get-AbrHRZAdminGroup { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZApplicationPool.ps1 b/Src/Private/Get-AbrHRZApplicationPool.ps1 index 3217197..bbc996e 100644 --- a/Src/Private/Get-AbrHRZApplicationPool.ps1 +++ b/Src/Private/Get-AbrHRZApplicationPool.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZApplicationPool { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,19 +24,19 @@ function Get-AbrHRZApplicationPool { begin { Write-PScriboMessage "Applications InfoLevel set at $($InfoLevel.Inventory.Applications)." - Write-PscriboMessage "Collecting Applications information." + Write-PScriboMessage "Collecting Applications information." } process { try { if ($Apps) { if ($InfoLevel.Inventory.Applications -ge 1) { - section -Style Heading3 "Application Pool" { + Section -Style Heading3 "Application Pool" { Paragraph "The following section details the configuration of Application Pool for $($HVEnvironment.toUpper()) server." BlankLine $OutObj = @() foreach ($App in $Apps) { - Write-PscriboMessage "Discovered Applications Information for $($App.Data.DisplayName)." + Write-PScriboMessage "Discovered Applications Information for $($App.Data.DisplayName)." $inObj = [ordered] @{ 'Name' = $App.Data.DisplayName 'Version' = $App.ExecutionData.Version @@ -58,7 +58,7 @@ function Get-AbrHRZApplicationPool { $OutObj | Sort-Object -Property 'Name' | Table @TableParams try { if ($InfoLevel.Inventory.Applications -ge 2) { - section -Style Heading4 "Application Pool Details" { + Section -Style Heading4 "Application Pool Details" { foreach ($App in $Apps) { # Find out Farm Name for Applications $farmMatch = $false @@ -92,25 +92,24 @@ function Get-AbrHRZApplicationPool { } else { $GlobalApplicationEntitlementGroupDisplayName = "No Global Application Entitlement" } - if ($GlobalApplicationEntitlementGroupMatch) { - break + if ($GlobalApplicationEntitlementGroupMatch) { + break } } - If([string]::IsNullOrEmpty($App.Data.AvApplicationPackageGuid)){ + If ([string]::IsNullOrEmpty($App.Data.AvApplicationPackageGuid)) { $AppVolumesApp = "False" - } - else { + } else { $AppVolumesApp = "True" } - $ApplicationFileTypes = $App.ExecutionData.FileTypes | ForEach-Object { $_.FileType} + $ApplicationFileTypes = $App.ExecutionData.FileTypes | ForEach-Object { $_.FileType } $ApplicationFileTypesresult = $ApplicationFileTypes -join ', ' - $OtherApplicationFileTypes = $App.ExecutionData.OtherFileTypes | ForEach-Object { $_.FileType} + $OtherApplicationFileTypes = $App.ExecutionData.OtherFileTypes | ForEach-Object { $_.FileType } $OtherApplicationFileTypesresult = $OtherApplicationFileTypes -join ', ' - section -Style Heading5 "Application Summary - $($App.Data.DisplayName)" { + Section -Style Heading5 "Application Summary - $($App.Data.DisplayName)" { $OutObj = @() - Write-PscriboMessage "Discovered $($App.Data.DisplayName) Applications Information." + Write-PScriboMessage "Discovered $($App.Data.DisplayName) Applications Information." $inObj = [ordered] @{ 'Display Name' = $App.Data.DisplayName 'Description' = $App.Data.Description @@ -158,16 +157,14 @@ function Get-AbrHRZApplicationPool { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZCertMgmt.ps1 b/Src/Private/Get-AbrHRZCertMgmt.ps1 index 0d6baef..cc8a88c 100644 --- a/Src/Private/Get-AbrHRZCertMgmt.ps1 +++ b/Src/Private/Get-AbrHRZCertMgmt.ps1 @@ -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.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,7 +24,7 @@ function Get-AbrHRZCertMgmt { begin { Write-PScriboMessage "Certificate Management InfoLevel set at $($InfoLevel.Settings.Servers.ConnectionServers.ConnectionServers)." - Write-PscriboMessage "Collecting Certificate Management information." + Write-PScriboMessage "Collecting Certificate Management information." } process { @@ -34,11 +34,11 @@ function Get-AbrHRZCertMgmt { # Connection Server Health Data $ConnectionServerHealthData = $ConnectionServersHealth | Select-Object -First 1 - section -Style Heading2 "Certificate Management" { + Section -Style Heading2 "Certificate Management" { Paragraph "The following section details on the certificate management information for $($HVEnvironment.toUpper())." BlankLine $OutObj = @() - Write-PscriboMessage "Working on Certificate Information for $($ConnectionServerHealthData.Name)." + Write-PScriboMessage "Working on Certificate Information for $($ConnectionServerHealthData.Name)." $Cert = $ConnectionServerHealthData.CertificateHealth.ConnectionServerCertificate $Bytes = [System.Text.Encoding]::UTF8.GetBytes($Cert) @@ -46,20 +46,20 @@ function Get-AbrHRZCertMgmt { $inObj = [ordered] @{ 'Self-Signed Certificate' = $ConnectionServerHealthData.DefaultCertificate - 'Certificate Subject' = $PodCert.Subject - 'Certificate Issuer' = $PodCert.Issuer - 'Certificate Not Before' = $PodCert.NotBefore - 'Certificate Not After' = $PodCert.NotAfter - 'Certificate SANs' = $PodCert.DnsNameList - 'Certificate Thumbprint' = $PodCert.Thumbprint + 'Certificate Subject' = $PodCert.Subject + 'Certificate Issuer' = $PodCert.Issuer + 'Certificate Not Before' = $PodCert.NotBefore + 'Certificate Not After' = $PodCert.NotAfter + 'Certificate SANs' = $PodCert.DnsNameList + 'Certificate Thumbprint' = $PodCert.Thumbprint } $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) if ($HealthCheck.ConnectionServers.Status) { $OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled' } $TableParams = @{ - Name = "Certificate Management - $($HVEnvironment.toUpper())" - List = $true + Name = "Certificate Management - $($HVEnvironment.toUpper())" + List = $true ColumnWidths = 30, 70 } if ($Report.ShowTableCaptions) { @@ -69,9 +69,8 @@ function Get-AbrHRZCertMgmt { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZCloudPod.ps1 b/Src/Private/Get-AbrHRZCloudPod.ps1 index d041e84..e6b80c0 100644 --- a/Src/Private/Get-AbrHRZCloudPod.ps1 +++ b/Src/Private/Get-AbrHRZCloudPod.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZCloudPod { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,14 +24,14 @@ function Get-AbrHRZCloudPod { begin { Write-PScriboMessage "Cloud Pod Architecture InfoLevel set at $($InfoLevel.Settings.CloudPodArch.CloudPodArch)." - Write-PscriboMessage "Collecting Cloud Pod Architecture information." + Write-PScriboMessage "Collecting Cloud Pod Architecture information." } process { try { if ($CloudPodFederation) { if ($InfoLevel.Settings.CloudPodArch.CloudPodArch -ge 1) { - section -Style Heading2 "Cloud Pod Architecture" { + Section -Style Heading2 "Cloud Pod Architecture" { Paragraph "The following section details on the cloud pod architecture information for $($HVEnvironment.toUpper())." BlankLine $OutObj = @() @@ -43,29 +43,29 @@ function Get-AbrHRZCloudPod { # Connection Server Info $CloudPodListEndpoints = $CloudPodList.Endpoints $CloudPodListEndpointConnectionServerList = '' - foreach($CloudPodListEndpoint in $CloudPodListEndpoints){ - $CloudPodListEndpointConnectionServer = $hzServices.PodEndpoint.PodEndpoint_Get($CloudPodListEndpoint) - $CloudPodListEndpointConnectionServerList += $CloudPodListEndpointConnectionServer.name -join "`r`n" | Out-String + foreach ($CloudPodListEndpoint in $CloudPodListEndpoints) { + $CloudPodListEndpointConnectionServer = $hzServices.PodEndpoint.PodEndpoint_Get($CloudPodListEndpoint) + $CloudPodListEndpointConnectionServerList += $CloudPodListEndpointConnectionServer.name -join "`r`n" | Out-String } # Active Global Entitlements $CloudPodListActiveGlobalEntitlements = $CloudPodList.ActiveGlobalEntitlements $CloudPodListActiveGlobalEntitlementList = '' - foreach($CloudPodListActiveGlobalEntitlement in $CloudPodListActiveGlobalEntitlements){ - $CloudPodListActiveGlobalEntitlementInfo = $hzServices.GlobalEntitlement.GlobalEntitlement_Get($CloudPodListActiveGlobalEntitlement) - $CloudPodListActiveGlobalEntitlementList += $CloudPodListActiveGlobalEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String + foreach ($CloudPodListActiveGlobalEntitlement in $CloudPodListActiveGlobalEntitlements) { + $CloudPodListActiveGlobalEntitlementInfo = $hzServices.GlobalEntitlement.GlobalEntitlement_Get($CloudPodListActiveGlobalEntitlement) + $CloudPodListActiveGlobalEntitlementList += $CloudPodListActiveGlobalEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String } # Active Global Application Entitlements $CloudPodListActiveGlobalApplicationEntitlements = $CloudPodList.ActiveGlobalApplicationEntitlements $CloudPodListActiveGlobalApplicationEntitlementList = '' - foreach($CloudPodListActiveGlobalApplicationEntitlement in $CloudPodListActiveGlobalApplicationEntitlements){ - $CloudPodListActiveGlobalApplicationEntitlementInfo = $hzServices.GlobalApplicationEntitlement.GlobalApplicationEntitlement_Get($CloudPodListActiveGlobalApplicationEntitlement) - $CloudPodListActiveGlobalApplicationEntitlementList += $CloudPodListActiveGlobalApplicationEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String + foreach ($CloudPodListActiveGlobalApplicationEntitlement in $CloudPodListActiveGlobalApplicationEntitlements) { + $CloudPodListActiveGlobalApplicationEntitlementInfo = $hzServices.GlobalApplicationEntitlement.GlobalApplicationEntitlement_Get($CloudPodListActiveGlobalApplicationEntitlement) + $CloudPodListActiveGlobalApplicationEntitlementList += $CloudPodListActiveGlobalApplicationEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String } - - Write-PscriboMessage "Discovered Cloud Pod Federation Information." + + Write-PScriboMessage "Discovered Cloud Pod Federation Information." $inObj = [ordered] @{ 'Pod Name' = $CloudPodList.DisplayName 'Pod Local' = $CloudPodList.Localpod @@ -93,9 +93,8 @@ function Get-AbrHRZCloudPod { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZConnectionServer.ps1 b/Src/Private/Get-AbrHRZConnectionServer.ps1 index da31529..26ba9f1 100644 --- a/Src/Private/Get-AbrHRZConnectionServer.ps1 +++ b/Src/Private/Get-AbrHRZConnectionServer.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZConnectionServer { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,20 +24,20 @@ function Get-AbrHRZConnectionServer { begin { Write-PScriboMessage "ConnectionServers InfoLevel set at $($InfoLevel.Settings.Servers.ConnectionServers.ConnectionServers)." - Write-PscriboMessage "Collecting Connection Servers information." + Write-PScriboMessage "Collecting Connection Servers information." } process { try { if ($ConnectionServers) { if ($InfoLevel.Settings.Servers.ConnectionServers.ConnectionServers -ge 1) { - section -Style Heading3 "Connection Servers" { + Section -Style Heading3 "Connection Servers" { Paragraph "The following section details the configuration of Connection Servers for $($HVEnvironment.toUpper()) server." BlankLine $OutObj = @() foreach ($ConnectionServer in $ConnectionServers) { try { - Write-PscriboMessage "Discovered Connection Servers Information $($ConnectionServer.General.Name)." + Write-PScriboMessage "Discovered Connection Servers Information $($ConnectionServer.General.Name)." #Switch ($GatewayServer.Type) #{ # 'AP' {$GatewayType = 'UAG' } @@ -49,14 +49,13 @@ function Get-AbrHRZConnectionServer { } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } if ($HealthCheck.ConnectionServers.Status) { - $OutObj | Where-Object { $_.'Enabled' -eq 'No'} | Set-Style -Style Warning -Property 'Enabled' + $OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled' } $TableParams = @{ @@ -73,9 +72,9 @@ function Get-AbrHRZConnectionServer { try { $OutObj = @() foreach ($ConnectionServer in $ConnectionServers) { - section -Style Heading5 "General $($ConnectionServer.General.Name) Details" { + Section -Style Heading5 "General $($ConnectionServer.General.Name) Details" { try { - $ConnectionServerTags = $ConnectionServer.General | ForEach-Object { $_.Tags} + $ConnectionServerTags = $ConnectionServer.General | ForEach-Object { $_.Tags } $ConnectionServerTagsresult = $ConnectionServerTags -join ', ' # Connection Server Health Data @@ -90,7 +89,7 @@ function Get-AbrHRZConnectionServer { } } - Write-PscriboMessage "Discovered Connection Servers Information $($ConnectionServer.General.Name)." + Write-PScriboMessage "Discovered Connection Servers Information $($ConnectionServer.General.Name)." $inObj = [ordered] @{ 'Name' = $ConnectionServer.General.Name 'FQDN' = $ConnectionServer.General.Fqhn @@ -116,7 +115,7 @@ function Get-AbrHRZConnectionServer { $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) if ($HealthCheck.ConnectionServers.Status) { - $OutObj | Where-Object { $_.'Enabled' -eq 'No'} | Set-Style -Style Warning -Property 'Enabled' + $OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled' } $TableParams = @{ @@ -131,19 +130,18 @@ function Get-AbrHRZConnectionServer { $OutObj | Table @TableParams - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } try { $OutObj = @() - section -Style Heading5 "Authentication $($ConnectionServer.General.Name) Details" { + Section -Style Heading5 "Authentication $($ConnectionServer.General.Name) Details" { try { - Write-PscriboMessage "Discovered Connection Servers Authentication Information $($ConnectionServer.General.Name)." + Write-PScriboMessage "Discovered Connection Servers Authentication Information $($ConnectionServer.General.Name)." - if($connectionserver.authentication.samlconfig.SamlAuthenticators) { + if ($connectionserver.authentication.samlconfig.SamlAuthenticators) { $SAMLAuth = $hzServices.SAMLAuthenticator.SAMLAuthenticator_Get($connectionserver.authentication.samlconfig.SamlAuthenticator) #$SAMLAuthList = $hzServices.SAMLAuthenticator.SAMLAuthenticator_list() } @@ -173,77 +171,74 @@ function Get-AbrHRZConnectionServer { 'Unauthenticated Access Default User' = $ConnectionServer.Authentication.UnauthenticatedAccessConfig.DefaultUser 'Unauthenticated Access User Idle Timeout' = $ConnectionServer.Authentication.UnauthenticatedAccessConfig.UserIdleTimeout 'Unauthenticated Access Client Puzzle Difficulty' = $ConnectionServer.Authentication.UnauthenticatedAccessConfig.ClientPuzzleDifficulty - 'Block Unsupported Clients' = $ConnectionServer.Authentication.UnauthenticatedAccessConfig.BlockUnsupportedClients } + 'Block Unsupported Clients' = $ConnectionServer.Authentication.UnauthenticatedAccessConfig.BlockUnsupportedClients + } $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) $TableParams = @{ - Name = "Authentication - $($ConnectionServer.General.Name)" - List = $true + Name = "Authentication - $($ConnectionServer.General.Name)" + List = $true ColumnWidths = 40, 60 } if ($Report.ShowTableCaptions) { $TableParams['Caption'] = "- $($TableParams.Name)" } $OutObj | Table @TableParams - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { - $OutObj = @() - section -Style Heading5 "Backup $($ConnectionServer.General.Name) Details" { - try { - Write-PscriboMessage "Discovered Connection Servers Authentication Information $($ConnectionServer.General.Name)." - $inObj = [ordered] @{ - 'Automatic Backup Frequency' = Switch ($ConnectionServer.Backup.LdapBackupFrequencyTime) { - 'DAY_1' {'Every day'} - 'DAY_2' {'Every 2 day'} - 'HOUR_1' {'Every hour'} - 'HOUR_12' {'Every 12 hours'} - 'WEEK_1' {'Every week'} - 'WEEK_2' {'Every 2 week'} - 'HOUR_0' {'Disabled'} + $OutObj = @() + Section -Style Heading5 "Backup $($ConnectionServer.General.Name) Details" { + try { + Write-PScriboMessage "Discovered Connection Servers Authentication Information $($ConnectionServer.General.Name)." + $inObj = [ordered] @{ + 'Automatic Backup Frequency' = Switch ($ConnectionServer.Backup.LdapBackupFrequencyTime) { + 'DAY_1' { 'Every day' } + 'DAY_2' { 'Every 2 day' } + 'HOUR_1' { 'Every hour' } + 'HOUR_12' { 'Every 12 hours' } + 'WEEK_1' { 'Every week' } + 'WEEK_2' { 'Every 2 week' } + 'HOUR_0' { 'Disabled' } - } - 'Max Number of Backups' = $ConnectionServer.Backup.LdapBackupMaxNumber - 'Last Backup Time' = $ConnectionServer.Backup.LastLdapBackupTime - 'Last Backup Status' = $ConnectionServer.Backup.LastLdapBackupStatus - 'Folder Location' = $ConnectionServer.Backup.LdapBackupFolder - } + } + 'Max Number of Backups' = $ConnectionServer.Backup.LdapBackupMaxNumber + 'Last Backup Time' = $ConnectionServer.Backup.LastLdapBackupTime + 'Last Backup Status' = $ConnectionServer.Backup.LastLdapBackupStatus + 'Folder Location' = $ConnectionServer.Backup.LdapBackupFolder + } - $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) + $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) - if ($HealthCheck.ConnectionServers.Status) { - $OutObj | Where-Object { $_.'Last Backup Status' -ne 'OK'} | Set-Style -Style Warning -Property 'Last Backup Status' - $OutObj | Where-Object { $_.'Automatic Backup Frequency' -eq 'Disabled'} | Set-Style -Style Critical -Property 'Automatic Backup Frequency' - } + if ($HealthCheck.ConnectionServers.Status) { + $OutObj | Where-Object { $_.'Last Backup Status' -ne 'OK' } | Set-Style -Style Warning -Property 'Last Backup Status' + $OutObj | Where-Object { $_.'Automatic Backup Frequency' -eq 'Disabled' } | Set-Style -Style Critical -Property 'Automatic Backup Frequency' + } - $TableParams = @{ - Name = "Backup - $($ConnectionServer.General.Name)" - List = $true - ColumnWidths = 50, 50 - } + $TableParams = @{ + Name = "Backup - $($ConnectionServer.General.Name)" + List = $true + ColumnWidths = 50, 50 + } - if ($Report.ShowTableCaptions) { - $TableParams['Caption'] = "- $($TableParams.Name)" - } - $OutObj | Table @TableParams - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message - } + if ($Report.ShowTableCaptions) { + $TableParams['Caption'] = "- $($TableParams.Name)" } + $OutObj | Table @TableParams + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { $OutObj = @() - section -Style Heading5 "Certificate Details for $($ConnectionServer.General.Name) Details" { + Section -Style Heading5 "Certificate Details for $($ConnectionServer.General.Name) Details" { try { # Connection Server Health Data @@ -258,61 +253,53 @@ function Get-AbrHRZConnectionServer { } } - Write-PscriboMessage "Working on Certificate Information for $($ConnectionServerHealthData.Name)." + Write-PScriboMessage "Working on Certificate Information for $($ConnectionServerHealthData.Name)." - if(![string]::IsNullOrEmpty($ConnectionServerHealthData.CertificateHealth.ConnectionServerCertificate)){ + if (![string]::IsNullOrEmpty($ConnectionServerHealthData.CertificateHealth.ConnectionServerCertificate)) { $Cert = $ConnectionServerHealthData.CertificateHealth.ConnectionServerCertificate $Bytes = [System.Text.Encoding]::UTF8.GetBytes($Cert) $PodCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($Bytes) } $inObj = [ordered] @{ - 'Connection Server' = $ConnectionServerHealthData.Name + 'Connection Server' = $ConnectionServerHealthData.Name 'Self-Signed Certificate' = $ConnectionServerHealthData.DefaultCertificate - 'Certificate Subject' = $PodCert.Subject - 'Certificate Issuer' = $PodCert.Issuer - 'Certificate Not Before' = $PodCert.NotBefore - 'Certificate Not After' = $PodCert.NotAfter - 'Certificate SANs' = $(($PodCert.DnsNameList | ForEach-Object { $_.Punycode }) -join ', ') - 'Certificate Thumbprint' = $PodCert.Thumbprint + 'Certificate Subject' = $PodCert.Subject + 'Certificate Issuer' = $PodCert.Issuer + 'Certificate Not Before' = $PodCert.NotBefore + 'Certificate Not After' = $PodCert.NotAfter + 'Certificate SANs' = $(($PodCert.DnsNameList | ForEach-Object { $_.Punycode }) -join ', ') + 'Certificate Thumbprint' = $PodCert.Thumbprint } $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) if ($HealthCheck.ConnectionServers.Status) { $OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled' } $TableParams = @{ - Name = "Certificate Details for - $($ConnectionServerHealthData.Name)" - List = $true + Name = "Certificate Details for - $($ConnectionServerHealthData.Name)" + List = $true ColumnWidths = 30, 70 } if ($Report.ShowTableCaptions) { $TableParams['Caption'] = "- $($TableParams.Name)" } $OutObj | Table @TableParams - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message - } - if ($ConnectionServersHealth.replicationstatus){ + if ($ConnectionServersHealth.replicationstatus) { if ($InfoLevel.settings.servers.ConnectionServers.ConnectionServers -ge 2) { try { $OutObj = @() - section -Style Heading5 "Replication Status for Connection Server $($connectionserver.General.Name)" { + Section -Style Heading5 "Replication Status for Connection Server $($connectionserver.General.Name)" { try { - Write-PscriboMessage "Working on Replication Information for $($connectionserver.General.Name)." + Write-PScriboMessage "Working on Replication Information for $($connectionserver.General.Name)." foreach($CSHealth in ($ConnectionServersHealth | Where-Object {$_.Name -EQ $connectionserver.General.Name})){ - $Messages = $($CSHealth.ReplicationStatus | ForEach-Object { $_.Message }) -join ',' - if($Messages -eq ',' -or $Messages -eq ''){ - $Message = 'No Message' - }else { - $Message = $Messages - } $inObj = [ordered] @{ 'Connection Server' = $CSHealth.Name 'Replication Partner' = $($CSHealth.ReplicationStatus | ForEach-Object { $_.ServerName }) -join ',' @@ -331,31 +318,27 @@ function Get-AbrHRZConnectionServer { $TableParams['Caption'] = "- $($TableParams.Name)" } $OutObj | Table @TableParams - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZDatastore.ps1 b/Src/Private/Get-AbrHRZDatastore.ps1 index 1ffd248..b6f6590 100644 --- a/Src/Private/Get-AbrHRZDatastore.ps1 +++ b/Src/Private/Get-AbrHRZDatastore.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDatastore { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,35 +24,34 @@ function Get-AbrHRZDatastore { begin { Write-PScriboMessage "Datastore InfoLevel set at $($InfoLevel.Settings.Servers.vCenterServers.DataStores)." - Write-PscriboMessage "Collecting DataStores information." + Write-PScriboMessage "Collecting DataStores information." } process { try { if ($vCenterHealth) { if ($InfoLevel.Settings.Servers.vCenterServers.DataStores -ge 1) { - section -Style Heading5 "Datastores" { + Section -Style Heading5 "Datastores" { $OutObj = @() $Datastores = $vCenterHealth.datastoredata foreach ($DataStore in $Datastores) { if ($DataStore.Name) { try { - Write-PscriboMessage "Discovered Datastore Information from $($DataStore.name)." + Write-PScriboMessage "Discovered Datastore Information from $($DataStore.name)." $inObj = [ordered] @{ 'Name' = $DataStore.name 'Accessible' = $DataStore.Accessible } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } if ($HealthCheck.DataStores.Status) { - $OutObj | Where-Object { $_.'Accessible' -eq 'No'} | Set-Style -Style Warning + $OutObj | Where-Object { $_.'Accessible' -eq 'No' } | Set-Style -Style Warning } $TableParams = @{ @@ -67,13 +66,13 @@ function Get-AbrHRZDatastore { $OutObj | Sort-Object -Property 'Name' | Table @TableParams try { if ($InfoLevel.Settings.Servers.vCenterServers.DataStores -ge 2) { - section -Style Heading6 "Datastores Detailed" { + Section -Style Heading6 "Datastores Detailed" { foreach ($DataStore in $Datastores) { if ($DataStore) { try { - section -ExcludeFromTOC -Style NOTOCHeading6 "$($DataStore.Name)" { + Section -ExcludeFromTOC -Style NOTOCHeading6 "$($DataStore.Name)" { $OutObj = @() - Write-PscriboMessage "Discovered Datastore Information from $($DataStore.Name)." + Write-PScriboMessage "Discovered Datastore Information from $($DataStore.Name)." $inObj = [ordered] @{ 'Path' = $DataStore.Path 'Type' = $DataStore.DataStoreType @@ -85,7 +84,7 @@ function Get-AbrHRZDatastore { $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) if ($HealthCheck.DataStores.Status) { - $OutObj | Where-Object { $_.'Accessible' -eq 'No'} | Set-Style -Style Warning -Property 'Accessible' + $OutObj | Where-Object { $_.'Accessible' -eq 'No' } | Set-Style -Style Warning -Property 'Accessible' } $TableParams = @{ @@ -99,24 +98,21 @@ function Get-AbrHRZDatastore { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZDesktopPool.ps1 b/Src/Private/Get-AbrHRZDesktopPool.ps1 index 871324b..ca76296 100644 --- a/Src/Private/Get-AbrHRZDesktopPool.ps1 +++ b/Src/Private/Get-AbrHRZDesktopPool.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDesktopPool { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,28 +24,27 @@ function Get-AbrHRZDesktopPool { begin { Write-PScriboMessage "Pool Desktop InfoLevel set at $($InfoLevel.Inventory.Desktop)." - Write-PscriboMessage "Collecting Pool Desktop information." + Write-PScriboMessage "Collecting Pool Desktop information." } process { try { if ($Pools) { if ($InfoLevel.Inventory.Desktop -ge 1) { - section -Style Heading3 "Desktop Pools" { + Section -Style Heading3 "Desktop Pools" { Paragraph "The following section details the Desktop Pools configuration for $($HVEnvironment.toUpper()) server." BlankLine $OutObj = @() foreach ($Pool in $Pools) { - Write-PscriboMessage "Discovered Desktop Pool Information for Pool $($Pool.Base.Name)." - Switch ($Pool.Automateddesktopdata.ProvisioningType) - { - 'INSTANT_CLONE_ENGINE' {$ProvisioningType = 'Instant Clone' } - 'VIRTUAL_CENTER' {$ProvisioningType = 'Full Virtual Machines' } + Write-PScriboMessage "Discovered Desktop Pool Information for Pool $($Pool.Base.Name)." + Switch ($Pool.Automateddesktopdata.ProvisioningType) { + 'INSTANT_CLONE_ENGINE' { $ProvisioningType = 'Instant Clone' } + 'VIRTUAL_CENTER' { $ProvisioningType = 'Full Virtual Machines' } } if ($Pool.Type -eq "MANUAL") { $UserAssign = $Pool.ManualDesktopData.UserAssignment.UserAssignment - } else {$UserAssign = $Pool.AutomatedDesktopData.UserAssignment.UserAssignment} + } else { $UserAssign = $Pool.AutomatedDesktopData.UserAssignment.UserAssignment } $inObj = [ordered] @{ 'Name' = $Pool.Base.Name @@ -69,7 +68,7 @@ function Get-AbrHRZDesktopPool { $OutObj | Sort-Object -Property 'Name' | Table @TableParams try { if ($InfoLevel.Inventory.Desktop -ge 2) { - section -Style Heading4 "Desktop Pools Details" { + Section -Style Heading4 "Desktop Pools Details" { foreach ($Pool in $Pools) { # Find Access Group for Desktop Pool $AccessgroupsJoined = $hzServices.AccessGroup.AccessGroup_List() + $hzServices.AccessGroup.AccessGroup_List().Children @@ -125,8 +124,8 @@ function Get-AbrHRZDesktopPool { $PoolOpperatingSystemArch = $DesktopAssignmentViewResult.OperatingSystemArchitecture $DesktopAssignmentViewResultsDataMatch = $true } - if ($DesktopAssignmentViewResultsDataMatch) { - break + if ($DesktopAssignmentViewResultsDataMatch) { + break } } @@ -140,7 +139,7 @@ function Get-AbrHRZDesktopPool { break } } - if ($PoolGroups.count -gt 1){ + if ($PoolGroups.count -gt 1) { $vCenterServerIDNameResults += "$vCenterServerIDName, " $vCenterServerIDName = $vCenterServerIDNameResults.TrimEnd(', ') } @@ -157,7 +156,7 @@ function Get-AbrHRZDesktopPool { } } - if($PoolGroups.count -gt 1){ + if ($PoolGroups.count -gt 1) { $vCenterServerAutoIDNameResults += "$vCenterServerAutoIDName, " $vCenterServerAutoIDName = $vCenterServerAutoIDNameResults.TrimEnd(', ') } @@ -166,9 +165,9 @@ function Get-AbrHRZDesktopPool { # Find Base Image ID Name $PoolBaseImage = '' $PoolBaseImagePath = '' - if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.ParentVM.id){ + if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.ParentVM.id) { foreach ($CompatibleBaseImageVM in $CompatibleBaseImageVMs) { - if ($CompatibleBaseImageVM.id.id -eq $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.ParentVM.id){ + if ($CompatibleBaseImageVM.id.id -eq $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.ParentVM.id) { $PoolBaseImage = $CompatibleBaseImageVM.name $PoolBaseImagePath = $CompatibleBaseImageVM.Path break @@ -178,7 +177,7 @@ function Get-AbrHRZDesktopPool { # Get Pool Base Image Snapshot $BaseImageSnapshotListLast = '' - if( $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Snapshot.id) { + if ( $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Snapshot.id) { $BaseImageSnapshotList = $hzServices.BaseImageSnapshot.BaseImageSnapshot_List($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.ParentVM) $BaseImageSnapshotListLast = $BaseImageSnapshotList | Select-Object -Last 1 } @@ -191,7 +190,7 @@ function Get-AbrHRZDesktopPool { # Find DataCenter ID Name foreach ($DataCenter in $DataCenterList) { - if ($DataCenter.id.id -eq $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Datacenter.id){ + if ($DataCenter.id.id -eq $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Datacenter.id) { $PoolDataCenterName = $DataCenter.base.name $PoolDatacenterPath = $DataCenter.base.Path break @@ -202,7 +201,7 @@ function Get-AbrHRZDesktopPool { # VM Folder List $VMFolder = '' $VMFolderPath = '' - if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.VmFolder.id){ + if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.VmFolder.id) { $VMFolderPath = $Pool.automateddesktopdata.VirtualCenterNamesData.VmFolderPath $VMFolder = $VMFolderPath -replace '^(.*[\\\/])' @@ -210,7 +209,7 @@ function Get-AbrHRZDesktopPool { # VM Host or Cluster $VMhostandCluter = '' - if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.HostOrCluster.id){ + if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.HostOrCluster.id) { #$HostAndCluster = $hzServices.HostOrCluster.HostOrCluster_GetHostOrClusterTree($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Datacenter) $VMhostandCluterPath = $Pool.automateddesktopdata.VirtualCenterNamesData.HostOrClusterPath $VMhostandCluter = $VMhostandCluterPath -replace '^(.*[\\\/])' @@ -218,7 +217,7 @@ function Get-AbrHRZDesktopPool { # VM Resource Pool $VMResourcePool = '' - if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.ResourcePool.id){ + if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.ResourcePool.id) { #$ResourcePoolTree = $hzServices.ResourcePool.ResourcePool_GetResourcePoolTree($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Datacenter) $VMResourcePoolPath = $Pool.automateddesktopdata.VirtualCenterNamesData.ResourcePoolPath $VMResourcePool = $VMResourcePoolPath -replace '^(.*[\\\/])' @@ -240,12 +239,12 @@ function Get-AbrHRZDesktopPool { # VM AD Container $PoolContainerName = '' if ($Pool.automateddesktopdata.CustomizationSettings.AdContainer.id) { - foreach ($ADDomain in $ADDomains){ + foreach ($ADDomain in $ADDomains) { $ADDomainID = ($ADDomain.id.id -creplace '^[^/]*/', '') if ($Pool.automateddesktopdata.CustomizationSettings.AdContainer.id -like "ADContainer/$ADDomainID/*") { $ADContainers = $hzServices.ADContainer.ADContainer_ListByDomain($ADDomain.id) foreach ($ADContainer in $ADContainers) { - if ($ADContainer.id.id -eq $Pool.automateddesktopdata.CustomizationSettings.AdContainer.id){ + if ($ADContainer.id.id -eq $Pool.automateddesktopdata.CustomizationSettings.AdContainer.id) { $PoolContainerName = $ADContainer.rdn break } @@ -260,11 +259,11 @@ function Get-AbrHRZDesktopPool { # Pool Customization Type $Customizations = ('') - If($pool.AutomatedDesktopData.CustomizationSettings.CustomizationType -eq "SYS_PREP"){ - Foreach ($vCenterServer in $vCenterServers){ + If ($pool.AutomatedDesktopData.CustomizationSettings.CustomizationType -eq "SYS_PREP") { + Foreach ($vCenterServer in $vCenterServers) { $Customizations = $hzServices.CustomizationSpec.CustomizationSpec_List($vCenterServer.id) - Foreach ($Customization in $Customizations){ - if($pool.AutomatedDesktopData.CustomizationSettings.SysprepCustomizationSettings.CustomizationSpec.id -eq $Customization.id.id){ + Foreach ($Customization in $Customizations) { + if ($pool.AutomatedDesktopData.CustomizationSettings.SysprepCustomizationSettings.CustomizationSpec.id -eq $Customization.id.id) { $PoolCustomization = $($Customization.CustomizationSpecData.Name) } } @@ -272,39 +271,39 @@ function Get-AbrHRZDesktopPool { } # VM Template $PoolTemplateName = '' - if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Template.id){ + if ($Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Template.id) { foreach ($Template in $CompatibleTemplateVMs) { - if ($Template.id.id -eq $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Template.id){ + if ($Template.id.id -eq $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterProvisioningData.Template.id) { $PoolTemplateName = $Template.name break } } } try { - section -Style Heading5 "Pool - $($Pool.Base.name)" { + Section -Style Heading5 "Pool - $($Pool.Base.name)" { $SupportedDisplayProtocolsresult = '' - $SupportedDisplayProtocols = $Pool.DesktopSettings.DisplayProtocolSettings | ForEach-Object { $_.SupportedDisplayProtocols} + $SupportedDisplayProtocols = $Pool.DesktopSettings.DisplayProtocolSettings | ForEach-Object { $_.SupportedDisplayProtocols } $SupportedDisplayProtocolsresult = $SupportedDisplayProtocols -join ', ' $StorageOvercommitsresult = '' - $StorageOvercommit = $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterStorageSettings.datastores | ForEach-Object { $_.StorageOvercommit} + $StorageOvercommit = $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.VirtualCenterStorageSettings.datastores | ForEach-Object { $_.StorageOvercommit } $StorageOvercommitsresult = $StorageOvercommit -join ', ' $DatastoreFinal = '' Switch ($Pool.Type) { - 'MANUAL' {$POOLDST = $Pool.ManualDesktopData.VirtualCenterNamesData} - default {$POOLDST = $Pool.automateddesktopdata.VirtualCenterNamesData} + 'MANUAL' { $POOLDST = $Pool.ManualDesktopData.VirtualCenterNamesData } + default { $POOLDST = $Pool.automateddesktopdata.VirtualCenterNamesData } } - $DatastorePaths = $POOLDST | ForEach-Object { $_.DatastorePaths} - foreach($Datastore in $DatastorePaths){ - $Datastorename = $Datastore -replace '^(.*[\\\/])' - $DatastoreFinal += $DatastoreName -join "`r`n" | Out-String + $DatastorePaths = $POOLDST | ForEach-Object { $_.DatastorePaths } + foreach ($Datastore in $DatastorePaths) { + $Datastorename = $Datastore -replace '^(.*[\\\/])' + $DatastoreFinal += $DatastoreName -join "`r`n" | Out-String } #$DatastorePathsresult = $DatastorePaths -join ', ' try { - section -ExcludeFromTOC -Style NOTOCHeading5 "General Summary - $($Pool.Base.name)" { + Section -ExcludeFromTOC -Style NOTOCHeading5 "General Summary - $($Pool.Base.name)" { $OutObj = @() - Write-PscriboMessage "Discovered $($Pool.Base.name) General Information." + Write-PScriboMessage "Discovered $($Pool.Base.name) General Information." $inObj = [ordered] @{ 'Name' = $Pool.Base.name 'Display Name' = $Pool.base.displayName @@ -313,14 +312,14 @@ function Get-AbrHRZDesktopPool { 'Enabled' = $Pool.DesktopSettings.Enabled 'Type' = $Pool.Type 'Machine Source' = Switch ($pool.Source) { - 'INSTANT_CLONE_ENGINE' {'vCenter(Instant Clone)' } - 'VIRTUAL_CENTER' {'vCenter' } - default {$pool.Source} + 'INSTANT_CLONE_ENGINE' { 'vCenter(Instant Clone)' } + 'VIRTUAL_CENTER' { 'vCenter' } + default { $pool.Source } } 'Provisioning Type' = Switch ($Pool.Automateddesktopdata.ProvisioningType) { - 'INSTANT_CLONE_ENGINE' {'Instant Clone' } - 'VIRTUAL_CENTER' {'Full Virtual Machines' } - default {$Pool.Automateddesktopdata.ProvisioningType} + 'INSTANT_CLONE_ENGINE' { 'Instant Clone' } + 'VIRTUAL_CENTER' { 'Full Virtual Machines' } + default { $Pool.Automateddesktopdata.ProvisioningType } } 'Enabled for Provisioning' = $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.EnableProvisioning 'Client Restrictions Enabled' = $Pool.DesktopSettings.ClientRestrictions @@ -344,14 +343,13 @@ function Get-AbrHRZDesktopPool { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { - section -ExcludeFromTOC -Style NOTOCHeading5 "Detailed Settings - $($Pool.Base.name)" { + Section -ExcludeFromTOC -Style NOTOCHeading5 "Detailed Settings - $($Pool.Base.name)" { $OutObj = @() - Write-PscriboMessage "Discovered $($Pool.Base.name) Pool Setting Information." + Write-PScriboMessage "Discovered $($Pool.Base.name) Pool Setting Information." $inObj = [ordered] @{ 'Name' = $Pool.Base.name 'Display Name' = $Pool.base.displayName @@ -360,14 +358,14 @@ function Get-AbrHRZDesktopPool { 'Enabled' = $Pool.DesktopSettings.Enabled 'Type' = $Pool.Type 'Machine Source' = Switch ($pool.Source) { - 'INSTANT_CLONE_ENGINE' {'vCenter(Instant Clone)' } - 'VIRTUAL_CENTER' {'vCenter' } - default {$pool.Source} + 'INSTANT_CLONE_ENGINE' { 'vCenter(Instant Clone)' } + 'VIRTUAL_CENTER' { 'vCenter' } + default { $pool.Source } } 'Provisioning Type' = Switch ($Pool.Automateddesktopdata.ProvisioningType) { - 'INSTANT_CLONE_ENGINE' {'Instant Clone' } - 'VIRTUAL_CENTER' {'Full Virtual Machines' } - default {$Pool.Automateddesktopdata.ProvisioningType} + 'INSTANT_CLONE_ENGINE' { 'Instant Clone' } + 'VIRTUAL_CENTER' { 'Full Virtual Machines' } + default { $Pool.Automateddesktopdata.ProvisioningType } } 'Enabled for Provisioning' = $Pool.automateddesktopdata.VirtualCenterProvisioningSettings.EnableProvisioning 'Client Restrictions Enabled' = $Pool.DesktopSettings.ClientRestrictions @@ -417,7 +415,7 @@ function Get-AbrHRZDesktopPool { 'vRam Size MB' = $Pool.DesktopSettings.DisplayProtocolSettings.PcoipDisplaySettings.VRamSizeMB 'Max Number of Monitors' = $Pool.DesktopSettings.DisplayProtocolSettings.PcoipDisplaySettings.MaxNumberOfMonitors 'Max Resolution of Any One Monitor' = $Pool.DesktopSettings.DisplayProtocolSettings.PcoipDisplaySettings.MaxResolutionOfAnyOneMonitor - 'Use View Storage Accelerator' = $pool.ManualDesktopData.ViewStorageAcceleratorSettings.UseViewStorageAccelerator + 'Use View Storage Accelerator' = $pool.ManualDesktopData.ViewStorageAcceleratorSettings.UseViewStorageAccelerator 'Regenerate View Storage Accelerator Days' = $pool.ManualDesktopData.ViewStorageAcceleratorSettings.RegenerateViewStorageAcceleratorDays 'Black Out Times' = $BlackOutDateString 'Transparent Page Sharing Scope' = $Pool.ManualDesktopData.VirtualCenterManagedCommonSettings.TransparentPageSharingScope @@ -467,18 +465,17 @@ function Get-AbrHRZDesktopPool { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { - section -ExcludeFromTOC -Style NOTOCHeading5 "vCenter Server Settings - $($Pool.Base.name)" { + Section -ExcludeFromTOC -Style NOTOCHeading5 "vCenter Server Settings - $($Pool.Base.name)" { $OutObj = @() - Write-PscriboMessage "Discovered $($Pool.Base.name) vCenter Server Information." + Write-PScriboMessage "Discovered $($Pool.Base.name) vCenter Server Information." $inObj = [ordered] @{ 'Virtual Center' = Switch ($Pool.Type) { - 'MANUAL' {$vCenterServerIDName} - default {$vCenterServerAutoIDName} + 'MANUAL' { $vCenterServerIDName } + default { $vCenterServerAutoIDName } } 'Template' = $PoolTemplateName 'Parent VM' = $PoolBaseImage @@ -492,37 +489,37 @@ function Get-AbrHRZDesktopPool { 'Datacenter Path' = $PoolDatacenterPath 'VM Folder' = $VMFolder 'VM Folder Path' = Switch ($Pool.Type) { - 'MANUAL' {$Pool.ManualDesktopData.VirtualCenterNamesData.VmFolderPath} - default {$Pool.automateddesktopdata.VirtualCenterNamesData.VmFolderPath} + 'MANUAL' { $Pool.ManualDesktopData.VirtualCenterNamesData.VmFolderPath } + default { $Pool.automateddesktopdata.VirtualCenterNamesData.VmFolderPath } } 'Host or Cluster' = $VMhostandCluter 'Host or Cluster Path' = Switch ($Pool.Type) { - 'MANUAL' {$Pool.ManualDesktopData.VirtualCenterNamesData.HostOrClusterPath} - default {$Pool.automateddesktopdata.VirtualCenterNamesData.HostOrClusterPath} + 'MANUAL' { $Pool.ManualDesktopData.VirtualCenterNamesData.HostOrClusterPath } + default { $Pool.automateddesktopdata.VirtualCenterNamesData.HostOrClusterPath } } 'Resource Pool' = $VMResourcePool 'Resource Pool Path' = Switch ($Pool.Type) { - 'MANUAL' {$Pool.ManualDesktopData.VirtualCenterNamesData.ResourcePoolPath} - default {$Pool.automateddesktopdata.VirtualCenterNamesData.ResourcePoolPath} + 'MANUAL' { $Pool.ManualDesktopData.VirtualCenterNamesData.ResourcePoolPath } + default { $Pool.automateddesktopdata.VirtualCenterNamesData.ResourcePoolPath } } 'Datastores' = $DatastoreFinal 'Datastores Storage Over-Commit' = $StorageOvercommitsresult 'Use VSAN' = $pool.AutomatedDesktopData.VirtualCenterProvisioningSettings.VirtualCenterStorageSettings.usevsan 'Storage Cluster Path' = $pool.AutomatedDesktopData.VirtualCenterNamesData.SdrsClusterPath 'View Storage Accelerator' = Switch ($Pool.Type) { - 'MANUAL' {$Pool.ManualDesktopData.ViewStorageAcceleratorSettings.UseViewStorageAccelerator} - 'AUTOMATED' {$Pool.AutomatedDesktopData.VirtualCenterProvisioningSettings.VirtualCenterStorageSettings.ViewStorageAcceleratorSettings.UseViewStorageAccelerator} - default {'Not Supported'} + 'MANUAL' { $Pool.ManualDesktopData.ViewStorageAcceleratorSettings.UseViewStorageAccelerator } + 'AUTOMATED' { $Pool.AutomatedDesktopData.VirtualCenterProvisioningSettings.VirtualCenterStorageSettings.ViewStorageAcceleratorSettings.UseViewStorageAccelerator } + default { 'Not Supported' } } 'Transparent Page Sharing Scope' = Switch ($Pool.Type) { - 'MANUAL' {$Pool.ManualDesktopData.VirtualCenterManagedCommonSettings.TransparentPageSharingScope} - 'AUTOMATED' {$Pool.AutomatedDesktopData.VirtualCenterManagedCommonSettings.TransparentPageSharingScope} - default {'Not Supported'} + 'MANUAL' { $Pool.ManualDesktopData.VirtualCenterManagedCommonSettings.TransparentPageSharingScope } + 'AUTOMATED' { $Pool.AutomatedDesktopData.VirtualCenterManagedCommonSettings.TransparentPageSharingScope } + default { 'Not Supported' } } 'Replica Disk Datastore Path' = $Pool.automateddesktopdata.VirtualCenterNamesData.ReplicaDiskDatastorePath 'Networks' = Switch ($Pool.AutomatedDesktopData.VirtualCenterNamesData.NetworkLabelNames) { - $null {'Golden Image network selected'} - default {$Pool.AutomatedDesktopData.VirtualCenterNamesData.NetworkLabelNames} + $null { 'Golden Image network selected' } + default { $Pool.AutomatedDesktopData.VirtualCenterNamesData.NetworkLabelNames } } 'Network Card' = $NetworkInterfaceCardList.data.name 'Network Label Enabled' = $pool.AutomatedDesktopData.VirtualCenterProvisioningSettings.VirtualCenterNetworkingSettings.nics.NetworkLabelAssignmentSpecs.Enabled @@ -537,7 +534,7 @@ function Get-AbrHRZDesktopPool { 'Post Synchronization Script Name' = $pool.AutomatedDesktopData.CustomizationSettings.CloneprepCustomizationSettings.PostSynchronizationScriptName 'Post Synchronization Script Parameters' = $pool.AutomatedDesktopData.CustomizationSettings.CloneprepCustomizationSettings.PostSynchronizationScriptParameters 'Priming Computer Account' = $pool.AutomatedDesktopData.CustomizationSettings.CloneprepCustomizationSettings.PrimingComputerAccount - 'Guest Customization Account' = ($InstantCloneDomainAdmins | Where-Object {$_.id.id -eq $Pool.automateddesktopdata.CustomizationSettings.InstantCloneEngineDomainAdministrator.id}).Base.Username + 'Guest Customization Account' = ($InstantCloneDomainAdmins | Where-Object { $_.id.id -eq $Pool.automateddesktopdata.CustomizationSettings.InstantCloneEngineDomainAdministrator.id }).Base.Username 'No Customization Settings' = $pool.AutomatedDesktopData.CustomizationSettings.NoCustomizationSettings 'Sysprep Customization Settings' = $PoolCustomization 'Quick Prep Customization Settings' = $pool.AutomatedDesktopData.CustomizationSettings.QuickprepCustomizationSettings @@ -619,18 +616,17 @@ function Get-AbrHRZDesktopPool { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } if ($InfoLevel.Inventory.Desktop -ge 3) { try { - section -ExcludeFromTOC -Style NOTOCHeading6 "Pool Machine Summary - $($Pool.Base.name)" { + Section -ExcludeFromTOC -Style NOTOCHeading6 "Pool Machine Summary - $($Pool.Base.name)" { $OutObj = @() foreach ($Machine in $Machines) { - If($Machine.Base.DesktopName -like $Pool.base.Name){ + If ($Machine.Base.DesktopName -like $Pool.base.Name) { $inObj = [ordered] @{ 'Machine Name' = $Machine.Base.Name 'Agent Version' = $Machine.Base.AgentVersion @@ -643,8 +639,8 @@ function Get-AbrHRZDesktopPool { } } $TableParams = @{ - Name = "Pool Machine Summary - $($Pool.Base.Name)" - List = $false + Name = "Pool Machine Summary - $($Pool.Base.Name)" + List = $false ColumnWidths = 15, 10, 20, 25, 15, 15 } if ($Report.ShowTableCaptions) { @@ -652,24 +648,22 @@ function Get-AbrHRZDesktopPool { } $OutObj | Sort-Object -Property 'Name' | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { $OutObj = @() - section -ExcludeFromToC -Style NOTOCHeading6 "Desktop Pools Entitlements - $($Pool.Base.Name)" { + Section -ExcludeFromTOC -Style NOTOCHeading6 "Desktop Pools Entitlements - $($Pool.Base.Name)" { try { - Write-PscriboMessage "Discovered Desktop Pool Entitlements Information for - $($Pool.Base.Name)." - foreach ($Principal in ($EntitledUserOrGrouplocalMachines | Where-Object {$_.localData.Desktops.id -eq $Pool.Id.id})) { - Write-PscriboMessage "Discovered Desktop Pool Entitlements Name for - $($Principal.Base.LoginName)." + Write-PScriboMessage "Discovered Desktop Pool Entitlements Information for - $($Pool.Base.Name)." + foreach ($Principal in ($EntitledUserOrGrouplocalMachines | Where-Object { $_.localData.Desktops.id -eq $Pool.Id.id })) { + Write-PScriboMessage "Discovered Desktop Pool Entitlements Name for - $($Principal.Base.LoginName)." $inObj = [ordered] @{ 'Name' = $Principal.Base.LoginName 'Domain' = $Principal.Base.Domain @@ -686,28 +680,24 @@ function Get-AbrHRZDesktopPool { $TableParams['Caption'] = "- $($TableParams.Name)" } $OutObj | Sort-Object -Property 'Name' | Table @TableParams - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZDomains.ps1 b/Src/Private/Get-AbrHRZDomains.ps1 index 53dfe8c..04fdfb1 100644 --- a/Src/Private/Get-AbrHRZDomains.ps1 +++ b/Src/Private/Get-AbrHRZDomains.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDomains { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,30 +24,29 @@ function Get-AbrHRZDomains { begin { Write-PScriboMessage "InstantCloneDomainAccounts InfoLevel set at $($InfoLevel.Settings.InstantClone.InstantCloneDomainAccounts)." - Write-PscriboMessage "Collecting Instant Clone Domain Accounts information." + Write-PScriboMessage "Collecting Instant Clone Domain Accounts information." } process { try { - section -Style Heading2 "Domains" { + Section -Style Heading2 "Domains" { if ($InstantCloneDomainAdmins) { if ($InfoLevel.Settings.InstantClone.InstantCloneDomainAccounts -ge 1) { - section -Style Heading3 "Domain Accounts" { + Section -Style Heading3 "Domain Accounts" { Paragraph "The following section details the Domain Accounts configuration for $($HVEnvironment.toUpper()) server." BlankLine $OutObj = @() foreach ($InstantCloneDomainAdmin in $InstantCloneDomainAdmins) { try { - Write-PscriboMessage "Discovered Domain Accounts Information." + Write-PScriboMessage "Discovered Domain Accounts Information." $inObj = [ordered] @{ 'User Name' = $InstantCloneDomainAdmin.Base.UserName 'Domain Name' = $InstantCloneDomainAdmin.NamesData.DnsName } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } @@ -66,13 +65,13 @@ function Get-AbrHRZDomains { } if ($Domains) { if ($InfoLevel.Settings.Servers.vCenterServers.ADDomains -ge 1) { - section -Style Heading3 "Connection Server" { + Section -Style Heading3 "Connection Server" { Paragraph "The following section shows connection servers domains for $($HVEnvironment.toUpper()) environment." BlankLine $OutObj = @() foreach ($Domain in $Domains) { try { - Write-PscriboMessage "Discovered Domain Information $($Domain.DNSName)." + Write-PScriboMessage "Discovered Domain Information $($Domain.DNSName)." $inObj = [ordered] @{ 'Domain DNS Name' = $Domain.DNSName 'Status' = $Domain.ConnectionServerState[0].Status @@ -82,14 +81,13 @@ function Get-AbrHRZDomains { } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } if ($HealthCheck.DataStores.Status) { - $OutObj | Where-Object { $_.'Status' -eq 'ERROR'} | Set-Style -Style Warning + $OutObj | Where-Object { $_.'Status' -eq 'ERROR' } | Set-Style -Style Warning } $TableParams = @{ @@ -107,9 +105,8 @@ function Get-AbrHRZDomains { } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZESXi.ps1 b/Src/Private/Get-AbrHRZESXi.ps1 index 9d688ee..96f52ad 100644 --- a/Src/Private/Get-AbrHRZESXi.ps1 +++ b/Src/Private/Get-AbrHRZESXi.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZESXi { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,23 +24,23 @@ function Get-AbrHRZESXi { begin { Write-PScriboMessage "Esxi Servers InfoLevel set at $($InfoLevel.Settings.Servers.vCenterServers.ESXiHosts)." - Write-PscriboMessage "Collecting Esxi Servers information." + Write-PScriboMessage "Collecting Esxi Servers information." } process { try { if ($vCenterHealth) { if ($InfoLevel.Settings.Servers.vCenterServers.ESXiHosts -ge 1) { - section -Style Heading5 "ESXi Hosts" { + Section -Style Heading5 "ESXi Hosts" { Paragraph "The following section details the hardware information of ESXi Hosts for $($HVEnvironment.toUpper()) server." BlankLine $ESXHosts = $vCenterHealth.hostdata foreach ($ESXCLUSTER in ($ESXHosts.ClusterName | Select-Object -Unique)) { - section -Style Heading5 "$($ESXCLUSTER) Cluster" { + Section -Style Heading5 "$($ESXCLUSTER) Cluster" { $OutObj = @() try { - foreach ($ESXHost in ($ESXHosts | Where-Object {$_.ClusterName -eq $ESXCLUSTER})) { - Write-PscriboMessage "Discovered ESXI Server Information from $($ESXCLUSTER)." + foreach ($ESXHost in ($ESXHosts | Where-Object { $_.ClusterName -eq $ESXCLUSTER })) { + Write-PScriboMessage "Discovered ESXI Server Information from $($ESXCLUSTER)." $inObj = [ordered] @{ 'Name' = $ESXHost.Name 'Version' = $ESXHost.Version @@ -51,11 +51,10 @@ function Get-AbrHRZESXi { $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) } if ($HealthCheck.ESXiHosts.Status) { - $OutObj | Where-Object { $_.'Status' -ne 'CONNECTED'} | Set-Style -Style Warning + $OutObj | Where-Object { $_.'Status' -ne 'CONNECTED' } | Set-Style -Style Warning } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } $TableParams = @{ @@ -70,11 +69,11 @@ function Get-AbrHRZESXi { $OutObj | Sort-Object -Property 'Name' | Table @TableParams try { if ($InfoLevel.Settings.Servers.vCenterServers.ESXiHosts -ge 2) { - foreach ($ESXHost in ($ESXHosts | Where-Object {$_.ClusterName -eq $ESXCLUSTER})) { + foreach ($ESXHost in ($ESXHosts | Where-Object { $_.ClusterName -eq $ESXCLUSTER })) { if ($ESXHost.Name) { try { - section -ExcludeFromTOC -Style NOTOCHeading6 "$($ESXHost.Name) Details" { - Write-PscriboMessage "Discovered ESXI Server Information from $($ESXHost.Name)." + Section -ExcludeFromTOC -Style NOTOCHeading6 "$($ESXHost.Name) Details" { + Write-PScriboMessage "Discovered ESXI Server Information from $($ESXHost.Name)." $inObj = [ordered] @{ 'CPU Cores' = $ESXHost.NumCpuCores 'CPU in Mhz' = $ESXHost.CpuMhz @@ -96,25 +95,22 @@ function Get-AbrHRZESXi { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZEventConf.ps1 b/Src/Private/Get-AbrHRZEventConf.ps1 index e5c3a28..e815093 100644 --- a/Src/Private/Get-AbrHRZEventConf.ps1 +++ b/Src/Private/Get-AbrHRZEventConf.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZEventConf { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,22 +24,22 @@ function Get-AbrHRZEventConf { begin { Write-PScriboMessage "EventDatabase InfoLevel set at $($InfoLevel.Settings.EventConfiguration.EventDatabase)." - Write-PscriboMessage "Collecting Event Configuration information." + Write-PScriboMessage "Collecting Event Configuration information." } process { try { if ($EventDataBases -or $Syslog) { if ($InfoLevel.Settings.EventConfiguration.PSObject.Properties.Value -ne 0) { - section -Style Heading2 "Event Configuration" { + Section -Style Heading2 "Event Configuration" { Paragraph "The following section details on the events configuration information for $($HVEnvironment.toUpper())." BlankLine if ($InfoLevel.Settings.EventConfiguration.EventDatabase -ge 1) { try { - section -Style Heading3 "Event Database" { + Section -Style Heading3 "Event Database" { $OutObj = @() foreach ($EventDataBase in $EventDataBases) { - Write-PscriboMessage "Discovered Event Database Information." + Write-PScriboMessage "Discovered Event Database Information." $inObj = [ordered] @{ 'Server' = $EventDataBase.database.Server 'Type' = $EventDataBase.database.Type @@ -57,7 +57,7 @@ function Get-AbrHRZEventConf { } if ($HealthCheck.EventConfiguration.EventDatabase) { - $OutObj | Where-Object { $_.'Enabled' -eq 'No'} | Set-Style -Style Warning -Property 'Enabled' + $OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled' } $TableParams = @{ @@ -71,17 +71,16 @@ function Get-AbrHRZEventConf { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } if ($InfoLevel.Settings.EventConfiguration.Syslog -ge 1 -and $Syslog.UdpData.Enabled) { try { - section -Style Heading3 "Syslog Configuration" { + Section -Style Heading3 "Syslog Configuration" { $OutObj = @() foreach ($Logging in $Syslog.UdpData.NetworkAddresses) { - Write-PscriboMessage "Discovered Syslog Information." + Write-PScriboMessage "Discovered Syslog Information." $inObj = [ordered] @{ 'Server' = $Logging.split(':')[0] 'Port' = $Logging.split(':')[1] @@ -101,17 +100,16 @@ function Get-AbrHRZEventConf { } $OutObj | Sort-Object -Property 'Server' | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } if ($InfoLevel.Settings.EventConfiguration.EventstoFileSystem -ge 1 -and ($Syslog.FileData.Enabled -or $Syslog.FileData.EnabledOnError)) { try { - section -Style Heading3 "Events to File System" { + Section -Style Heading3 "Events to File System" { $OutObj = @() foreach ($Logging in $Syslog) { - Write-PscriboMessage "Discovered Events to File System Information." + Write-PScriboMessage "Discovered Events to File System Information." $inObj = [ordered] @{ 'Enabled' = $Logging.FileData.Enabled 'Enabled on Error' = $Logging.FileData.EnabledOnError @@ -134,17 +132,15 @@ function Get-AbrHRZEventConf { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZFarm.ps1 b/Src/Private/Get-AbrHRZFarm.ps1 index f9d948e..1295b7e 100644 --- a/Src/Private/Get-AbrHRZFarm.ps1 +++ b/Src/Private/Get-AbrHRZFarm.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZFarm { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,19 +24,19 @@ function Get-AbrHRZFarm { begin { Write-PScriboMessage "Farm InfoLevel set at $($InfoLevel.Inventory.Farms)." - Write-PscriboMessage "Collecting Farm information." + Write-PScriboMessage "Collecting Farm information." } process { try { if ($Farms) { if ($InfoLevel.Inventory.Farms -ge 1) { - section -Style Heading3 "Farm Pools" { + Section -Style Heading3 "Farm Pools" { Paragraph "The following section details the Farms configuration for $($HVEnvironment.toUpper()[0]) server." BlankLine $OutObj = @() foreach ($Farm in $Farms) { - Write-PscriboMessage "Discovered Farms Information." + Write-PScriboMessage "Discovered Farms Information." $inObj = [ordered] @{ 'Name' = $Farm.Data.displayName 'Type' = $Farm.Type @@ -47,7 +47,7 @@ function Get-AbrHRZFarm { } if ($HealthCheck.Farms.Status) { - $OutObj | Where-Object { $_.'Enabled' -eq 'No'} | Set-Style -Style Warning -Property 'Enabled' + $OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled' } $TableParams = @{ @@ -62,9 +62,9 @@ function Get-AbrHRZFarm { $OutObj | Sort-Object -Property 'Name' | Table @TableParams try { if ($InfoLevel.Inventory.Farms -ge 2) { - section -Style Heading4 "Farm Pools Details" { + Section -Style Heading4 "Farm Pools Details" { foreach ($Farm in $Farms) { - section -Style Heading5 $($Farm.Data.name) { + Section -Style Heading5 $($Farm.Data.name) { # Find out Access Group for Applications $AccessgroupMatch = $false $AccessgroupJoined = @() @@ -83,12 +83,12 @@ function Get-AbrHRZFarm { # Farm AD Container $FarmContainerName = '' if ($Farm.AutomatedFarmData.CustomizationSettings.AdContainer.id) { - foreach ($ADDomain in $ADDomains){ + foreach ($ADDomain in $ADDomains) { $ADDomainID = ($ADDomain.id.id -creplace '^[^/]*/', '') if ($Farm.AutomatedFarmData.CustomizationSettings.AdContainer.id -like "ADContainer/$ADDomainID/*") { $ADContainers = $hzServices.ADContainer.ADContainer_ListByDomain($ADDomain.id) foreach ($ADContainer in $ADContainers) { - if ($ADContainer.id.id -eq $Farm.AutomatedFarmData.CustomizationSettings.AdContainer.id){ + if ($ADContainer.id.id -eq $Farm.AutomatedFarmData.CustomizationSettings.AdContainer.id) { $FarmContainerName = $ADContainer.rdn break } @@ -99,11 +99,11 @@ function Get-AbrHRZFarm { # Farm Customization Type $Customizations = ('') - If($Farm.AutomatedFarmData.CustomizationSettings.SysprepCustomizationSettings.CustomizationSpec){ - Foreach ($vCenterServer in $vCenterServers){ + If ($Farm.AutomatedFarmData.CustomizationSettings.SysprepCustomizationSettings.CustomizationSpec) { + Foreach ($vCenterServer in $vCenterServers) { $Customizations = $hzServices.CustomizationSpec.CustomizationSpec_List($vCenterServer.id) - Foreach ($Customization in $Customizations){ - if($Farm.AutomatedFarmData.CustomizationSettings.SysprepCustomizationSettings.CustomizationSpec.id -eq $Customization.id.id){ + Foreach ($Customization in $Customizations) { + if ($Farm.AutomatedFarmData.CustomizationSettings.SysprepCustomizationSettings.CustomizationSpec.id -eq $Customization.id.id) { $FarmCustomization = $($Customization.CustomizationSpecData.Name) } } @@ -112,9 +112,9 @@ function Get-AbrHRZFarm { try { - section -ExcludeFromTOC -Style NOTOCHeading5 "General" { + Section -ExcludeFromTOC -Style NOTOCHeading5 "General" { $OutObj = @() - Write-PscriboMessage "Discovered $($Farm.Data.name) General Information." + Write-PScriboMessage "Discovered $($Farm.Data.name) General Information." $inObj = [ordered] @{ 'Pool Name' = $Farm.Data.name 'Display Name' = $Farm.Data.displayName @@ -136,7 +136,7 @@ function Get-AbrHRZFarm { $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) if ($HealthCheck.Farms.Status) { - $OutObj | Where-Object { $_.'Enabled' -eq 'No'} | Set-Style -Style Warning -Property 'Enabled' + $OutObj | Where-Object { $_.'Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Enabled' } $TableParams = @{ @@ -150,14 +150,13 @@ function Get-AbrHRZFarm { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { - section -ExcludeFromTOC -Style NOTOCHeading5 "Load Balancing Settings" { + Section -ExcludeFromTOC -Style NOTOCHeading5 "Load Balancing Settings" { $OutObj = @() - Write-PscriboMessage "Discovered $($Farm.Data.name) Load Balancing Settings." + Write-PScriboMessage "Discovered $($Farm.Data.name) Load Balancing Settings." $inObj = [ordered] @{ 'Use Custom Script' = $Farm.Data.LbSettings.UseCustomScript 'Include Session Count' = $Farm.Data.LbSettings.LbMetricsSettings.IncludeSessionCount @@ -182,14 +181,13 @@ function Get-AbrHRZFarm { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { - section -ExcludeFromTOC -Style NOTOCHeading5 "Provisioning Settings" { + Section -ExcludeFromTOC -Style NOTOCHeading5 "Provisioning Settings" { $OutObj = @() - Write-PscriboMessage "Discovered $($Farm.Data.name) Settings." + Write-PScriboMessage "Discovered $($Farm.Data.name) Settings." $inObj = [ordered] @{ 'Provisioning Enabled' = $Farm.AutomatedFarmData.VirtualCenterProvisioningSettings.EnableProvisioning 'Stop Provisioning on Error' = $Farm.AutomatedFarmData.VirtualCenterProvisioningSettings.StopProvisioningOnError @@ -203,7 +201,7 @@ function Get-AbrHRZFarm { $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) if ($HealthCheck.Farms.Status) { - $OutObj | Where-Object { $_.'Provisioning Enabled' -eq 'No'} | Set-Style -Style Warning -Property 'Provisioning Enabled' + $OutObj | Where-Object { $_.'Provisioning Enabled' -eq 'No' } | Set-Style -Style Warning -Property 'Provisioning Enabled' } $TableParams = @{ @@ -217,24 +215,23 @@ function Get-AbrHRZFarm { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { - section -ExcludeFromTOC -Style NOTOCHeading6 "vCenter Server Settings" { + Section -ExcludeFromTOC -Style NOTOCHeading6 "vCenter Server Settings" { $OutObj = @() - Write-PscriboMessage "Discovered $($Farm.Data.name) vCenter Server Settings Information." + Write-PScriboMessage "Discovered $($Farm.Data.name) vCenter Server Settings Information." $inObj = [ordered] @{ 'VM folder' = $Farm.AutomatedFarmData.VirtualCenterNamesData.VmFolderPath 'Host Or Cluster Path' = $Farm.AutomatedFarmData.VirtualCenterNamesData.HostOrClusterPath 'Resource Pool' = $Farm.AutomatedFarmData.VirtualCenterNamesData.ResourcePoolPath 'Golden Image' = $Farm.AutomatedFarmData.VirtualCenterNamesData.ParentVmPath 'Snapshot' = $Farm.AutomatedFarmData.VirtualCenterNamesData.SnapshotPath - 'Datastore Paths' = ($Farm.AutomatedFarmData.VirtualCenterNamesData.DatastorePaths | ForEach-Object {$_.Split('/')[4]}) -join ', ' + 'Datastore Paths' = ($Farm.AutomatedFarmData.VirtualCenterNamesData.DatastorePaths | ForEach-Object { $_.Split('/')[4] }) -join ', ' 'Networks' = Switch ($Farm.AutomatedFarmData.VirtualCenterNamesData.NetworkLabelNames) { - $null {'Golden Image network selected'} - default {$Farm.AutomatedFarmData.VirtualCenterNamesData.NetworkLabelNames} + $null { 'Golden Image network selected' } + default { $Farm.AutomatedFarmData.VirtualCenterNamesData.NetworkLabelNames } } } @@ -251,18 +248,17 @@ function Get-AbrHRZFarm { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { - section -ExcludeFromTOC -Style NOTOCHeading5 "Guest Customization" { + Section -ExcludeFromTOC -Style NOTOCHeading5 "Guest Customization" { $OutObj = @() - Write-PscriboMessage "Guest Customization $($Farm.Data.name) Settings." + Write-PScriboMessage "Guest Customization $($Farm.Data.name) Settings." $inObj = [ordered] @{ 'Guest Customization' = $Farm.AutomatedFarmData.CustomizationSettings.CustomizationType - 'Guest Customization Domain and Account' = ($InstantCloneDomainAdmins | Where-Object {$_.Id.id -eq $Farm.AutomatedFarmData.CustomizationSettings.InstantCloneEngineDomainAdministrator.id}).Base.UserName + 'Guest Customization Domain and Account' = ($InstantCloneDomainAdmins | Where-Object { $_.Id.id -eq $Farm.AutomatedFarmData.CustomizationSettings.InstantCloneEngineDomainAdministrator.id }).Base.UserName 'Allow Reuse of Existing Computer Accounts' = $Farm.AutomatedFarmData.CustomizationSettings.ReusePreExistingAccounts 'AD Container' = $FarmContainerName 'Farm Customization Specification' = $FarmCustomization @@ -297,9 +293,8 @@ function Get-AbrHRZFarm { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } @@ -307,16 +302,14 @@ function Get-AbrHRZFarm { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 b/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 index 0482cda..6d8c7f4 100644 --- a/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 +++ b/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZFederationAccessGroups { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,20 +24,20 @@ function Get-AbrHRZFederationAccessGroups { begin { Write-PScriboMessage "Role Permissions InfoLevel set at $($InfoLevel.Settings.Administrators.RolePermissions)." - Write-PscriboMessage "Collecting Role Federation Access Groups information." + Write-PScriboMessage "Collecting Role Federation Access Groups information." } process { try { if ($Permissions) { if ($InfoLevel.Settings.Administrators.FederationAccessGroup -ge 1) { - section -Style Heading3 "Federation Access Groups" { + Section -Style Heading3 "Federation Access Groups" { Paragraph "The following section details the Federation Access Group information for $($HVEnvironment.toUpper()) server." BlankLine $OutObj = @() $FilteredPermissions = '' - $FilteredPermissions = $Permissions | Where-Object{$null -ne $_.base.GlobalAccessGroup} + $FilteredPermissions = $Permissions | Where-Object { $null -ne $_.base.GlobalAccessGroup } foreach ($Permission in $FilteredPermissions) { @@ -52,15 +52,14 @@ function Get-AbrHRZFederationAccessGroups { break } } - if ($PermissionGroups.count -gt 1){ - $AdministratorIDNameResults += "$AdministratorIDName, " - $AdministratorIDName = $AdministratorIDNameResults.TrimEnd(', ') - } + if ($PermissionGroups.count -gt 1) { + $AdministratorIDNameResults += "$AdministratorIDName, " + $AdministratorIDName = $AdministratorIDNameResults.TrimEnd(', ') + } } - Switch ($AdministratorIDName) - { - '' {$AdministratorIDName = 'N/A'} - ' ' {$AdministratorIDName = 'N/A'} + Switch ($AdministratorIDName) { + '' { $AdministratorIDName = 'N/A' } + ' ' { $AdministratorIDName = 'N/A' } } # Mach Permission Role ID with Role ID @@ -90,8 +89,7 @@ function Get-AbrHRZFederationAccessGroups { foreach ($GlobalAccessGroup in $GlobalAccessGroups) { if ($GlobalAccessGroup.Id.id -eq $PermissionGroup) { $GlobalAccessGroupIDName = "/$($GlobalAccessGroup.base.name)" - } - elseif ($GlobalAccessGroup.Children.id.id -eq $PermissionGroup) { + } elseif ($GlobalAccessGroup.Children.id.id -eq $PermissionGroup) { $GlobalAccessGroupIDName = "/Root/$(($AccessGroup.Children | Where-Object {$_.id.id -eq $PermissionGroup}).Base.Name)" } $GlobalAccessGroupIDName = $GlobalAccessGroupIDName.TrimStart('/') @@ -122,9 +120,8 @@ function Get-AbrHRZFederationAccessGroups { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZGatewayCert.ps1 b/Src/Private/Get-AbrHRZGatewayCert.ps1 index 32db8c1..1b19e34 100644 --- a/Src/Private/Get-AbrHRZGatewayCert.ps1 +++ b/Src/Private/Get-AbrHRZGatewayCert.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGatewayCert { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,19 +24,19 @@ function Get-AbrHRZGatewayCert { begin { Write-PScriboMessage "Gatway Certificate InfoLevel set at $($InfoLevel.Settings.Servers.ConnectionServers.ConnectionServers)." - Write-PscriboMessage "Collecting Gatway Certificate information." + Write-PScriboMessage "Collecting Gatway Certificate information." } process { try { if ($GatewayCerts) { if ($InfoLevel.Settings.CloudPodArch.CloudPodArch -ge 1) { - section -Style Heading3 "Gateway Certificate" { + Section -Style Heading3 "Gateway Certificate" { Paragraph "The following section details on the gateway certificate information for $($HVEnvironment.toUpper())." BlankLine - Write-PscriboMessage "Working on Gateway Certificate Information for $($HVEnvironment.toUpper())." + Write-PScriboMessage "Working on Gateway Certificate Information for $($HVEnvironment.toUpper())." $OutObj = @() - foreach ($GatewayCert in $GatewayCerts){ + foreach ($GatewayCert in $GatewayCerts) { $inObj = [ordered] @{ 'Certificate Name' = $GatewayCert.CertificateName 'Common Name' = $GatewayCert.CommonName @@ -47,8 +47,8 @@ function Get-AbrHRZGatewayCert { $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) } $TableParams = @{ - Name = "Gateway Certificate - $($HVEnvironment.toUpper())" - List = $true + Name = "Gateway Certificate - $($HVEnvironment.toUpper())" + List = $true ColumnWidths = 30, 70 } if ($Report.ShowTableCaptions) { @@ -58,9 +58,8 @@ function Get-AbrHRZGatewayCert { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 b/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 index 9d71996..cb1da63 100644 --- a/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 +++ b/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalEntitlement { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,7 +24,7 @@ function Get-AbrHRZGlobalEntitlement { begin { Write-PScriboMessage "Global Entitlements InfoLevel set at $($InfoLevel.Inventory.GlobalEntitlements)." - Write-PscriboMessage "Collecting Global Entitlements information." + Write-PScriboMessage "Collecting Global Entitlements information." } process { @@ -32,24 +32,23 @@ function Get-AbrHRZGlobalEntitlement { if ($GlobalEntitlements) { if ($InfoLevel.Inventory.GlobalEntitlements -ge 1) { - section -Style Heading3 "Global Entitlements" { + Section -Style Heading3 "Global Entitlements" { Paragraph "The following section details the Global Entitlements configuration for $($HVEnvironment.toUpper()) server." BlankLine - $GlobalEntitlements | ForEach-Object{ $_ | Add-Member -MemberType NoteProperty -Name "GE_Type" -Value "Desktop"} - $GlobalApplicationEntitlementGroups | ForEach-Object{ $_ | Add-Member -MemberType NoteProperty -Name "GE_Type" -Value "Application"} + $GlobalEntitlements | ForEach-Object { $_ | Add-Member -MemberType NoteProperty -Name "GE_Type" -Value "Desktop" } + $GlobalApplicationEntitlementGroups | ForEach-Object { $_ | Add-Member -MemberType NoteProperty -Name "GE_Type" -Value "Application" } $GlobalEntitlementJoined = @() $GlobalEntitlementJoined += $GlobalEntitlements $GlobalEntitlementJoined += $GlobalApplicationEntitlementGroups $OutObj = @() foreach ($GlobalEntitlement in $GlobalEntitlementJoined) { - Write-PscriboMessage "Discovered Global Entitlements Information." + Write-PScriboMessage "Discovered Global Entitlements Information." $GlobalEntitlementPodCount = ($GlobalEntitlement.data.memberpods.id).count if ($GlobalEntitlement.Data.LocalApplicationCount) { $Type = 'Application' - } - elseif ($GlobalEntitlement.Data.LocalDesktopCount) { + } elseif ($GlobalEntitlement.Data.LocalDesktopCount) { $Type = 'Desktop' } $inObj = [ordered] @{ @@ -73,29 +72,28 @@ function Get-AbrHRZGlobalEntitlement { $OutObj | Sort-Object -Property 'Name' | Table @TableParams - section -Style Heading4 "Global Entitlement Summary Details" { + Section -Style Heading4 "Global Entitlement Summary Details" { foreach ($GlobalEntitlement in $GlobalEntitlementJoined) { - Write-PscriboMessage "Discovered Global Entitlements Detailed Information for $($GlobalEntitlement.base.DisplayName)." + Write-PScriboMessage "Discovered Global Entitlements Detailed Information for $($GlobalEntitlement.base.DisplayName)." try { if ($InfoLevel.Inventory.GlobalEntitlements -ge 2) { - section -Style Heading5 "Summary - $($GlobalEntitlement.base.DisplayName)" { + Section -Style Heading5 "Summary - $($GlobalEntitlement.base.DisplayName)" { $SupportedDisplayProtocolsresult = '' - $SupportedDisplayProtocols = $GlobalEntitlement.base | ForEach-Object { $_.SupportedDisplayProtocols} + $SupportedDisplayProtocols = $GlobalEntitlement.base | ForEach-Object { $_.SupportedDisplayProtocols } $SupportedDisplayProtocolsresult = $SupportedDisplayProtocols -join ', ' if ($GlobalEntitlement.Data.LocalApplicationCount) { $Type = 'Application' - } - elseif ($GlobalEntitlement.Data.LocalDesktopCount) { + } elseif ($GlobalEntitlement.Data.LocalDesktopCount) { $Type = 'Desktop' } $GlobalAccessGroupID = $($hzServices.GlobalAccessGroup.GlobalAccessGroup_Get($GlobalEntitlement.base.GlobalAccessGroupId).base.Name) $OutObj = @() - Write-PscriboMessage "Discovered Global Entitlement Data for $HVEnvironment" + Write-PScriboMessage "Discovered Global Entitlement Data for $HVEnvironment" $inObj = [ordered] @{ 'Display Name' = $GlobalEntitlement.base.DisplayName 'Alias Name' = $GlobalEntitlement.base.AliasName @@ -156,38 +154,38 @@ function Get-AbrHRZGlobalEntitlement { try { $OutObj = @() - section -Style Heading6 "Local Pools - $($GlobalEntitlement.base.DisplayName)" { + Section -Style Heading6 "Local Pools - $($GlobalEntitlement.base.DisplayName)" { try { - Write-PscriboMessage "Discovered Local Pools Information for $($HVEnvironment.toUpper())." + Write-PScriboMessage "Discovered Local Pools Information for $($HVEnvironment.toUpper())." $GEPodMembers = $GlobalEntitlement.data.MemberPods.id $PodSiteID = ('') - Foreach($GEPodMember in $GEPodMembers){ - Foreach($CPSite in $CloudPodLists){ - If($CPSite.id.id -eq $GEPodMember){ + Foreach ($GEPodMember in $GEPodMembers) { + Foreach ($CPSite in $CloudPodLists) { + If ($CPSite.id.id -eq $GEPodMember) { $PodSiteID += $CPSite.DisplayName - } + } } } $PodMembers = '' - $PodMembers = ForEach-Object {$PodSiteID} + $PodMembers = ForEach-Object { $PodSiteID } $PodMemberList = $PodMembers -join ', ' $inObj = [ordered] @{ - 'Local Desktop Count' = $GlobalEntitlement.data.LocalDesktopCount - 'Local Application Count' = $GlobalEntitlement.data.LocalApplicationCount + 'Local Desktop Count' = $GlobalEntitlement.data.LocalDesktopCount + 'Local Application Count' = $GlobalEntitlement.data.LocalApplicationCount 'Remote Desktop Count' = $GlobalEntitlement.data.RemoteDesktopCount 'Remote Application Count' = $GlobalEntitlement.data.RemoteApplicationCount - 'User Count' = $GlobalEntitlement.data.UserCount - 'User or Group Count' = $GlobalEntitlement.data.UserGroupCount + 'User Count' = $GlobalEntitlement.data.UserCount + 'User or Group Count' = $GlobalEntitlement.data.UserGroupCount 'User or Group Site Override Count' = $GlobalEntitlement.data.UserGroupSiteOverrideCount - 'Member Pods' = $PodMemberList + 'Member Pods' = $PodMemberList } $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) - if ($Type -eq 'Application'){ + if ($Type -eq 'Application') { $inObj.Remove('Local Desktop Count') $inObj.Remove('Remote Desktop Count') } @@ -198,35 +196,33 @@ function Get-AbrHRZGlobalEntitlement { } $TableParams = @{ - Name = "Local Pools - $($HVEnvironment.toUpper())" - List = $true + Name = "Local Pools - $($HVEnvironment.toUpper())" + List = $true ColumnWidths = 30, 70 } if ($Report.ShowTableCaptions) { $TableParams['Caption'] = "- $($TableParams.Name)" } $OutObj | Table @TableParams - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } # Users and Groups try { - section -Style Heading6 "Users and Groups - $($GlobalEntitlement.base.DisplayName)" { + Section -Style Heading6 "Users and Groups - $($GlobalEntitlement.base.DisplayName)" { $OutObj = @() try { - Write-PscriboMessage "Discovered Users and Groups - $($GlobalEntitlement.base.DisplayName)." + Write-PScriboMessage "Discovered Users and Groups - $($GlobalEntitlement.base.DisplayName)." foreach ($EntitledUserOrGroupGlobal in $EntitledUserOrGroupGlobals) { Switch ($EntitledUserOrGroupGlobal.base.Group) { - 'True' { $GlobalEntitledGroup = 'Group' } + 'True' { $GlobalEntitledGroup = 'Group' } 'False' { $GlobalEntitledGroup = 'User' } } $EntitledDefined = @() @@ -243,7 +239,7 @@ function Get-AbrHRZGlobalEntitlement { } } - foreach ($ED in $EntitledDefined){ + foreach ($ED in $EntitledDefined) { $inObj = [ordered] @{ 'Name' = $ED.Base.Name 'User or Group' = $GlobalEntitledGroup @@ -253,14 +249,13 @@ function Get-AbrHRZGlobalEntitlement { } } # End If Group or User - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } $TableParams = @{ - Name = "Users and Groups - $($GlobalEntitlement.base.DisplayName)" - List = $false + Name = "Users and Groups - $($GlobalEntitlement.base.DisplayName)" + List = $false ColumnWidths = 40, 30, 30 } if ($Report.ShowTableCaptions) { @@ -268,23 +263,20 @@ function Get-AbrHRZGlobalEntitlement { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZGlobalPolicies.ps1 b/Src/Private/Get-AbrHRZGlobalPolicies.ps1 index 2087643..dc61299 100644 --- a/Src/Private/Get-AbrHRZGlobalPolicies.ps1 +++ b/Src/Private/Get-AbrHRZGlobalPolicies.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalPolicies { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,19 +24,19 @@ function Get-AbrHRZGlobalPolicies { begin { Write-PScriboMessage "Global Policies InfoLevel set at $($InfoLevel.Settings.GlobalPolicies.GlobalPolicies)." - Write-PscriboMessage "Collecting Global Policies information." + Write-PScriboMessage "Collecting Global Policies information." } process { try { if ($GlobalPolicies) { if ($InfoLevel.Settings.GlobalPolicies.GlobalPolicies -ge 1) { - section -Style Heading2 "Global Policies" { + Section -Style Heading2 "Global Policies" { Paragraph "The following section details on the Global Policies information for $($HVEnvironment.toUpper())." BlankLine $OutObj = @() - Write-PscriboMessage "Discovered Global Policies Information." + Write-PScriboMessage "Discovered Global Policies Information." $inObj = [ordered] @{ 'Allow Multimedia Redirection' = $GlobalPolicies.GlobalPolicies.AllowMultimediaRedirection 'Allow USB Access' = $GlobalPolicies.GlobalPolicies.AllowUSBAccess @@ -60,9 +60,8 @@ function Get-AbrHRZGlobalPolicies { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZGlobalSetting.ps1 b/Src/Private/Get-AbrHRZGlobalSetting.ps1 index 4c3da26..10004e7 100644 --- a/Src/Private/Get-AbrHRZGlobalSetting.ps1 +++ b/Src/Private/Get-AbrHRZGlobalSetting.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalSetting { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,19 +24,19 @@ function Get-AbrHRZGlobalSetting { begin { Write-PScriboMessage "GlobalSettings InfoLevel set at $($InfoLevel.Settings.GlobalSettings.GlobalSettings)." - Write-PscriboMessage "Collecting Global Settings information." + Write-PScriboMessage "Collecting Global Settings information." } process { try { if ($GlobalSettings) { if ($InfoLevel.Settings.GlobalSettings.GlobalSettings -ge 1) { - section -Style Heading2 "Global Settings" { + Section -Style Heading2 "Global Settings" { Paragraph "The following section details the Global Settings configuration for $($HVEnvironment.toUpper()) server." BlankLine - section -Style Heading3 "General Settings" { + Section -Style Heading3 "General Settings" { $OutObj = @() - Write-PscriboMessage "Discovered Global Settings Information." + Write-PScriboMessage "Discovered Global Settings Information." $inObj = [ordered] @{ 'Client Session Time Out Policy' = $GlobalSettings.GeneralData.ClientIdleSessionTimeoutPolicy 'Client Max Session Time Minutes ' = $GlobalSettings.GeneralData.ClientMaxSessionTimeMinutes @@ -91,18 +91,18 @@ function Get-AbrHRZGlobalSetting { try { if ($InfoLevel.Settings.GlobalSettings.GlobalSettings -ge 2) { - section -Style Heading3 "Security Settings" { + Section -Style Heading3 "Security Settings" { $OutObj = @() - Write-PscriboMessage "Discovered Security Settings Information." - $inObj = [ordered] @{ - 'Reauthenticate Secure Tunnel After Interruption' = $GlobalSettings.SecurityData.ReauthSecureTunnelAfterInterruption - 'Disallow Enhanced Security Mode' = $GlobalSettings.SecurityData.DisallowEnhancedSecurityMode - 'No Managed Certs' = $GlobalSettings.SecurityData.NoManagedCerts - 'Message Security Mode' = $GlobalSettings.SecurityData.MessageSecurityMode - 'Message Security Status' = $GlobalSettings.SecurityData.MessageSecurityStatus - 'Enable IP Sec for Security Server Pairing' = $GlobalSettings.SecurityData.EnableIPSecForSecurityServerPairing - } - $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) + Write-PScriboMessage "Discovered Security Settings Information." + $inObj = [ordered] @{ + 'Reauthenticate Secure Tunnel After Interruption' = $GlobalSettings.SecurityData.ReauthSecureTunnelAfterInterruption + 'Disallow Enhanced Security Mode' = $GlobalSettings.SecurityData.DisallowEnhancedSecurityMode + 'No Managed Certs' = $GlobalSettings.SecurityData.NoManagedCerts + 'Message Security Mode' = $GlobalSettings.SecurityData.MessageSecurityMode + 'Message Security Status' = $GlobalSettings.SecurityData.MessageSecurityStatus + 'Enable IP Sec for Security Server Pairing' = $GlobalSettings.SecurityData.EnableIPSecForSecurityServerPairing + } + $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) $TableParams = @{ Name = "Security Settings - $($HVEnvironment.toUpper())" @@ -116,16 +116,15 @@ function Get-AbrHRZGlobalSetting { $OutObj | Table @TableParams } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } try { if ($InfoLevel.Settings.GlobalSettings.GlobalSettings -ge 2) { - section -Style Heading3 "Client Restriction Settings" { + Section -Style Heading3 "Client Restriction Settings" { $OutObj = @() - Write-PscriboMessage "Discovered Client Restriction Settings Information." + Write-PScriboMessage "Discovered Client Restriction Settings Information." foreach ($CLientData in $GlobalSettings.ClientRestrictionConfiguration.ClientData) { $inObj = [ordered] @{ 'Type' = $CLientData.Type @@ -148,16 +147,14 @@ function Get-AbrHRZGlobalSetting { $OutObj | Table @TableParams } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZHomeSite.ps1 b/Src/Private/Get-AbrHRZHomeSite.ps1 index 2fd8efe..a507d77 100644 --- a/Src/Private/Get-AbrHRZHomeSite.ps1 +++ b/Src/Private/Get-AbrHRZHomeSite.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZHomeSite { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 0.2.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,7 +24,7 @@ function Get-AbrHRZHomeSite { begin { Write-PScriboMessage "Home Site Assignments InfoLevel set at $($InfoLevel.UsersAndGroups.HomeSiteAssignments)." - Write-PscriboMessage "Collecting Home Site General Information." + Write-PScriboMessage "Collecting Home Site General Information." } process { @@ -82,9 +82,8 @@ function Get-AbrHRZHomeSite { 'Global Application Entitlement' = $HomeSiteGlobalApplicationEntitlementIDName } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } @@ -100,9 +99,8 @@ function Get-AbrHRZHomeSite { $OutObj | Sort-Object -Property 'User or Group Name' | Table @TableParams } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } } diff --git a/Src/Private/Get-AbrHRZInfrastructure.ps1 b/Src/Private/Get-AbrHRZInfrastructure.ps1 index 7af6427..b162676 100644 --- a/Src/Private/Get-AbrHRZInfrastructure.ps1 +++ b/Src/Private/Get-AbrHRZInfrastructure.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZInfrastructure { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 0.3.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr, Chris Hildebrandt @@ -23,14 +23,14 @@ function Get-AbrHRZInfrastructure { ) begin { - Write-PscriboMessage "Collecting Infrastructure Summary information." + Write-PScriboMessage "Collecting Infrastructure Summary information." } process { try { - section -Style NOTOCHeading2 "Executive Summary for $($HVEnvironment.toUpper())" { + Section -Style NOTOCHeading2 "Executive Summary for $($HVEnvironment.toUpper())" { $OutObj = @() - Write-PscriboMessage "Discovered Infrastructure Summary Information." + Write-PScriboMessage "Discovered Infrastructure Summary Information." $inObj = [ordered] @{ 'Number of Local Entitlements' = $EntitledUserOrGroupLocalMachines.Count 'Number of Global Entitlements' = $GlobalEntitlements.Count @@ -61,9 +61,8 @@ function Get-AbrHRZInfrastructure { } $OutObj | Table @TableParams } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZInstantClone.ps1 b/Src/Private/Get-AbrHRZInstantClone.ps1 index b047308..bdfc993 100644 --- a/Src/Private/Get-AbrHRZInstantClone.ps1 +++ b/Src/Private/Get-AbrHRZInstantClone.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZInstantClone { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 0.2.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,29 +24,28 @@ function Get-AbrHRZInstantClone { begin { Write-PScriboMessage "InstantCloneDomainAccounts InfoLevel set at $($InfoLevel.Settings.InstantClone.InstantCloneDomainAccounts)." - Write-PscriboMessage "Collecting Instant Clone Domain Accounts information." + Write-PScriboMessage "Collecting Instant Clone Domain Accounts information." } process { try { if ($InstantCloneDomainAdmins) { if ($InfoLevel.Settings.InstantClone.InstantCloneDomainAccounts -ge 1) { - section -Style Heading3 "Instant Clone Accounts" { + Section -Style Heading3 "Instant Clone Accounts" { Paragraph "The following section details the Instant Clone Accounts configuration for $($HVEnvironment.split('.')[0]) server." BlankLine $OutObj = @() foreach ($InstantCloneDomainAdmin in $InstantCloneDomainAdmins) { try { - Write-PscriboMessage "Discovered Instant Clone Accounts Information." + Write-PScriboMessage "Discovered Instant Clone Accounts Information." $inObj = [ordered] @{ 'User Name' = $InstantCloneDomainAdmin.Base.UserName 'Domain Name' = $InstantCloneDomainAdmin.NamesData.DnsName } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } @@ -63,9 +62,8 @@ function Get-AbrHRZInstantClone { } } } - } - catch { - Write-PscriboMessage -IsWarning $_.Exception.Message + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } end {} diff --git a/Src/Private/Get-AbrHRZLicense.ps1 b/Src/Private/Get-AbrHRZLicense.ps1 index 06fb8b1..b102456 100644 --- a/Src/Private/Get-AbrHRZLicense.ps1 +++ b/Src/Private/Get-AbrHRZLicense.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZLicense { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.0 + Version: 1.1.1 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -24,53 +24,52 @@ function Get-AbrHRZLicense { begin { Write-PScriboMessage "ProductLicensingandUsage InfoLevel set at $($InfoLevel.Settings.ProductLicensing.ProductLicensingandUsage)." - Write-PscriboMessage "Collecting Product Licensing information." + Write-PScriboMessage "Collecting Product Licensing information." } process { try { if ($ProductLicenseingInfo) { if ($InfoLevel.Settings.ProductLicensing.ProductLicensingandUsage -ge 1) { - section -Style Heading2 "Product Licensing and Usage" { + Section -Style Heading2 "Product Licensing and Usage" { Paragraph "The following section details the product license and usage information for $($HVEnvironment.toUpper()) server." BlankLine - section -Style Heading3 "Licensing" { + Section -Style Heading3 "Licensing" { $OutObj = @() foreach ($ProductLic in $ProductLicenseingInfo) { try { - Write-PscriboMessage "Discovered Product Licensing Information." + Write-PScriboMessage "Discovered Product Licensing Information." # If $ProductLic.ExpirationTime is null, then the license is perpetual $ProductLicExpirationTime = "" if ($null -eq $ProductLic.ExpirationTime) { $ProductLicExpirationTime = "Perpetual" - }else { + } else { $ProductLicExpirationTime = $ProductLic.ExpirationTime.ToShortDateString() } $inObj = [ordered] @{ - 'Is Licensed' = $ProductLic.Licensed - 'License Key' = $ProductLic.LicenseKey - 'License Expiration' = $ProductLicExpirationTime - 'Composer enabled' = $ProductLic.ViewComposerEnabled - 'Desktop Launching enabled' = $ProductLic.DesktopLaunchingEnabled - 'Application Launching enabled' = $ProductLic.ApplicationLaunchingEnabled - 'Instant Clone enabled' = $ProductLic.InstantCloneEnabled - 'Helpdesk enabled' = $ProductLic.HelpDeskEnabled - 'Collaboration enabled' = $ProductLic.CollaborationEnabled - 'License Edition' = $ProductLic.LicenseEdition - 'License Usage Model' = $ProductLic.UsageModel - 'License Mode' = $ProductLic.LicenseMode - 'Grace Period Days' = $ProductLic.GracePeriodDays - 'Subscription Slice Expiry' = $ProductLic.SubscriptionSliceExpiry - 'License Health' = $ProductLic.LicenseHealth + 'Is Licensed' = $ProductLic.Licensed + 'License Key' = $ProductLic.LicenseKey + 'License Expiration' = $ProductLicExpirationTime + 'Composer enabled' = $ProductLic.ViewComposerEnabled + 'Desktop Launching enabled' = $ProductLic.DesktopLaunchingEnabled + 'Application Launching enabled' = $ProductLic.ApplicationLaunchingEnabled + 'Instant Clone enabled' = $ProductLic.InstantCloneEnabled + 'Helpdesk enabled' = $ProductLic.HelpDeskEnabled + 'Collaboration enabled' = $ProductLic.CollaborationEnabled + 'License Edition' = $ProductLic.LicenseEdition + 'License Usage Model' = $ProductLic.UsageModel + 'License Mode' = $ProductLic.LicenseMode + 'Grace Period Days' = $ProductLic.GracePeriodDays + 'Subscription Slice Expiry' = $ProductLic.SubscriptionSliceExpiry + 'License Health' = $ProductLic.LicenseHealth } $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) - } - Catch{ - Write-PscriboMessage -IsWarning $_.Exception.Message + } Catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } } $TableParams = @{ @@ -85,24 +84,23 @@ function Get-AbrHRZLicense { $OutObj | Table @TableParams } try { - $UsageStatisticsInfo = try {$hzServices.UsageStatistics.UsageStatistics_GetLicensingCounters()} catch {Write-PscriboMessage -IsWarning $_.Exception.Message} + $UsageStatisticsInfo = try { $hzServices.UsageStatistics.UsageStatistics_GetLicensingCounters() } catch { Write-PScriboMessage -IsWarning $_.Exception.Message } if ($UsageStatisticsInfo) { if ($InfoLevel.Settings.ProductLicensing.ProductLicensingandUsage -ge 2) { - section -Style Heading3 "Usage" { + Section -Style Heading3 "Usage" { $OutObj = @() foreach ($ProductUsage in $UsageStatisticsInfo.HighestUsage.PSObject.Properties.Name) { try { - Write-PscriboMessage "Discovered Product Licensing Usage Information." + Write-PScriboMessage "Discovered Product Licensing Usage Information." $inObj = [ordered] @{ - 'Name' = ($ProductUsage -creplace '([A-Z\W_]|\d+)(? Date: Mon, 5 Feb 2024 09:22:00 -0400 Subject: [PATCH 08/25] Update bug_report.yml --- .github/ISSUE_TEMPLATE/bug_report.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 534449b..5286d3a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -2,7 +2,7 @@ name: Bug Report description: File a bug report labels: ["bug"] assignees: - - rebelinux + - childebrandt42 body: - type: textarea id: bug-description @@ -95,4 +95,4 @@ body: required: true - label: >- I have checked for previously opened & closed [issues](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues) before submitting this bug report. - required: true \ No newline at end of file + required: true From 04f81fb1a72a39a6d33ba93eb9bfba5198dcb507 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Mon, 5 Feb 2024 09:22:17 -0400 Subject: [PATCH 09/25] Update change_request.yml --- .github/ISSUE_TEMPLATE/change_request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/change_request.yml b/.github/ISSUE_TEMPLATE/change_request.yml index 02dd650..041ca9f 100644 --- a/.github/ISSUE_TEMPLATE/change_request.yml +++ b/.github/ISSUE_TEMPLATE/change_request.yml @@ -2,7 +2,7 @@ name: Change Request description: Request a new change or an improvement labels: ["change request"] assignees: - - rebelinux + - childebrandt42 body: - type: textarea id: description From 565fed09df0773a227db31216961d95ee9d10f7f Mon Sep 17 00:00:00 2001 From: Chris Hildebrandt Date: Wed, 7 Feb 2024 10:09:55 -0600 Subject: [PATCH 10/25] Feature add, and Bug fix IssueThe Administrators Users and Groups Details section show the last user processed #12 and IssueThe Connection Server section under Domains has a misleading title #13 --- AsBuiltReport.VMware.Horizon.psd1 | Bin 10486 -> 10486 bytes CHANGELOG.md | 9 +++++++++ ...Sample VMware Horizon As Built Report.html | 8 ++++---- Src/Private/Get-AbrHRZADDomain.ps1 | 2 +- Src/Private/Get-AbrHRZAccessGroup.ps1 | 2 +- Src/Private/Get-AbrHRZAdminGroup.ps1 | 6 +++--- Src/Private/Get-AbrHRZApplicationPool.ps1 | 2 +- Src/Private/Get-AbrHRZCertMgmt.ps1 | 2 +- Src/Private/Get-AbrHRZCloudPod.ps1 | 2 +- Src/Private/Get-AbrHRZConnectionServer.ps1 | 2 +- Src/Private/Get-AbrHRZDatastore.ps1 | 2 +- Src/Private/Get-AbrHRZDesktopPool.ps1 | 2 +- Src/Private/Get-AbrHRZDomains.ps1 | 6 +++--- Src/Private/Get-AbrHRZESXi.ps1 | 2 +- Src/Private/Get-AbrHRZEventConf.ps1 | 2 +- Src/Private/Get-AbrHRZFarm.ps1 | 2 +- .../Get-AbrHRZFederationAccessGroups.ps1 | 2 +- Src/Private/Get-AbrHRZGatewayCert.ps1 | 2 +- Src/Private/Get-AbrHRZGlobalEntitlement.ps1 | 2 +- Src/Private/Get-AbrHRZGlobalPolicies.ps1 | 2 +- Src/Private/Get-AbrHRZGlobalSetting.ps1 | 2 +- Src/Private/Get-AbrHRZHomeSite.ps1 | 2 +- Src/Private/Get-AbrHRZInfrastructure.ps1 | 2 +- Src/Private/Get-AbrHRZInstantClone.ps1 | 2 +- Src/Private/Get-AbrHRZLicense.ps1 | 2 +- Src/Private/Get-AbrHRZLocalEntitlement.ps1 | 2 +- Src/Private/Get-AbrHRZMachines.ps1 | 2 +- Src/Private/Get-AbrHRZRegisteredMachine.ps1 | 2 +- Src/Private/Get-AbrHRZRolePermission.ps1 | 2 +- Src/Private/Get-AbrHRZRolePrivilege.ps1 | 2 +- Src/Private/Get-AbrHRZSites.ps1 | 2 +- Src/Private/Get-AbrHRZUAG.ps1 | 2 +- Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 | 2 +- Src/Private/Get-AbrHRZVcenter.ps1 | 2 +- .../Invoke-ASBuiltReport.VMware.Horizon.ps1 | 2 +- 35 files changed, 49 insertions(+), 40 deletions(-) diff --git a/AsBuiltReport.VMware.Horizon.psd1 b/AsBuiltReport.VMware.Horizon.psd1 index 07282af287f073e312227cef1d7426c25ab2d335..2703ad42b255d05ea77b7c1382fc7f12a080b414 100644 GIT binary patch delta 14 Vcmews_$_e50wzYI%?p`A)c`d<1?2z$ delta 14 Vcmews_$_e50wzYo%?p`A)c`d(1>^t# diff --git a/CHANGELOG.md b/CHANGELOG.md index 9945180..8f93ad5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # :arrows_clockwise: VMware Horizon As Built Report Changelog +## [1.1.2] - 2023-12-19 + +### Added + +- Renamed Domains Connection Server Section +Isssue[#13](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/13) +- Fixed Admin Users and Groups bug details reporting incorrectly. +Issue[#12](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/12) + ## [1.1.0] - 2023-12-19 ### Added diff --git a/Samples/Sample VMware Horizon As Built Report.html b/Samples/Sample VMware Horizon As Built Report.html index a6965da..81681ab 100644 --- a/Samples/Sample VMware Horizon As Built Report.html +++ b/Samples/Sample VMware Horizon As Built Report.html @@ -64,7 +64,7 @@ 3Inventory 3.1   Desktop Pools 3.1.1      Desktop Pools Details -3.1.1.1         Pool - Linux-Pharmax +3.1.1.2         Pool - Linux-Pharmax 3.2   Application Pool 3.2.1      Application Pool Details 3.2.1.1         Application Summary - 7-Zip File Manager @@ -93,7 +93,7 @@ 4Settings 4.1   Servers 4.1.1      vCenter Servers -4.1.1.1         vcenter-01v.pharmax.local +4.1.1.2         vcenter-01v.pharmax.local 4.1.2      Datastores 4.1.2.1         Datastores Detailed 4.1.3      ESXi Hosts @@ -254,7 +254,7 @@ Linux-PharmaxAUTOMATEDInstant CloneFLOATING
Table 8 - Desktop Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.1.1 Desktop Pools Details

3.1.1.1 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

+

3.1.1 Desktop Pools Details

3.1.1.2 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

@@ -855,7 +855,7 @@
NameLinux-Pharmax
Display NameLinux
vcenter-01v.pharmax.local8.0.2226172218.0.2.0Yes
Table 39 - vCenter - HORIZON-CS-01V

-

4.1.1.1 vcenter-01v.pharmax.local

+

4.1.1.2 vcenter-01v.pharmax.local

diff --git a/Src/Private/Get-AbrHRZADDomain.ps1 b/Src/Private/Get-AbrHRZADDomain.ps1 index 84ef029..2c6553d 100644 --- a/Src/Private/Get-AbrHRZADDomain.ps1 +++ b/Src/Private/Get-AbrHRZADDomain.ps1 @@ -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.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZAccessGroup.ps1 b/Src/Private/Get-AbrHRZAccessGroup.ps1 index 0c4c35f..218e8be 100644 --- a/Src/Private/Get-AbrHRZAccessGroup.ps1 +++ b/Src/Private/Get-AbrHRZAccessGroup.ps1 @@ -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.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZAdminGroup.ps1 b/Src/Private/Get-AbrHRZAdminGroup.ps1 index 1422c7f..123cea6 100644 --- a/Src/Private/Get-AbrHRZAdminGroup.ps1 +++ b/Src/Private/Get-AbrHRZAdminGroup.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZAdminGroup { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -82,8 +82,8 @@ function Get-AbrHRZAdminGroup { $OutObj | Sort-Object -Property 'Display Name' | Table @TableParams try { if ($InfoLevel.Settings.Administrators.AdministratorsandGroups -ge 2) { - Section -Style Heading4 "Administrators Users and Groups Details for $($Administrator.base.Name)" { - foreach ($Administrator in $Administrators) { + foreach ($Administrator in $Administrators) { + Section -Style Heading4 "Administrators Users and Groups Details for $($Administrator.base.Name)" { Write-PScriboMessage "Discovered $($Administrator.base.Name) Information." $RoleIDNameResults = '' foreach ($Permission in $Permissions) { diff --git a/Src/Private/Get-AbrHRZApplicationPool.ps1 b/Src/Private/Get-AbrHRZApplicationPool.ps1 index bbc996e..cfd1767 100644 --- a/Src/Private/Get-AbrHRZApplicationPool.ps1 +++ b/Src/Private/Get-AbrHRZApplicationPool.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZApplicationPool { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZCertMgmt.ps1 b/Src/Private/Get-AbrHRZCertMgmt.ps1 index cc8a88c..ef694ca 100644 --- a/Src/Private/Get-AbrHRZCertMgmt.ps1 +++ b/Src/Private/Get-AbrHRZCertMgmt.ps1 @@ -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.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZCloudPod.ps1 b/Src/Private/Get-AbrHRZCloudPod.ps1 index e6b80c0..6c77212 100644 --- a/Src/Private/Get-AbrHRZCloudPod.ps1 +++ b/Src/Private/Get-AbrHRZCloudPod.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZCloudPod { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZConnectionServer.ps1 b/Src/Private/Get-AbrHRZConnectionServer.ps1 index 26ba9f1..8d99f5d 100644 --- a/Src/Private/Get-AbrHRZConnectionServer.ps1 +++ b/Src/Private/Get-AbrHRZConnectionServer.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZConnectionServer { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZDatastore.ps1 b/Src/Private/Get-AbrHRZDatastore.ps1 index b6f6590..23766c4 100644 --- a/Src/Private/Get-AbrHRZDatastore.ps1 +++ b/Src/Private/Get-AbrHRZDatastore.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDatastore { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZDesktopPool.ps1 b/Src/Private/Get-AbrHRZDesktopPool.ps1 index ca76296..6bcfcc7 100644 --- a/Src/Private/Get-AbrHRZDesktopPool.ps1 +++ b/Src/Private/Get-AbrHRZDesktopPool.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDesktopPool { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZDomains.ps1 b/Src/Private/Get-AbrHRZDomains.ps1 index 04fdfb1..05aebe0 100644 --- a/Src/Private/Get-AbrHRZDomains.ps1 +++ b/Src/Private/Get-AbrHRZDomains.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDomains { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -65,7 +65,7 @@ function Get-AbrHRZDomains { } if ($Domains) { if ($InfoLevel.Settings.Servers.vCenterServers.ADDomains -ge 1) { - Section -Style Heading3 "Connection Server" { + Section -Style Heading3 "Connection Server Domain Status" { Paragraph "The following section shows connection servers domains for $($HVEnvironment.toUpper()) environment." BlankLine $OutObj = @() @@ -91,7 +91,7 @@ function Get-AbrHRZDomains { } $TableParams = @{ - Name = "Connection Server- $($HVEnvironment.toUpper())" + Name = "Connection Server Domain Status- $($HVEnvironment.toUpper())" List = $false ColumnWidths = 25, 25, 25, 25 } diff --git a/Src/Private/Get-AbrHRZESXi.ps1 b/Src/Private/Get-AbrHRZESXi.ps1 index 96f52ad..9fdd479 100644 --- a/Src/Private/Get-AbrHRZESXi.ps1 +++ b/Src/Private/Get-AbrHRZESXi.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZESXi { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZEventConf.ps1 b/Src/Private/Get-AbrHRZEventConf.ps1 index e815093..61840cd 100644 --- a/Src/Private/Get-AbrHRZEventConf.ps1 +++ b/Src/Private/Get-AbrHRZEventConf.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZEventConf { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZFarm.ps1 b/Src/Private/Get-AbrHRZFarm.ps1 index 1295b7e..516a8be 100644 --- a/Src/Private/Get-AbrHRZFarm.ps1 +++ b/Src/Private/Get-AbrHRZFarm.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZFarm { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 b/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 index 6d8c7f4..3314eda 100644 --- a/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 +++ b/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZFederationAccessGroups { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZGatewayCert.ps1 b/Src/Private/Get-AbrHRZGatewayCert.ps1 index 1b19e34..0178826 100644 --- a/Src/Private/Get-AbrHRZGatewayCert.ps1 +++ b/Src/Private/Get-AbrHRZGatewayCert.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGatewayCert { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 b/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 index cb1da63..dec05aa 100644 --- a/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 +++ b/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalEntitlement { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZGlobalPolicies.ps1 b/Src/Private/Get-AbrHRZGlobalPolicies.ps1 index dc61299..1b07de9 100644 --- a/Src/Private/Get-AbrHRZGlobalPolicies.ps1 +++ b/Src/Private/Get-AbrHRZGlobalPolicies.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalPolicies { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZGlobalSetting.ps1 b/Src/Private/Get-AbrHRZGlobalSetting.ps1 index 10004e7..d148016 100644 --- a/Src/Private/Get-AbrHRZGlobalSetting.ps1 +++ b/Src/Private/Get-AbrHRZGlobalSetting.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalSetting { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZHomeSite.ps1 b/Src/Private/Get-AbrHRZHomeSite.ps1 index a507d77..c0cd1c7 100644 --- a/Src/Private/Get-AbrHRZHomeSite.ps1 +++ b/Src/Private/Get-AbrHRZHomeSite.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZHomeSite { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZInfrastructure.ps1 b/Src/Private/Get-AbrHRZInfrastructure.ps1 index b162676..66990d0 100644 --- a/Src/Private/Get-AbrHRZInfrastructure.ps1 +++ b/Src/Private/Get-AbrHRZInfrastructure.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZInfrastructure { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr, Chris Hildebrandt diff --git a/Src/Private/Get-AbrHRZInstantClone.ps1 b/Src/Private/Get-AbrHRZInstantClone.ps1 index bdfc993..b5da57f 100644 --- a/Src/Private/Get-AbrHRZInstantClone.ps1 +++ b/Src/Private/Get-AbrHRZInstantClone.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZInstantClone { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZLicense.ps1 b/Src/Private/Get-AbrHRZLicense.ps1 index b102456..74783a4 100644 --- a/Src/Private/Get-AbrHRZLicense.ps1 +++ b/Src/Private/Get-AbrHRZLicense.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZLicense { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZLocalEntitlement.ps1 b/Src/Private/Get-AbrHRZLocalEntitlement.ps1 index ec2cd3e..5b222df 100644 --- a/Src/Private/Get-AbrHRZLocalEntitlement.ps1 +++ b/Src/Private/Get-AbrHRZLocalEntitlement.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZLocalEntitlement { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZMachines.ps1 b/Src/Private/Get-AbrHRZMachines.ps1 index 440f572..6b1da52 100644 --- a/Src/Private/Get-AbrHRZMachines.ps1 +++ b/Src/Private/Get-AbrHRZMachines.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZMachines { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZRegisteredMachine.ps1 b/Src/Private/Get-AbrHRZRegisteredMachine.ps1 index 4005c6c..5131e71 100644 --- a/Src/Private/Get-AbrHRZRegisteredMachine.ps1 +++ b/Src/Private/Get-AbrHRZRegisteredMachine.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZRegisteredMachine { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZRolePermission.ps1 b/Src/Private/Get-AbrHRZRolePermission.ps1 index 0280f42..3f2c3fa 100644 --- a/Src/Private/Get-AbrHRZRolePermission.ps1 +++ b/Src/Private/Get-AbrHRZRolePermission.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZRolePermission { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZRolePrivilege.ps1 b/Src/Private/Get-AbrHRZRolePrivilege.ps1 index c08b94e..679dbd6 100644 --- a/Src/Private/Get-AbrHRZRolePrivilege.ps1 +++ b/Src/Private/Get-AbrHRZRolePrivilege.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZRolePrivilege { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZSites.ps1 b/Src/Private/Get-AbrHRZSites.ps1 index 1f7aa58..eb62295 100644 --- a/Src/Private/Get-AbrHRZSites.ps1 +++ b/Src/Private/Get-AbrHRZSites.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZSites { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZUAG.ps1 b/Src/Private/Get-AbrHRZUAG.ps1 index 354bc7f..b6f0b70 100644 --- a/Src/Private/Get-AbrHRZUAG.ps1 +++ b/Src/Private/Get-AbrHRZUAG.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZUAG { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 b/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 index 2e33d8d..ea0c521 100644 --- a/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 +++ b/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZUnauthenticatedACL { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZVcenter.ps1 b/Src/Private/Get-AbrHRZVcenter.ps1 index 9abf781..d136254 100644 --- a/Src/Private/Get-AbrHRZVcenter.ps1 +++ b/Src/Private/Get-AbrHRZVcenter.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZVcenter { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 index a799647..a9b235c 100644 --- a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 +++ b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 @@ -5,7 +5,7 @@ .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.1 + Version: 1.1.2 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr From a6b522b4ec338c045ad9f28d08faa0813826479b Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 7 Feb 2024 17:48:01 -0400 Subject: [PATCH 11/25] Update CHANGELOG.md --- CHANGELOG.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f93ad5..69c4bc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,11 @@ # :arrows_clockwise: VMware Horizon As Built Report Changelog -## [1.1.2] - 2023-12-19 +## [1.1.2] - 2024-02-0? -### Added +### Fixed -- Renamed Domains Connection Server Section -Isssue[#13](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/13) -- Fixed Admin Users and Groups bug details reporting incorrectly. -Issue[#12](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/12) +- Renamed Domains Connection Server Section. Resolve [#13](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/13) +- Fixed Admin Users and Groups bug details reporting incorrectly. Resolve [#12](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/12) ## [1.1.0] - 2023-12-19 From fb56cd723efe8768e8e6323b9690bab639b7c48a Mon Sep 17 00:00:00 2001 From: Chris Hildebrandt Date: Sat, 10 Feb 2024 10:50:18 -0600 Subject: [PATCH 12/25] Fix for issues and security scan results issue#15 issue#16 issue#17 issue#18 issue#19 issue#20 issue#21 issue#22 issue#23 issue#24 --- Src/Private/Get-AbrHRZCloudPod.ps1 | 72 ++++++++++--------- ...AbrHRZDomains.ps1 => Get-AbrHRZDomain.ps1} | 2 +- ...s1 => Get-AbrHRZFederationAccessGroup.ps1} | 25 ++++--- ...olicies.ps1 => Get-AbrHRZGlobalPolicy.ps1} | 2 +- Src/Private/Get-AbrHRZGlobalSetting.ps1 | 2 +- ...rHRZMachines.ps1 => Get-AbrHRZMachine.ps1} | 2 +- ...Get-AbrHRZSites.ps1 => Get-AbrHRZSite.ps1} | 2 +- .../Invoke-ASBuiltReport.VMware.Horizon.ps1 | 21 ++---- 8 files changed, 65 insertions(+), 63 deletions(-) rename Src/Private/{Get-AbrHRZDomains.ps1 => Get-AbrHRZDomain.ps1} (99%) rename Src/Private/{Get-AbrHRZFederationAccessGroups.ps1 => Get-AbrHRZFederationAccessGroup.ps1} (80%) rename Src/Private/{Get-AbrHRZGlobalPolicies.ps1 => Get-AbrHRZGlobalPolicy.ps1} (98%) rename Src/Private/{Get-AbrHRZMachines.ps1 => Get-AbrHRZMachine.ps1} (98%) rename Src/Private/{Get-AbrHRZSites.ps1 => Get-AbrHRZSite.ps1} (99%) diff --git a/Src/Private/Get-AbrHRZCloudPod.ps1 b/Src/Private/Get-AbrHRZCloudPod.ps1 index 6c77212..acd07ac 100644 --- a/Src/Private/Get-AbrHRZCloudPod.ps1 +++ b/Src/Private/Get-AbrHRZCloudPod.ps1 @@ -36,48 +36,50 @@ function Get-AbrHRZCloudPod { BlankLine $OutObj = @() foreach ($CloudPodList in $CloudPodLists) { + if ($CloudPodList) { - # CP Site Info - $CloudPodSiteInfo = $hzServices.Site.Site_Get($CloudPodList.site) + # CP Site Info + $CloudPodSiteInfo = $hzServices.Site.Site_Get($CloudPodList.site) - # Connection Server Info - $CloudPodListEndpoints = $CloudPodList.Endpoints - $CloudPodListEndpointConnectionServerList = '' - foreach ($CloudPodListEndpoint in $CloudPodListEndpoints) { - $CloudPodListEndpointConnectionServer = $hzServices.PodEndpoint.PodEndpoint_Get($CloudPodListEndpoint) - $CloudPodListEndpointConnectionServerList += $CloudPodListEndpointConnectionServer.name -join "`r`n" | Out-String - } + # Connection Server Info + $CloudPodListEndpoints = $CloudPodList.Endpoints + $CloudPodListEndpointConnectionServerList = '' + foreach ($CloudPodListEndpoint in $CloudPodListEndpoints) { + $CloudPodListEndpointConnectionServer = $hzServices.PodEndpoint.PodEndpoint_Get($CloudPodListEndpoint) + $CloudPodListEndpointConnectionServerList += $CloudPodListEndpointConnectionServer.name -join "`r`n" | Out-String + } - # Active Global Entitlements - $CloudPodListActiveGlobalEntitlements = $CloudPodList.ActiveGlobalEntitlements - $CloudPodListActiveGlobalEntitlementList = '' - foreach ($CloudPodListActiveGlobalEntitlement in $CloudPodListActiveGlobalEntitlements) { - $CloudPodListActiveGlobalEntitlementInfo = $hzServices.GlobalEntitlement.GlobalEntitlement_Get($CloudPodListActiveGlobalEntitlement) - $CloudPodListActiveGlobalEntitlementList += $CloudPodListActiveGlobalEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String - } + # Active Global Entitlements + $CloudPodListActiveGlobalEntitlements = $CloudPodList.ActiveGlobalEntitlements + $CloudPodListActiveGlobalEntitlementList = '' + foreach ($CloudPodListActiveGlobalEntitlement in $CloudPodListActiveGlobalEntitlements) { + $CloudPodListActiveGlobalEntitlementInfo = $hzServices.GlobalEntitlement.GlobalEntitlement_Get($CloudPodListActiveGlobalEntitlement) + $CloudPodListActiveGlobalEntitlementList += $CloudPodListActiveGlobalEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String + } - # Active Global Application Entitlements - $CloudPodListActiveGlobalApplicationEntitlements = $CloudPodList.ActiveGlobalApplicationEntitlements - $CloudPodListActiveGlobalApplicationEntitlementList = '' - foreach ($CloudPodListActiveGlobalApplicationEntitlement in $CloudPodListActiveGlobalApplicationEntitlements) { - $CloudPodListActiveGlobalApplicationEntitlementInfo = $hzServices.GlobalApplicationEntitlement.GlobalApplicationEntitlement_Get($CloudPodListActiveGlobalApplicationEntitlement) - $CloudPodListActiveGlobalApplicationEntitlementList += $CloudPodListActiveGlobalApplicationEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String - } + # Active Global Application Entitlements + $CloudPodListActiveGlobalApplicationEntitlements = $CloudPodList.ActiveGlobalApplicationEntitlements + $CloudPodListActiveGlobalApplicationEntitlementList = '' + foreach ($CloudPodListActiveGlobalApplicationEntitlement in $CloudPodListActiveGlobalApplicationEntitlements) { + $CloudPodListActiveGlobalApplicationEntitlementInfo = $hzServices.GlobalApplicationEntitlement.GlobalApplicationEntitlement_Get($CloudPodListActiveGlobalApplicationEntitlement) + $CloudPodListActiveGlobalApplicationEntitlementList += $CloudPodListActiveGlobalApplicationEntitlementInfo.Base.DisplayName -join "`r`n" | Out-String + } - Write-PScriboMessage "Discovered Cloud Pod Federation Information." - $inObj = [ordered] @{ - 'Pod Name' = $CloudPodList.DisplayName - 'Pod Local' = $CloudPodList.Localpod - 'Pod Site' = $CloudPodSiteInfo.Base.DisplayName - 'Pod Description' = $CloudPodList.Description - 'Pod Cloud Managed' = $CloudPodList.CloudManaged - 'Pod Connection Servers' = $CloudPodListEndpointConnectionServerList - 'Pod Active Global Entitlements' = $CloudPodListActiveGlobalEntitlementList - 'Pod Active Global Application Entitlements' = $CloudPodListActiveGlobalApplicationEntitlementList - } + Write-PScriboMessage "Discovered Cloud Pod Federation Information." + $inObj = [ordered] @{ + 'Pod Name' = $CloudPodList.DisplayName + 'Pod Local' = $CloudPodList.Localpod + 'Pod Site' = $CloudPodSiteInfo.Base.DisplayName + 'Pod Description' = $CloudPodList.Description + 'Pod Cloud Managed' = $CloudPodList.CloudManaged + 'Pod Connection Servers' = $CloudPodListEndpointConnectionServerList + 'Pod Active Global Entitlements' = $CloudPodListActiveGlobalEntitlementList + 'Pod Active Global Application Entitlements' = $CloudPodListActiveGlobalApplicationEntitlementList + } - $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) + $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) + } } $TableParams = @{ diff --git a/Src/Private/Get-AbrHRZDomains.ps1 b/Src/Private/Get-AbrHRZDomain.ps1 similarity index 99% rename from Src/Private/Get-AbrHRZDomains.ps1 rename to Src/Private/Get-AbrHRZDomain.ps1 index 05aebe0..25d4068 100644 --- a/Src/Private/Get-AbrHRZDomains.ps1 +++ b/Src/Private/Get-AbrHRZDomain.ps1 @@ -1,4 +1,4 @@ -function Get-AbrHRZDomains { +function Get-AbrHRZDomain { <# .SYNOPSIS PowerShell script which documents the configuration of VMware Horizon in Word/HTML/XML/Text formats diff --git a/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 b/Src/Private/Get-AbrHRZFederationAccessGroup.ps1 similarity index 80% rename from Src/Private/Get-AbrHRZFederationAccessGroups.ps1 rename to Src/Private/Get-AbrHRZFederationAccessGroup.ps1 index 3314eda..10e1304 100644 --- a/Src/Private/Get-AbrHRZFederationAccessGroups.ps1 +++ b/Src/Private/Get-AbrHRZFederationAccessGroup.ps1 @@ -1,4 +1,4 @@ -function Get-AbrHRZFederationAccessGroups { +function Get-AbrHRZFederationAccessGroup { <# .SYNOPSIS PowerShell script which documents the configuration of VMware Horizon in Word/HTML/XML/Text formats @@ -85,15 +85,22 @@ function Get-AbrHRZFederationAccessGroups { # Find AccessGroup ID Name $GlobalAccessGroupIDName = '' $PermissionGroups = $Permission.base.GlobalAccessGroup.id - foreach ($PermissionGroup in $PermissionGroups) { - foreach ($GlobalAccessGroup in $GlobalAccessGroups) { - if ($GlobalAccessGroup.Id.id -eq $PermissionGroup) { - $GlobalAccessGroupIDName = "/$($GlobalAccessGroup.base.name)" - } elseif ($GlobalAccessGroup.Children.id.id -eq $PermissionGroup) { - $GlobalAccessGroupIDName = "/Root/$(($AccessGroup.Children | Where-Object {$_.id.id -eq $PermissionGroup}).Base.Name)" + if($PermissionGroups){ + foreach ($PermissionGroup in $PermissionGroups) { + if($PermissionGroup){ + if($GlobalAccessGroups){ + foreach ($GlobalAccessGroup in $GlobalAccessGroups) { + if($GlobalAccessGroup){ + if ($GlobalAccessGroup.Id.id -eq $PermissionGroup) { + $GlobalAccessGroupIDName = "/$($GlobalAccessGroup.base.name)" + } elseif ($GlobalAccessGroup.Children.id.id -eq $PermissionGroup) { + $GlobalAccessGroupIDName = "/Root/$(($AccessGroup.Children | Where-Object {$_.id.id -eq $PermissionGroup}).Base.Name)" + } + $GlobalAccessGroupIDName = $GlobalAccessGroupIDName.TrimStart('/') + } + } + } } - $GlobalAccessGroupIDName = $GlobalAccessGroupIDName.TrimStart('/') - } } $inObj = [ordered] @{ diff --git a/Src/Private/Get-AbrHRZGlobalPolicies.ps1 b/Src/Private/Get-AbrHRZGlobalPolicy.ps1 similarity index 98% rename from Src/Private/Get-AbrHRZGlobalPolicies.ps1 rename to Src/Private/Get-AbrHRZGlobalPolicy.ps1 index 1b07de9..f00d4eb 100644 --- a/Src/Private/Get-AbrHRZGlobalPolicies.ps1 +++ b/Src/Private/Get-AbrHRZGlobalPolicy.ps1 @@ -1,4 +1,4 @@ -function Get-AbrHRZGlobalPolicies { +function Get-AbrHRZGlobalpolicy { <# .SYNOPSIS PowerShell script which documents the configuration of VMware Horizon in Word/HTML/XML/Text formats diff --git a/Src/Private/Get-AbrHRZGlobalSetting.ps1 b/Src/Private/Get-AbrHRZGlobalSetting.ps1 index d148016..72bcc41 100644 --- a/Src/Private/Get-AbrHRZGlobalSetting.ps1 +++ b/Src/Private/Get-AbrHRZGlobalSetting.ps1 @@ -29,7 +29,7 @@ function Get-AbrHRZGlobalSetting { process { try { - if ($GlobalSettings) { + if ($GlobalSettings.GeneralData) { if ($InfoLevel.Settings.GlobalSettings.GlobalSettings -ge 1) { Section -Style Heading2 "Global Settings" { Paragraph "The following section details the Global Settings configuration for $($HVEnvironment.toUpper()) server." diff --git a/Src/Private/Get-AbrHRZMachines.ps1 b/Src/Private/Get-AbrHRZMachine.ps1 similarity index 98% rename from Src/Private/Get-AbrHRZMachines.ps1 rename to Src/Private/Get-AbrHRZMachine.ps1 index 6b1da52..5d9c79a 100644 --- a/Src/Private/Get-AbrHRZMachines.ps1 +++ b/Src/Private/Get-AbrHRZMachine.ps1 @@ -1,4 +1,4 @@ -function Get-AbrHRZMachines { +function Get-AbrHRZMachine { <# .SYNOPSIS PowerShell script which documents the configuration of VMware Horizon in Word/HTML/XML/Text formats diff --git a/Src/Private/Get-AbrHRZSites.ps1 b/Src/Private/Get-AbrHRZSite.ps1 similarity index 99% rename from Src/Private/Get-AbrHRZSites.ps1 rename to Src/Private/Get-AbrHRZSite.ps1 index eb62295..34c45a5 100644 --- a/Src/Private/Get-AbrHRZSites.ps1 +++ b/Src/Private/Get-AbrHRZSite.ps1 @@ -1,4 +1,4 @@ -function Get-AbrHRZSites { +function Get-AbrHRZSite { <# .SYNOPSIS PowerShell script which documents the configuration of VMware Horizon in Word/HTML/XML/Text formats diff --git a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 index a9b235c..f9cb824 100644 --- a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 +++ b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 @@ -64,10 +64,10 @@ $vCenterHealth = try { $hzServices.VirtualCenterHealth.VirtualCenterHealth_List() } catch { Write-PScriboMessage -IsWarning $_.Exception.Message } # ESXHosts - $esxhosts = $vCenterHealth + #$esxhosts = $vCenterHealth # DataStores - $datastores = $vCenterHealth + #$datastores = $vCenterHealth # Domains $domains = try { $hzServices.ADDomainHealth.ADDomainHealth_List() } catch { Write-PScriboMessage -IsWarning $_.Exception.Message } @@ -331,13 +331,6 @@ } catch { Write-PScriboMessage -IsWarning $_.Exception.Message } - try { - # Certificate Management - $CertificateManagement = $hzServices.GlobalSettings.GlobalSettings_ListGatewayCertificates() - - } catch { - Write-PScriboMessage -IsWarning $_.Exception.Message - } try { # Global Access Group Info @@ -371,7 +364,7 @@ Get-AbrHRZDesktopPool Get-AbrHRZApplicationPool Get-AbrHRZFarm - Get-AbrHRZMachines + Get-AbrHRZMachine Get-AbrHRZGlobalEntitlement } } @@ -390,7 +383,7 @@ } #Get-AbrHRZADDomain - Get-AbrHRZDomains + Get-AbrHRZDomain Get-AbrHRZCertMgmt Get-AbrHRZLicense Get-AbrHRZGlobalSetting @@ -402,14 +395,14 @@ Get-AbrHRZRolePrivilege Get-AbrHRZRolePermission Get-AbrHRZAccessGroup - Get-AbrHRZFederationAccessGroups + Get-AbrHRZFederationAccessGroup } } Get-AbrHRZCloudPod - Get-AbrHRZSites + Get-AbrHRZSite Get-AbrHRZEventConf - Get-AbrHRZGlobalPolicies + Get-AbrHRZGlobalpolicy } } } From d5b7739ae0ec3433574529f4c6901b1e5bd93149 Mon Sep 17 00:00:00 2001 From: Chris Hildebrandt Date: Sat, 10 Feb 2024 16:31:52 -0600 Subject: [PATCH 13/25] Fixed some various report errors with if checks --- AsBuiltReport.VMware.Horizon.psd1 | Bin 10486 -> 10486 bytes CHANGELOG.md | 18 ++++- ...Sample VMware Horizon As Built Report.html | 8 +- Src/Private/Get-AbrHRZADDomain.ps1 | 2 +- Src/Private/Get-AbrHRZAccessGroup.ps1 | 2 +- Src/Private/Get-AbrHRZAdminGroup.ps1 | 2 +- Src/Private/Get-AbrHRZApplicationPool.ps1 | 2 +- Src/Private/Get-AbrHRZCertMgmt.ps1 | 2 +- Src/Private/Get-AbrHRZCloudPod.ps1 | 2 +- Src/Private/Get-AbrHRZConnectionServer.ps1 | 12 ++- Src/Private/Get-AbrHRZDatastore.ps1 | 2 +- Src/Private/Get-AbrHRZDesktopPool.ps1 | 70 ++++++++++-------- Src/Private/Get-AbrHRZDomain.ps1 | 2 +- Src/Private/Get-AbrHRZESXi.ps1 | 2 +- Src/Private/Get-AbrHRZEventConf.ps1 | 2 +- Src/Private/Get-AbrHRZFarm.ps1 | 2 +- .../Get-AbrHRZFederationAccessGroup.ps1 | 2 +- Src/Private/Get-AbrHRZGatewayCert.ps1 | 2 +- Src/Private/Get-AbrHRZGlobalEntitlement.ps1 | 4 +- Src/Private/Get-AbrHRZGlobalPolicy.ps1 | 2 +- Src/Private/Get-AbrHRZGlobalSetting.ps1 | 2 +- Src/Private/Get-AbrHRZHomeSite.ps1 | 2 +- Src/Private/Get-AbrHRZInfrastructure.ps1 | 2 +- Src/Private/Get-AbrHRZInstantClone.ps1 | 2 +- Src/Private/Get-AbrHRZLicense.ps1 | 2 +- Src/Private/Get-AbrHRZLocalEntitlement.ps1 | 2 +- Src/Private/Get-AbrHRZMachine.ps1 | 2 +- Src/Private/Get-AbrHRZRegisteredMachine.ps1 | 2 +- Src/Private/Get-AbrHRZRolePermission.ps1 | 2 +- Src/Private/Get-AbrHRZRolePrivilege.ps1 | 2 +- Src/Private/Get-AbrHRZSite.ps1 | 2 +- Src/Private/Get-AbrHRZUAG.ps1 | 2 +- Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 | 2 +- Src/Private/Get-AbrHRZVcenter.ps1 | 2 +- .../Invoke-ASBuiltReport.VMware.Horizon.ps1 | 2 +- 35 files changed, 99 insertions(+), 71 deletions(-) diff --git a/AsBuiltReport.VMware.Horizon.psd1 b/AsBuiltReport.VMware.Horizon.psd1 index 2703ad42b255d05ea77b7c1382fc7f12a080b414..1ec2fa87c5ccb7743c4697098fc57beda6ce3451 100644 GIT binary patch delta 14 Vcmews_$_e50wzY|%?p`A)c`d_1?B(% delta 14 Vcmews_$_e50wzYI%?p`A)c`d<1?2z$ diff --git a/CHANGELOG.md b/CHANGELOG.md index 69c4bc5..24b1484 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,22 @@ # :arrows_clockwise: VMware Horizon As Built Report Changelog -## [1.1.2] - 2024-02-0? +## [1.1.3] - 2024-02-10 + +### Fixed + +Resolved the Following issues: +Issue[#15](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/15) +Issue[#16](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/16) +Issue[#17](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/17) +Issue[#18](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/18) +Issue[#19](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/19) +Issue[#20](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/20) +Issue[#21](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/21) +Issue[#22](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/22) +Issue[#23](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/23) +Issue[#24](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/24) + +## [1.1.3] - 2024-02-02 ### Fixed diff --git a/Samples/Sample VMware Horizon As Built Report.html b/Samples/Sample VMware Horizon As Built Report.html index 81681ab..1ea34ad 100644 --- a/Samples/Sample VMware Horizon As Built Report.html +++ b/Samples/Sample VMware Horizon As Built Report.html @@ -64,7 +64,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -254,7 +254,7 @@
Namevcenter-01v.pharmax.local
Description--
3Inventory
3.1   Desktop Pools
3.1.1      Desktop Pools Details
3.1.1.2         Pool - Linux-Pharmax
3.1.1.3         Pool - Linux-Pharmax
3.2   Application Pool
3.2.1      Application Pool Details
3.2.1.1         Application Summary - 7-Zip File Manager
4Settings
4.1   Servers
4.1.1      vCenter Servers
4.1.1.2         vcenter-01v.pharmax.local
4.1.1.3         vcenter-01v.pharmax.local
4.1.2      Datastores
4.1.2.1         Datastores Detailed
4.1.3      ESXi Hosts
Linux-PharmaxAUTOMATEDInstant CloneFLOATING
Table 8 - Desktop Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.1.1 Desktop Pools Details

3.1.1.2 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

+

3.1.1 Desktop Pools Details

3.1.1.3 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

@@ -855,7 +855,7 @@
NameLinux-Pharmax
Display NameLinux
vcenter-01v.pharmax.local8.0.2226172218.0.2.0Yes
Table 39 - vCenter - HORIZON-CS-01V

-

4.1.1.2 vcenter-01v.pharmax.local

+

4.1.1.3 vcenter-01v.pharmax.local

diff --git a/Src/Private/Get-AbrHRZADDomain.ps1 b/Src/Private/Get-AbrHRZADDomain.ps1 index 2c6553d..98e2843 100644 --- a/Src/Private/Get-AbrHRZADDomain.ps1 +++ b/Src/Private/Get-AbrHRZADDomain.ps1 @@ -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.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZAccessGroup.ps1 b/Src/Private/Get-AbrHRZAccessGroup.ps1 index 218e8be..0b709ab 100644 --- a/Src/Private/Get-AbrHRZAccessGroup.ps1 +++ b/Src/Private/Get-AbrHRZAccessGroup.ps1 @@ -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.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZAdminGroup.ps1 b/Src/Private/Get-AbrHRZAdminGroup.ps1 index 123cea6..65120f5 100644 --- a/Src/Private/Get-AbrHRZAdminGroup.ps1 +++ b/Src/Private/Get-AbrHRZAdminGroup.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZAdminGroup { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZApplicationPool.ps1 b/Src/Private/Get-AbrHRZApplicationPool.ps1 index cfd1767..76330ad 100644 --- a/Src/Private/Get-AbrHRZApplicationPool.ps1 +++ b/Src/Private/Get-AbrHRZApplicationPool.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZApplicationPool { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZCertMgmt.ps1 b/Src/Private/Get-AbrHRZCertMgmt.ps1 index ef694ca..e4e21dc 100644 --- a/Src/Private/Get-AbrHRZCertMgmt.ps1 +++ b/Src/Private/Get-AbrHRZCertMgmt.ps1 @@ -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.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZCloudPod.ps1 b/Src/Private/Get-AbrHRZCloudPod.ps1 index acd07ac..a966b7a 100644 --- a/Src/Private/Get-AbrHRZCloudPod.ps1 +++ b/Src/Private/Get-AbrHRZCloudPod.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZCloudPod { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZConnectionServer.ps1 b/Src/Private/Get-AbrHRZConnectionServer.ps1 index 8d99f5d..9959e83 100644 --- a/Src/Private/Get-AbrHRZConnectionServer.ps1 +++ b/Src/Private/Get-AbrHRZConnectionServer.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZConnectionServer { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -299,12 +299,18 @@ function Get-AbrHRZConnectionServer { try { Write-PScriboMessage "Working on Replication Information for $($connectionserver.General.Name)." - foreach($CSHealth in ($ConnectionServersHealth | Where-Object {$_.Name -EQ $connectionserver.General.Name})){ + If($CSHealth.Message){ + $CSHealthMessage = $CSHealth.Message + }else { + $CSHealthMessage = "No Replication Issues" + } + + foreach($CSHealth in ($ConnectionServersHealth | Where-Object {$_.Name -EQ $connectionserver.General.Name})){ $inObj = [ordered] @{ 'Connection Server' = $CSHealth.Name 'Replication Partner' = $($CSHealth.ReplicationStatus | ForEach-Object { $_.ServerName }) -join ',' 'Status' = $($CSHealth.ReplicationStatus | ForEach-Object { $_.Status }) -join ',' - 'Message' = $Message + 'Message' = $CSHealthMessage } $OutObj = [pscustomobject](ConvertTo-HashToYN $inObj) } diff --git a/Src/Private/Get-AbrHRZDatastore.ps1 b/Src/Private/Get-AbrHRZDatastore.ps1 index 23766c4..602ac0b 100644 --- a/Src/Private/Get-AbrHRZDatastore.ps1 +++ b/Src/Private/Get-AbrHRZDatastore.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDatastore { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZDesktopPool.ps1 b/Src/Private/Get-AbrHRZDesktopPool.ps1 index 6bcfcc7..7e11bc5 100644 --- a/Src/Private/Get-AbrHRZDesktopPool.ps1 +++ b/Src/Private/Get-AbrHRZDesktopPool.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDesktopPool { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -626,16 +626,18 @@ function Get-AbrHRZDesktopPool { Section -ExcludeFromTOC -Style NOTOCHeading6 "Pool Machine Summary - $($Pool.Base.name)" { $OutObj = @() foreach ($Machine in $Machines) { - If ($Machine.Base.DesktopName -like $Pool.base.Name) { - $inObj = [ordered] @{ - 'Machine Name' = $Machine.Base.Name - 'Agent Version' = $Machine.Base.AgentVersion - 'User' = $Machine.Base.User - 'Host' = $Machine.ManagedMachineData.VirtualCenterData.Hostname - 'Data Store' = $Machine.ManagedMachineData.VirtualCenterData.VirtualDisks.DatastorePath - 'Basic State' = $Machine.Base.BasicState + if($Machine.Base.Name) { + If ($Machine.Base.DesktopName -like $Pool.base.Name) { + $inObj = [ordered] @{ + 'Machine Name' = $Machine.Base.Name + 'Agent Version' = $Machine.Base.AgentVersion + 'User' = $Machine.Base.User + 'Host' = $Machine.ManagedMachineData.VirtualCenterData.Hostname + 'Data Store' = $Machine.ManagedMachineData.VirtualCenterData.VirtualDisks.DatastorePath + 'Basic State' = $Machine.Base.BasicState + } + $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) } - $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) } } $TableParams = @{ @@ -658,30 +660,34 @@ function Get-AbrHRZDesktopPool { Write-PScriboMessage -IsWarning $_.Exception.Message } try { - $OutObj = @() - Section -ExcludeFromTOC -Style NOTOCHeading6 "Desktop Pools Entitlements - $($Pool.Base.Name)" { - try { - Write-PScriboMessage "Discovered Desktop Pool Entitlements Information for - $($Pool.Base.Name)." - foreach ($Principal in ($EntitledUserOrGrouplocalMachines | Where-Object { $_.localData.Desktops.id -eq $Pool.Id.id })) { - Write-PScriboMessage "Discovered Desktop Pool Entitlements Name for - $($Principal.Base.LoginName)." - $inObj = [ordered] @{ - 'Name' = $Principal.Base.LoginName - 'Domain' = $Principal.Base.Domain - 'Is Group?' = $Principal.Base.Group + if($EntitledUserOrGrouplocalMachines | Where-Object { $_.localData.Desktops.id -eq $Pool.Id.id }){ + Section -ExcludeFromTOC -Style NOTOCHeading6 "Desktop Pools Entitlements - $($Pool.Base.Name)" { + try { + $OutObj = @() + Write-PScriboMessage "Discovered Desktop Pool Entitlements Information for - $($Pool.Base.Name)." + foreach ($Principal in ($EntitledUserOrGrouplocalMachines | Where-Object { $_.localData.Desktops.id -eq $Pool.Id.id })) { + if($Principal.Base.LoginName){ + Write-PScriboMessage "Discovered Desktop Pool Entitlements Name for - $($Principal.Base.LoginName)." + $inObj = [ordered] @{ + 'Name' = $Principal.Base.LoginName + 'Domain' = $Principal.Base.Domain + 'Is Group?' = $Principal.Base.Group + } + $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) + } } - $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) - } - $TableParams += @{ - Name = "Desktop Pools Entitlements - $($Pool.Base.Name)" - List = $false - ColumnWidths = 34, 33, 33 - } - if ($Report.ShowTableCaptions) { - $TableParams['Caption'] = "- $($TableParams.Name)" + $TableParams += @{ + Name = "Desktop Pools Entitlements - $($Pool.Base.Name)" + List = $false + ColumnWidths = 34, 33, 33 + } + if ($Report.ShowTableCaptions) { + $TableParams['Caption'] = "- $($TableParams.Name)" + } + $OutObj | Sort-Object -Property 'Name' | Table @TableParams + } catch { + Write-PScriboMessage -IsWarning $_.Exception.Message } - $OutObj | Sort-Object -Property 'Name' | Table @TableParams - } catch { - Write-PScriboMessage -IsWarning $_.Exception.Message } } } catch { diff --git a/Src/Private/Get-AbrHRZDomain.ps1 b/Src/Private/Get-AbrHRZDomain.ps1 index 25d4068..7691581 100644 --- a/Src/Private/Get-AbrHRZDomain.ps1 +++ b/Src/Private/Get-AbrHRZDomain.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZDomain { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZESXi.ps1 b/Src/Private/Get-AbrHRZESXi.ps1 index 9fdd479..a7a5a5a 100644 --- a/Src/Private/Get-AbrHRZESXi.ps1 +++ b/Src/Private/Get-AbrHRZESXi.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZESXi { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZEventConf.ps1 b/Src/Private/Get-AbrHRZEventConf.ps1 index 61840cd..c89837d 100644 --- a/Src/Private/Get-AbrHRZEventConf.ps1 +++ b/Src/Private/Get-AbrHRZEventConf.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZEventConf { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZFarm.ps1 b/Src/Private/Get-AbrHRZFarm.ps1 index 516a8be..10737a7 100644 --- a/Src/Private/Get-AbrHRZFarm.ps1 +++ b/Src/Private/Get-AbrHRZFarm.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZFarm { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZFederationAccessGroup.ps1 b/Src/Private/Get-AbrHRZFederationAccessGroup.ps1 index 10e1304..934fc64 100644 --- a/Src/Private/Get-AbrHRZFederationAccessGroup.ps1 +++ b/Src/Private/Get-AbrHRZFederationAccessGroup.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZFederationAccessGroup { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZGatewayCert.ps1 b/Src/Private/Get-AbrHRZGatewayCert.ps1 index 0178826..ea44595 100644 --- a/Src/Private/Get-AbrHRZGatewayCert.ps1 +++ b/Src/Private/Get-AbrHRZGatewayCert.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGatewayCert { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 b/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 index dec05aa..0248986 100644 --- a/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 +++ b/Src/Private/Get-AbrHRZGlobalEntitlement.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalEntitlement { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr @@ -115,7 +115,7 @@ function Get-AbrHRZGlobalEntitlement { 'Category Folder Name' = $GlobalEntitlement.base.CategoryFolderName 'Client Restrictions' = $GlobalEntitlement.base.ClientRestrictions 'Enable Collaboration' = $GlobalEntitlement.base.EnableCollaboration - 'Shortcut Locations' = $GlobalEntitlement.base.ShortcutLocations + 'Shortcut Locations' = $($GlobalEntitlement.base.ShortcutLocations -join ', ') 'Multisession Mode' = $GlobalEntitlement.base.MultiSessionMode 'Backup GAE' = $GlobalEntitlement.base.BackupGAE 'Display Assigned Machine Name' = $GlobalEntitlement.base.DisplayAssignedMachineName diff --git a/Src/Private/Get-AbrHRZGlobalPolicy.ps1 b/Src/Private/Get-AbrHRZGlobalPolicy.ps1 index f00d4eb..9691e2b 100644 --- a/Src/Private/Get-AbrHRZGlobalPolicy.ps1 +++ b/Src/Private/Get-AbrHRZGlobalPolicy.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalpolicy { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZGlobalSetting.ps1 b/Src/Private/Get-AbrHRZGlobalSetting.ps1 index 72bcc41..25dc7b3 100644 --- a/Src/Private/Get-AbrHRZGlobalSetting.ps1 +++ b/Src/Private/Get-AbrHRZGlobalSetting.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZGlobalSetting { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZHomeSite.ps1 b/Src/Private/Get-AbrHRZHomeSite.ps1 index c0cd1c7..40e9ab7 100644 --- a/Src/Private/Get-AbrHRZHomeSite.ps1 +++ b/Src/Private/Get-AbrHRZHomeSite.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZHomeSite { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZInfrastructure.ps1 b/Src/Private/Get-AbrHRZInfrastructure.ps1 index 66990d0..99f3b48 100644 --- a/Src/Private/Get-AbrHRZInfrastructure.ps1 +++ b/Src/Private/Get-AbrHRZInfrastructure.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZInfrastructure { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr, Chris Hildebrandt diff --git a/Src/Private/Get-AbrHRZInstantClone.ps1 b/Src/Private/Get-AbrHRZInstantClone.ps1 index b5da57f..9e37afe 100644 --- a/Src/Private/Get-AbrHRZInstantClone.ps1 +++ b/Src/Private/Get-AbrHRZInstantClone.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZInstantClone { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZLicense.ps1 b/Src/Private/Get-AbrHRZLicense.ps1 index 74783a4..56bb7b7 100644 --- a/Src/Private/Get-AbrHRZLicense.ps1 +++ b/Src/Private/Get-AbrHRZLicense.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZLicense { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZLocalEntitlement.ps1 b/Src/Private/Get-AbrHRZLocalEntitlement.ps1 index 5b222df..32b1a96 100644 --- a/Src/Private/Get-AbrHRZLocalEntitlement.ps1 +++ b/Src/Private/Get-AbrHRZLocalEntitlement.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZLocalEntitlement { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZMachine.ps1 b/Src/Private/Get-AbrHRZMachine.ps1 index 5d9c79a..1caa946 100644 --- a/Src/Private/Get-AbrHRZMachine.ps1 +++ b/Src/Private/Get-AbrHRZMachine.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZMachine { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZRegisteredMachine.ps1 b/Src/Private/Get-AbrHRZRegisteredMachine.ps1 index 5131e71..b214532 100644 --- a/Src/Private/Get-AbrHRZRegisteredMachine.ps1 +++ b/Src/Private/Get-AbrHRZRegisteredMachine.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZRegisteredMachine { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZRolePermission.ps1 b/Src/Private/Get-AbrHRZRolePermission.ps1 index 3f2c3fa..d65c093 100644 --- a/Src/Private/Get-AbrHRZRolePermission.ps1 +++ b/Src/Private/Get-AbrHRZRolePermission.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZRolePermission { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZRolePrivilege.ps1 b/Src/Private/Get-AbrHRZRolePrivilege.ps1 index 679dbd6..c9f85bb 100644 --- a/Src/Private/Get-AbrHRZRolePrivilege.ps1 +++ b/Src/Private/Get-AbrHRZRolePrivilege.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZRolePrivilege { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZSite.ps1 b/Src/Private/Get-AbrHRZSite.ps1 index 34c45a5..fce5ab9 100644 --- a/Src/Private/Get-AbrHRZSite.ps1 +++ b/Src/Private/Get-AbrHRZSite.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZSite { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZUAG.ps1 b/Src/Private/Get-AbrHRZUAG.ps1 index b6f0b70..675acfe 100644 --- a/Src/Private/Get-AbrHRZUAG.ps1 +++ b/Src/Private/Get-AbrHRZUAG.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZUAG { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 b/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 index ea0c521..2475771 100644 --- a/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 +++ b/Src/Private/Get-AbrHRZUnauthenticatedACL.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZUnauthenticatedACL { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Private/Get-AbrHRZVcenter.ps1 b/Src/Private/Get-AbrHRZVcenter.ps1 index d136254..425faf9 100644 --- a/Src/Private/Get-AbrHRZVcenter.ps1 +++ b/Src/Private/Get-AbrHRZVcenter.ps1 @@ -5,7 +5,7 @@ function Get-AbrHRZVcenter { .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr diff --git a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 index f9cb824..86a204a 100644 --- a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 +++ b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 @@ -5,7 +5,7 @@ .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES - Version: 1.1.2 + Version: 1.1.3 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr From b49b33c8ab07078faf01f4a287e617781c788fdf Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 14 Feb 2024 08:59:05 -0400 Subject: [PATCH 14/25] Update CHANGELOG.md --- CHANGELOG.md | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24b1484..6752054 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,27 @@ # :arrows_clockwise: VMware Horizon As Built Report Changelog +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.3] - 2024-02-10 ### Fixed -Resolved the Following issues: -Issue[#15](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/15) -Issue[#16](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/16) -Issue[#17](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/17) -Issue[#18](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/18) -Issue[#19](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/19) -Issue[#20](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/20) -Issue[#21](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/21) -Issue[#22](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/22) -Issue[#23](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/23) -Issue[#24](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/24) - -## [1.1.3] - 2024-02-02 +- Resolved the Following issues: +Issue [#15](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/15) +Issue [#16](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/16) +Issue [#17](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/17) +Issue [#18](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/18) +Issue [#19](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/19) +Issue [#20](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/20) +Issue [#21](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/21) +Issue [#22](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/22) +Issue [#23](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/23) +Issue [#24](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/24) + +## [1.1.2] - 2024-02-02 ### Fixed From d1fed6fc157d62964c4351635129c7c9a7314705 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 14 Feb 2024 09:02:31 -0400 Subject: [PATCH 15/25] Update CHANGELOG.md --- CHANGELOG.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6752054..9ec25d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,16 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Resolved the Following issues: -Issue [#15](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/15) -Issue [#16](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/16) -Issue [#17](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/17) -Issue [#18](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/18) -Issue [#19](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/19) -Issue [#20](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/20) -Issue [#21](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/21) -Issue [#22](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/22) -Issue [#23](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/23) -Issue [#24](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/24) + - [#15](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/15), [#16](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/16), [#17](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/17), [#18](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/18), [#19](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/19), [#20](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/20), [#21](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/21), [#22](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/22), [#23](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/23), [#24](https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues/24) ## [1.1.2] - 2024-02-02 From 9b9e199ead78d58e87ad92e04f6c41eafbed80f3 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 14 Feb 2024 09:07:44 -0400 Subject: [PATCH 16/25] Update Get-RequiredModule.ps1 --- Src/Private/Get-RequiredModule.ps1 | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Src/Private/Get-RequiredModule.ps1 b/Src/Private/Get-RequiredModule.ps1 index 22299e9..9e814a5 100644 --- a/Src/Private/Get-RequiredModule.ps1 +++ b/Src/Private/Get-RequiredModule.ps1 @@ -21,14 +21,16 @@ function Get-RequiredModule { [ValidateNotNullOrEmpty()] [String] $Version ) - - # Check if the required version of VMware PowerCLI is installed - $RequiredModule = Get-Module -ListAvailable -Name $Name | Sort-Object -Property Version -Descending | Select-Object -First 1 - $ModuleVersion = "$($RequiredModule.Version.Major)" + "." + "$($RequiredModule.Version.Minor)" - if ($ModuleVersion -eq ".") { - throw "VMware PowerCLI $Version or higher is required to run the VMware Horizon As Built Report. Run 'Install-Module -Name $Name -MinimumVersion $Version' to install the required modules." - } - if ($ModuleVersion -lt $Version) { - throw "VMware PowerCLI $Version or higher is required to run the VMware Horizon As Built Report. Run 'Update-Module -Name $Name -MinimumVersion $Version' to update the required modules." + process { + # Check if the required version of VMware PowerCLI is installed + $RequiredModule = Get-Module -ListAvailable -Name $Name | Sort-Object -Property Version -Descending | Select-Object -First 1 + $ModuleVersion = "$($RequiredModule.Version.Major)" + "." + "$($RequiredModule.Version.Minor)" + if ($ModuleVersion -eq ".") { + throw "VMware PowerCLI $Version or higher is required to run the VMware Horizon As Built Report. Run 'Install-Module -Name $Name -MinimumVersion $Version' to install the required modules." + } + if ($ModuleVersion -lt $Version) { + throw "VMware PowerCLI $Version or higher is required to run the VMware Horizon As Built Report. Run 'Update-Module -Name $Name -MinimumVersion $Version' to update the required modules." + } } -} \ No newline at end of file + end {} +} From b28cf959087ef09aab4e6b448df6ba233914e49b Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 14 Feb 2024 09:55:49 -0400 Subject: [PATCH 17/25] Increase VMware.PowerCli module v13.2 --- Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 index 86a204a..082a1cc 100644 --- a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 +++ b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 @@ -29,7 +29,7 @@ Write-PScriboMessage -IsWarning "Issues or bug reporting: https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues" # Check if the required version of VMware PowerCLI is installed - Get-RequiredModule -Name 'VMware.PowerCLI' -Version '12.7' + Get-RequiredModule -Name 'VMware.PowerCLI' -Version '13.2' # Import Report Configuration $Report = $ReportConfig.Report From e8bc1e4074a0928dadfb17083b08fcb502f4ec23 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 14 Feb 2024 09:58:51 -0400 Subject: [PATCH 18/25] Update Sample Reports --- ...Sample VMware Horizon As Built Report.html | 3398 +++++++++-------- Samples/VMware Horizon As Built Report.pdf | Bin 1203284 -> 1215438 bytes 2 files changed, 1708 insertions(+), 1690 deletions(-) diff --git a/Samples/Sample VMware Horizon As Built Report.html b/Samples/Sample VMware Horizon As Built Report.html index 1ea34ad..c6d2a80 100644 --- a/Samples/Sample VMware Horizon As Built Report.html +++ b/Samples/Sample VMware Horizon As Built Report.html @@ -1,1690 +1,1708 @@ - - -VMware Horizon As Built Report - -
- -











VMware Horizon As Built Report


Zen Pr Solutions
































Namevcenter-01v.pharmax.local
Description--
- - - -
Author:Jonathan Colon
Date:Tuesday, December 19, 2023
Version:1.1
-
-
-
VMware Horizon As Built Report - v1.1

Table of Contents

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1HORIZON-CS-01V.PHARMAX.LOCAL
1.1   Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL
2Users and Groups
2.1   Local Entitlements
2.1.1      Local Entitlements Details
2.2   Home Site
2.3   Unauthenticated Access
3Inventory
3.1   Desktop Pools
3.1.1      Desktop Pools Details
3.1.1.3         Pool - Linux-Pharmax
3.2   Application Pool
3.2.1      Application Pool Details
3.2.1.1         Application Summary - 7-Zip File Manager
3.2.1.2         Application Summary - 7-Zip Help
3.2.1.3         Application Summary - Calculator
3.2.1.4         Application Summary - Google Chrome
3.2.1.5         Application Summary - Google Chrome
3.2.1.6         Application Summary - Notepad
3.2.1.7         Application Summary - Paint
3.3   Farm Pools
3.3.1      Farm Pools Details
3.3.1.1         APP-Farm
3.4   Machines
3.4.1      vCenter Machine Summary
3.5   Global Entitlements
3.5.1      Global Entitlement Summary Details
3.5.1.1         Summary - Group-Ent
3.5.1.2         Local Pools - Group-Ent
3.5.1.3         Users and Groups - Group-Ent
3.5.1.4         Summary - GEZ-Linux
3.5.1.5         Local Pools - GEZ-Linux
3.5.1.6         Users and Groups - GEZ-Linux
3.5.1.7         Summary - APPVol-FARM
3.5.1.8         Local Pools - APPVol-FARM
3.5.1.9         Users and Groups - APPVol-FARM
4Settings
4.1   Servers
4.1.1      vCenter Servers
4.1.1.3         vcenter-01v.pharmax.local
4.1.2      Datastores
4.1.2.1         Datastores Detailed
4.1.3      ESXi Hosts
4.1.3.1         RegionA01-COMP Cluster
4.1.3.2         RegionHQ-MGMT Cluster
4.1.4      Gateway Servers
4.1.5      Connection Servers
4.1.5.1         General HORIZON-CS-01V Details
4.1.5.2         Authentication HORIZON-CS-01V Details
4.1.5.3         Backup HORIZON-CS-01V Details
4.1.5.4         Certificate Details for HORIZON-CS-01V Details
4.1.5.5         Replication Status for Connection Server HORIZON-CS-01V
4.1.5.6         General HORIZON-CS-02V Details
4.1.5.7         Authentication HORIZON-CS-02V Details
4.1.5.8         Backup HORIZON-CS-02V Details
4.1.5.9         Certificate Details for HORIZON-CS-02V Details
4.1.5.10         Replication Status for Connection Server HORIZON-CS-02V
4.2   Domains
4.2.1      Domain Accounts
4.2.2      Connection Server
4.3   Certificate Management
4.4   Product Licensing and Usage
4.4.1      Licensing
4.4.2      Usage
4.4.3      Customer Experience Program
4.5   Global Settings
4.5.1      General Settings
4.5.2      Security Settings
4.5.3      Client Restriction Settings
4.6   Registered Machines
4.6.1      RDS Hosts
4.6.1.1         RDS Hosts Details
4.7   Administrators
4.7.1      Administrators and Groups
4.7.1.1         Administrators Users and Groups Details for 4256122656SA
4.7.2      Role Privileges
4.7.3      Role Privileges Details
4.7.4      Role Permissions
4.7.5      Access Groups
4.7.5.1         Access Groups Details
4.7.6      Federation Access Groups
4.8   Cloud Pod Architecture
4.9   Site
4.10   Event Configuration
4.10.1      Event Database
4.10.2      Syslog Configuration
4.10.3      Events to File System
4.11   Global Policies
-

-
VMware Horizon As Built Report - v1.1

1 HORIZON-CS-01V.PHARMAX.LOCAL

1.1 Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL

- - - - - - - - - - - - - - - -
Number of Local Entitlements3
Number of Global Entitlements2
Number of Desktop Pools1
Number of Application Pool7
Number of Farms Pools1
Number of vCenter Servers1
Number of ESXi Hosts3
Number of Datastores9
Number of Active Directory Domains4
Number of UAG Servers1
Number of Connection Servers2
Number of Instant Clone Accounts2
Number of RDS Hosts2
Number of Administrators and Groups8
-
Table 1 - Executive Summary - HORIZON-CS-01V.PHARMAX.LOCAL

-

2 Users and Groups

The following section provides information about the permissions that control which remote desktops and applications your users can access.

2.1 Local Entitlements

The following section provide a summary of local user & groups entitlements.

- - - - -
User Principal NameGroup or UserDesktop EntitlementsApplication Entitlements
AD - SRM Admin GroupGroup04
AD - SRM Recovery GroupGroup04
jocolon@pharmax.localUser13
-
Table 2 - Local Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

-

2.1.1 Local Entitlements Details

The following section detail per user or group local entitlements.

Local Entitlement Details - Jonathan A. Colon Feliciano

- - - - - - - - - - - - - - - - - - - - -
NameJonathan A. Colon Feliciano
Group or UserUser
Domainpharmax.local
Ad Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Emailjocolon@pharmax.local
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Namejocolon@pharmax.local
Local MachinesN/A
Local User Persistent Disks--
Local DesktopsLinux-Pharmax
User ApplicationsCalculator, Notepad, Paint
-
Table 3 - Local Entitlements Details - Jonathan A. Colon Feliciano

-

Local Entitlement Details - AD - SRM Admin Group

- - - - - - - - - - - - - - - - - - - - -
NameAD - SRM Admin Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
-
Table 4 - Local Entitlements Details - AD - SRM Admin Group

-

Local Entitlement Details - AD - SRM Recovery Group

- - - - - - - - - - - - - - - - - - - - -
NameAD - SRM Recovery Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Recovery Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Recovery Group
Display Namepharmax.local\AD - SRM Recovery Group
Long Display NameAD - SRM Recovery Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
-
Table 5 - Local Entitlements Details - AD - SRM Recovery Group

-

2.2 Home Site

The following section provide a summary of user and group home site configuration.

- - -
User or Group NameDomainGroupEmailHome SiteGlobal EntitlementGlobal Application Entitlement
dbuserpharmax.localNo--PHARMAX-HQ----
-
Table 6 - Home Site General - HORIZON-CS-01V.PHARMAX.LOCAL

-

2.3 Unauthenticated Access

The following section provide a summary of user and group unauthenticated access configuration.

- - - -
Login NameUser IDDescriptionHybrid LogonPod Name
2254824036SApharmax.local\2254824036SA----Cluster-HORIZON-CS-01V
447284480SApharmax.local\447284480SA----Cluster-HORIZON-CS-01V
-
Table 7 - Unauthenticated Access - HORIZON-CS-01V.PHARMAX.LOCAL

-

3 Inventory

The following section provides detailed information about desktop, application, farm pools and global entitlement permissions that control which remote desktops and applications your users can access.

3.1 Desktop Pools

The following section details the Desktop Pools configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - -
NameTypeProvisioning TypeUser Assignment
Linux-PharmaxAUTOMATEDInstant CloneFLOATING
-
Table 8 - Desktop Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.1.1 Desktop Pools Details

3.1.1.3 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

- - - - - - - - - - - -
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
-
Table 9 - General - Linux-Pharmax

-

Detailed Settings - Linux-Pharmax

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
Max Number of Machines1
Min number of Machines--
Number of Spare Machines1
Connection Server Restrictions--
Stop Provisioning on ErrorYes
Add Virtual TPM--
Minimum Number of Machines Ready--
Naming MethodPATTERN
Naming Patternhz-vm-{n:fixed=3}v
Power PolicyALWAYS_POWERED_ON
Provisioning TimeUP_FRONT
Automatic Logoff PolicyAFTER
Automatic Logoff Minutes30
Allow Users to Reset MachinesYes
Allow Multiple Sessions Per UserYes
Delete or Refresh Machine After LogoffDELETE
Refresh OS Disk After LogoffNEVER
Refresh Period Days for Replica OS Disk--
Refresh Threshold Percentage For Replica OS Disk--
Empty Session Timeout Policy--
Empty Session Timeout Minutes--
Log off After Timeout--
Prelaunch Session Timeout Policy--
Prelaunch Session Timeout Minutes--
Session Timeout Policy--
Category Folder Name--
Client RestrictionsNo
Shortcut Locations--
Allow Users to use Multiple Sessions Per UserYes
Supported Session Types--
Cloud ManagedNo
Cloud AssignedNo
Display Assigned Machine NameNo
Display Machine AliasNo
Supported Display ProtocolsBLAST, PCOIP, RDP
Default Display ProtocolBLAST
Allow Users to Choose ProtocolNo
Enable HTML AccessYes
Enable CollaborationNo
Renderer 3DMANAGE_BY_VSPHERE_CLIENT
Enable GRID vGPUsNo
vGPU Grid Profile--
vRam Size MB--
Max Number of Monitors--
Max Resolution of Any One Monitor--
-
Table 10 - Pool Settings - Linux-Pharmax

-

vCenter Server Settings - Linux-Pharmax

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Virtual Centervcenter-01v.pharmax.local
Parent VMhz-tpl-ubuntu
Parent VM Path/PHARMAX-VSI-DC/vm/Horizon Lab/hz-tpl-ubuntu
Current Number of MachinesLinux-Pharmax
Parent Operating SystemLinux (Ubuntu)
Parent Operating System Architecture64_bit
SnapshotHorizon IC SnapShot
Snapshot Path/Horizon IC SnapShot
DatacenterPHARMAX-VSI-DC
Datacenter Path/PHARMAX-VSI-DC
VM FolderLinux-Pharmax
VM Folder Path/PHARMAX-VSI-DC/vm/Horizon Lab/Linux-Pharmax
Host or ClusterRegionHQ-MGMT
Host or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource PoolHorizon Lab
Resource Pool Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
DatastoresSSD-VM-HIGH-CAPACITY-PERF-MK
SSD-VM-HIGH-CAPACITY-PERF-KN
Datastores Storage Over-CommitUNBOUNDED, UNBOUNDED
Use VSANNo
Storage Cluster Path--
View Storage AcceleratorYes
Transparent Page Sharing ScopeVM
Replica Disk Datastore Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/SSD-VM-HIGH-CAPACITY-PERF-MK
NetworksGolden Image network selected
Network Card--
Network Label Enabled--
Network Nic Name--
Network Label Names--
Network Max Label Type--
Network Max Label--
Customization TypeCLONE_PREP
Customization Spec Name--
Power off Script Name--
Power off Script Parameters--
Post Synchronization Script Name--
Post Synchronization Script Parameters--
Priming Computer Account--
Guest Customization Accounthorizon-ic
No Customization Settings--
Sysprep Customization Settings--
Quick Prep Customization Settings--
Ad ContainerOU=Sales,OU=VDI-Computers
Reuse Pre-Existing AccountsNo
Image Management Stream--
Image Management Tag--
Compute Profile--
-
Table 11 - vCenter Server Settings - Linux-Pharmax

-

Pool Machine Summary - Linux-Pharmax

- - -
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
-
Table 12 - Pool Machine Summary - Linux-Pharmax

-

Desktop Pools Entitlements - Linux-Pharmax

- - -
NameDomainIs Group?
jocolonpharmax.localNo
-
Table 13 - Desktop Pools Entitlements - Linux-Pharmax

-

3.2 Application Pool

The following section details the configuration of Application Pool for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - -
NameVersionEnabled
7-Zip File Manager--Yes
7-Zip Help--Yes
Calculator10.0.20348.1Yes
Google Chrome--Yes
Google Chrome--Yes
Notepad10.0.20348.1Yes
Paint10.0.20348.1Yes
-
Table 14 - Applications - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.2.1 Application Pool Details

3.2.1.1 Application Summary - 7-Zip File Manager

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display Name7-Zip File Manager
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 15 - Application Summary - 7-Zip File Manager

-

3.2.1.2 Application Summary - 7-Zip Help

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display Name7-Zip Help
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip Help.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 16 - Application Summary - 7-Zip Help

-

3.2.1.3 Application Summary - Calculator

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameCalculator
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Calculator.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 17 - Application Summary - Calculator

-

3.2.1.4 Application Summary - Google Chrome

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 18 - Application Summary - Google Chrome

-

3.2.1.5 Application Summary - Google Chrome

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\Users\Public\Desktop\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 19 - Application Summary - Google Chrome

-

3.2.1.6 Application Summary - Notepad

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameNotepad
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.log, .ps1, .psd1, .compositefont, .inf, .psm1, .ini, .txt, .scp, .htm, .sct, .wsc, .wtx
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 20 - Application Summary - Notepad

-

3.2.1.7 Application Summary - Paint

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NamePaint
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.tiff, .heif, .emf, .jfif, .ico, .wmf, .tif, .rle, .gif, .bmp, .webp, .png, .jpeg, .avci, .hif, .jpg, .avif, .jpe, .heic, .dib
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 21 - Application Summary - Paint

-

3.3 Farm Pools

The following section details the Farms configuration for H server.

- - -
NameTypeEnabled
APP-FarmAUTOMATEDYes
-
Table 22 - Farms - H

-

3.3.1 Farm Pools Details

3.3.1.1 APP-Farm

General

- - - - - - - - - - - - - - - - -
Pool NameAPP-Farm
Display NameAPP-Farm
Description--
Access GroupRoot
TypeAUTOMATED
SourceINSTANT_CLONE_ENGINE
EnabledYes
DeletingNo
Desktop--
App Volumes Server7e133e0a-b37c-401c-973d-f8919059323b
Default Display ProtocolBLAST
Allow Users to Choose ProtocolYes
HTML AccessYes
Enable Grid GPUs--
vGPU Profile--
-
Table 23 - General Information - APP-Farm

-

Load Balancing Settings

- - - - - - - - -
Use Custom ScriptNo
Include Session CountYes
CPU Usage Threshold0
Memory Usage Threshold0
Disk Queue Length Threshold0
Disk Read Latency Threshold0
Disk Write Latency Threshold0
-
Table 24 - Load Balancing Settings - APP-Farm

-

Provisioning Settings

- - - - - - - - -
Provisioning EnabledYes
Stop Provisioning on ErrorYes
Disconnected Session Timeout Minutes--
Disconnected Session Timeout PolicyNEVER
Empty Session Timeout Minutes1
Empty Session Timeout PolicyAFTER
Log off After TimeoutNo
-
Table 25 - Provisioning Settings - APP-Farm

-

vCenter Server Settings

- - - - - - - - -
VM folder/PHARMAX-VSI-DC/vm/Horizon Lab/APP-Farm
Host Or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource Pool/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
Golden Image/PHARMAX-VSI-DC/vm/Horizon Lab/Horizon-RDS-02T
Snapshot/FARM
Datastore PathsSSD-VM-HIGH-CAPACITY-PERF-KN
NetworksGolden Image network selected
-
Table 26 - vCenter Settings - APP-Farm

-

Guest Customization

- - - - - - - - - - - -
Guest CustomizationCLONE_PREP
Guest Customization Domain and Accounthorizon-ic
Allow Reuse of Existing Computer AccountsNo
AD ContainerOU=Finances,OU=VDI-Computers
Farm Customization Specification--
Power Off Script Name--
Power Off Script Parameters--
Post Sync Script Name--
Post Sync Script Parameters--
Priming Computer Account--
-
Table 27 - Guest Customization - APP-Farm

-

3.4 Machines

The following section details on all of the machine information for HORIZON-CS-01V.PHARMAX.LOCAL.

3.4.1 vCenter Machine Summary

- - -
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
-
Table 28 - vCenter Machine Summary - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5 Global Entitlements

The following section details the Global Entitlements configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - -
NameTypeNumber of Pods
APPVol-FARM--0
GEZ-Linux--0
Group-Ent--0
-
Table 29 - Global Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1 Global Entitlement Summary Details

3.5.1.1 Summary - Group-Ent

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGroup-Ent
Alias NameGroup Entitlement
Description--
ScopeSITE
From Home SiteYes
Require Home SiteYes
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolBLAST
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesYes
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsYes
Enable CollaborationYes
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
-
Table 30 - Detailed Information - Group-Ent

-

3.5.1.2 Local Pools - Group-Ent

- - - - - - - - - -
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count0
User or Group Count2
User or Group Site Override Count0
Member Pods--
-
Table 31 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1.3 Users and Groups - Group-Ent

- - - -
NameUser or GroupDomain
SCCM_AdminsGrouppharmax.local
AD - SRM Admin GroupGrouppharmax.local
-
Table 32 - Users and Groups - Group-Ent

-

3.5.1.4 Summary - GEZ-Linux

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGEZ-Linux
Alias NameGEZ Linux
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesNo
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsNo
Enable CollaborationNo
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
-
Table 33 - Detailed Information - GEZ-Linux

-

3.5.1.5 Local Pools - GEZ-Linux

- - - - - - - - - -
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count1
User or Group Count2
User or Group Site Override Count0
Member Pods--
-
Table 34 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1.6 Users and Groups - GEZ-Linux

- - - -
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AD - SRM Recovery GroupGrouppharmax.local
-
Table 35 - Users and Groups - GEZ-Linux

-

3.5.1.7 Summary - APPVol-FARM

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameAPPVol-FARM
Alias NameAPPVol-FARM
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset Machines--
Enable HTML AccessYes
Allow Multiple Sessions Per User--
Enable Pre-LaunchNo
Connection Server Restrictions--
Enable PrelaunchNo
Category Folder Name--
Client RestrictionsNo
Enable Collaboration--
Shortcut Locations--
Multisession ModeENABLED_DEFAULT_OFF
Backup GAE--
Display Assigned Machine Name--
Display Machine Alias--
Global Access Group IDRoot
-
Table 36 - Detailed Information - APPVol-FARM

-

3.5.1.8 Local Pools - APPVol-FARM

- - - - - - - - - -
Local Desktop Count--
Local Application Count0
Remote Desktop Count--
Remote Application Count0
User Count1
User or Group Count3
User or Group Site Override Count0
Member Pods--
-
Table 37 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1.9 Users and Groups - APPVol-FARM

- - - - -
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AdministratorsGrouppharmax.local
Backup OperatorsGrouppharmax.local
-
Table 38 - Users and Groups - APPVol-FARM

-

4 Settings

The following section provides detailed information about the configuration of the components that comprise the Horizon Server infrastructure.

4.1 Servers

4.1.1 vCenter Servers

The following section details the vCenter Servers configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - -
NameVersionBuild NumberAPI VersionProvisioning Enabled
vcenter-01v.pharmax.local8.0.2226172218.0.2.0Yes
-
Table 39 - vCenter - HORIZON-CS-01V

-

4.1.1.3 vcenter-01v.pharmax.local

- - - - - - - - - - - - - - - - - - -
Namevcenter-01v.pharmax.local
Description--
Certificate Override--
Provisioning EnabledYes
Reclaim Disk SpaceYes
Port443
User SSLYes
User Nameadministrator@vsphere.local
TypeVIRTUAL_CENTER
TCP Port Number443
Max Concurrent Provisioning Operations20
Max Concurrent Power Operations50
Max Concurrent View Composer Maintenance Operations0
Max Concurrent View Composer Provisioning Operations12
Max Concurrent Instant Clone Engine Provisioning Operations20
Storage Acceleration EnabledYes
Storage Accelerator Default Cache Size1024MB
-
Table 40 - vCenter Server Details - vcenter-01v.pharmax.local

-

Storage Accelerator Overrides

- - - -
DatacenterClusterHostCache Size
PHARMAX-VSI-DCRegionB01-vSANvsan-01b.pharmax.local2048MB
PHARMAX-VSI-DCRegionHQ-MGMTesxsvr-00f.pharmax.local4096MB
-
Table 41 - Storage Accelerator Overrides - vcenter-01v.pharmax.local

-

4.1.2 Datastores

- - - - - - - - - - -
NameAccessible
esx-00fYes
HDD-VM-ISO-LOW-PERFYes
HDD-VM-MED-PERF-01Yes
HDD-VM-MED-PERF-02Yes
NVME-VFLASH-01Yes
NVME-VM-HIGH-PERF-01Yes
SSD-VM-HIGH-CAPACITY-PERF-KNYes
SSD-VM-HIGH-CAPACITY-PERF-MKYes
TrueNAS_VM_DATA (1)No
-
Table 42 - Datastores - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.1.2.1 Datastores Detailed

TrueNAS_VM_DATA (1)

- - - - - - -
Path/PHARMAX-VSI-DC/TrueNAS_VM_DATA (1)
TypeNFS41
Capacity0GB
Free Space0GB
AccessibleNo
-
Table 43 - Datastores Details - TrueNAS_VM_DATA (1)

-

NVME-VM-HIGH-PERF-01

- - - - - - -
Path/PHARMAX-VSI-DC/NVME-VM-HIGH-PERF-01
TypeVMFS
Capacity477GB
Free Space287GB
AccessibleYes
-
Table 44 - Datastores Details - NVME-VM-HIGH-PERF-01

-

esx-00f

- - - - - - -
Path/PHARMAX-VSI-DC/esx-00f
TypeVMFS
Capacity112GB
Free Space111GB
AccessibleYes
-
Table 45 - Datastores Details - esx-00f

-

HDD-VM-ISO-LOW-PERF

- - - - - - -
Path/PHARMAX-VSI-DC/HDD-VM-ISO-LOW-PERF
TypeVMFS
Capacity931GB
Free Space260GB
AccessibleYes
-
Table 46 - Datastores Details - HDD-VM-ISO-LOW-PERF

-

SSD-VM-HIGH-CAPACITY-PERF-MK

- - - - - - -
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-MK
TypeVMFS
Capacity931GB
Free Space710GB
AccessibleYes
-
Table 47 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-MK

-

SSD-VM-HIGH-CAPACITY-PERF-KN

- - - - - - -
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-KN
TypeVMFS
Capacity894GB
Free Space513GB
AccessibleYes
-
Table 48 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-KN

-

HDD-VM-MED-PERF-01

- - - - - - -
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-01
TypeVMFS
Capacity3726GB
Free Space1892GB
AccessibleYes
-
Table 49 - Datastores Details - HDD-VM-MED-PERF-01

-

HDD-VM-MED-PERF-02

- - - - - - -
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-02
TypeVMFS
Capacity3726GB
Free Space2055GB
AccessibleYes
-
Table 50 - Datastores Details - HDD-VM-MED-PERF-02

-

NVME-VFLASH-01

- - - - - - -
Path/PHARMAX-VSI-DC/NVME-VFLASH-01
TypeVMFS
Capacity238GB
Free Space114GB
AccessibleYes
-
Table 51 - Datastores Details - NVME-VFLASH-01

-

4.1.3 ESXi Hosts

The following section details the hardware information of ESXi Hosts for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.1.3.1 RegionA01-COMP Cluster

- - - -
NameVersionAPI VersionStatus
192.168.7.124----NOT_RESPONDING
comp-01a.pharmax.local----NOT_RESPONDING
-
Table 52 - ESXI Hosts - RegionA01-COMP

-

192.168.7.124 Details

- - - - - - -
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
-
Table 53 - ESXI Hosts - 192.168.7.124

-

comp-01a.pharmax.local Details

- - - - - - -
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
-
Table 54 - ESXI Hosts - comp-01a.pharmax.local

-

4.1.3.2 RegionHQ-MGMT Cluster

- - -
NameVersionAPI VersionStatus
esxsvr-00f.pharmax.local8.0.28.0.2.0CONNECTED
-
Table 55 - ESXI Hosts - RegionHQ-MGMT

-

esxsvr-00f.pharmax.local Details

- - - - - - -
CPU Cores4
CPU in Mhz3408
Memory Size64GB
vGPU Types--
VDI Machines1
-
Table 56 - ESXI Hosts - esxsvr-00f.pharmax.local

-

4.1.4 Gateway Servers

The following section details the Gateway Servers information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - -
NameIPVersionTypeZone Internal
Horizon-UAG-01V------No
-
Table 57 - Gateway Servers - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.1.5 Connection Servers

The following section details the configuration of Connection Servers for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - -
NameVersionEnabled
HORIZON-CS-01V8.11.0-22629722Yes
HORIZON-CS-02V8.11.0-22629722Yes
-
Table 58 - Connection Servers - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.1.5.1 General HORIZON-CS-01V Details

- - - - - - - - - - - - - - - - - - - - -
NameHORIZON-CS-01V
FQDNHorizon-CS-01V.pharmax.local
Server Addresshttps://horizon-cs-01v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-01V.pharmax.local:443
External PCoIP URL192.168.7.202:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-01V.pharmax.local:8443
Local Connection ServerYes
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage3%
Current Memory Usage Percentage76%
-
Table 59 - Connection Servers - HORIZON-CS-01V

-

4.1.5.2 Authentication HORIZON-CS-01V Details

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
-
Table 60 - Authentication - HORIZON-CS-01V

-

4.1.5.3 Backup HORIZON-CS-01V Details

- - - - - - -
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
-
Table 61 - Backup - HORIZON-CS-01V

-

4.1.5.4 Certificate Details for HORIZON-CS-01V Details

- - - - - - - - - -
Connection ServerHORIZON-CS-01V
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANs--
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
-
Table 62 - Certificate Details for - HORIZON-CS-01V

-

4.1.5.5 Replication Status for Connection Server HORIZON-CS-01V

- - - - - -
Connection ServerHORIZON-CS-01V
Replication PartnerHORIZON-CS-02V
StatusOK
Message--
-
Table 63 - Connection Servers Replication- HORIZON-CS-01V

-

4.1.5.6 General HORIZON-CS-02V Details

- - - - - - - - - - - - - - - - - - - - -
NameHORIZON-CS-02V
FQDNHorizon-CS-02V.pharmax.local
Server Addresshttps://horizon-cs-02v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-02V.pharmax.local:443
External PCoIP URL192.168.7.63:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-02V.pharmax.local:8443
Local Connection ServerNo
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage3%
Current Memory Usage Percentage73%
-
Table 64 - Connection Servers - HORIZON-CS-02V

-

4.1.5.7 Authentication HORIZON-CS-02V Details

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
-
Table 65 - Authentication - HORIZON-CS-02V

-

4.1.5.8 Backup HORIZON-CS-02V Details

- - - - - - -
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
-
Table 66 - Backup - HORIZON-CS-02V

-

4.1.5.9 Certificate Details for HORIZON-CS-02V Details

- - - - - - - - - -
Connection ServerHORIZON-CS-02V
Self-Signed CertificateYes
Certificate SubjectCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate IssuerCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate Not Before04/10/2023 12:19:45
Certificate Not After07/13/2025 12:19:45
Certificate SANs--
Certificate ThumbprintB9AE51BC10F4D3FDE367640A687DB24032290C9D
-
Table 67 - Certificate Details for - HORIZON-CS-02V

-

4.1.5.10 Replication Status for Connection Server HORIZON-CS-02V

- - - - - -
Connection ServerHORIZON-CS-02V
Replication PartnerHORIZON-CS-01V
StatusOK
Message--
-
Table 68 - Connection Servers Replication- HORIZON-CS-02V

-

4.2 Domains

4.2.1 Domain Accounts

The following section details the Domain Accounts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - -
User NameDomain Name
horizon-icpharmax.local
jocolonpharmax.local
-
Table 69 - Domain Accounts - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.2.2 Connection Server

The following section shows connection servers domains for HORIZON-CS-01V.PHARMAX.LOCAL environment.

- - - - - -
Domain DNS NameStatusTrust RelationshipConnection Status
acad.pharmax.localERRORTWOWAY_FORESTUNCONTACTABLE
lab.localERRORTWOWAYUNCONTACTABLE
pharmax.localOKPRIMARYDOMAINFULLYACCESSIBLE
uia.localERRORTWOWAY_FORESTUNCONTACTABLE
-
Table 70 - Connection Server- HORIZON-CS-01V.PHARMAX.LOCAL

-

4.3 Certificate Management

The following section details on the certificate management information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - - - - - -
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANs--
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
-
Table 71 - Certificate Management - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.4 Product Licensing and Usage

The following section details the product license and usage information for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.4.1 Licensing

- - - - - - - - - - - - - - - - -
Is LicensedYes
License KeyZ428Q-XXXXX-XXXXX-XXXXX-C9K30
License Expiration4/10/2024
Composer enabledNo
Desktop Launching enabledYes
Application Launching enabledYes
Instant Clone enabledYes
Helpdesk enabledYes
Collaboration enabledYes
License EditionHORIZON_ENTERPRISE_CONCURRENT_USER
License Usage ModelCONCURRENT_USER
License ModeDEFAULT
Grace Period Days--
Subscription Slice Expiry--
License Health--
-
Table 72 - Licensing - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.4.2 Usage

- - - - - - - - - - -
NameCurrent UsageHighest Usage
Total Concurrent Connections01
Total Named Users17--
Total Concurrent Sessions01
Concurrent Full Vm Sessions01
Concurrent Linked Clone Sessions00
Concurrent Unmanaged Vm Sessions01
Concurrent Application Sessions01
Concurrent Collaborative Sessions00
Total Collaborators00
-
Table 73 - Usage - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.4.3 Customer Experience Program

- - - - - -
CEIP EnabledYes
Company SizeSIZE_1_100
GeolocationAMERICA_NORTH
VerticalSERVICES
-
Table 74 - Customer Experience Program - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.5 Global Settings

The following section details the Global Settings configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.5.1 General Settings

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Client Session Time Out PolicyNEVER
Client Max Session Time Minutes 600
Client Idle Session Timeout PolicyNEVER
Client Idle Session Timeout Minutes--
Client Session Timeout Minutes 1200
Desktop SSO Timeout PolicyALWAYS_ENABLED
Desktop SSO Timeout Minutes--
Application SSO Timeout PolicyALWAYS_ENABLED
Application SSO Timeout Minutes--
View API Session Timeout Minutes10
Pre-Login Message--
Display Warning Before Forced LogoffYes
Forced Logoff Timeout Minutes5
Forced Logoff MessageYour desktop is scheduled for an important update and will shut down in 5 minutes. Please save any unsaved work now
Enable Server in Single User ModeNo
Store CAL on BrokerYes
Store CAL on ClientYes
Enable UI User Name CachingYes
Console Session Timeout in Minutes30
Enable Automatic Status UpdatesNo
Send Domain ListYes
Enable Credential Cleanup for HTML AccessNo
Hide Server Information In ClientNo
Hide Domain List In ClientNo
Enable Multi Factor ReauthenticationNo
Disconnect Warning Time0
Disconnect Warning MessageYour virtual session is going to be logged off. Please save your work.
Disconnect MessageYour session has expired. Please re-connect to the portal and restart the session.
Display Pre-login Admin BannerNo
Pre-Login Admin Banner HeaderAttention
Pre-Login Admin Banner MessageOn proceeding, you agree that you fully comply with the laws of this organisation.
Enforce CSRF Protection--
Enforce E2E EncryptionNo
-
Table 75 - Global Settings - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.5.2 Security Settings

- - - - - - - -
Reauthenticate Secure Tunnel After InterruptionNo
Disallow Enhanced Security ModeNo
No Managed CertsNo
Message Security ModeENHANCED
Message Security StatusENHANCED
Enable IP Sec for Security Server PairingNo
-
Table 76 - Security Settings - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.5.3 Client Restriction Settings

- - - - - - -
TypeVersionWarn Specific VersionsBlock Specific Versions
WINDOWS--5.5.0--
CHROME--5.5.0--
ANDROID--5.5.0--
IOS--5.5.0--
MAC--5.5.0--
-
Table 77 - Client Restriction Settings - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.6 Registered Machines

The following section provides information of Registered Machines for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.6.1 RDS Hosts

The following section details the RDS Hosts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - -
NameFarm NameStatus
app-farm-02APP-FarmAVAILABLE
app-farm-01APP-FarmAVAILABLE
-
Table 78 - RDS Hosts - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.6.1.1 RDS Hosts Details

app-farm-02

- - - - - - - - - - - - - - - - - - - - -
Nameapp-farm-02
Descriptionapp-farm-02 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENHANCED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version8.11.0
Agent Build Number22661444
Remote Experience Agent Version--
Remote Experience Agent Build Number22661444
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeUNLIMITED
Agent Max Sessions Set By Admin--
EnabledYes
StatusAVAILABLE
-
Table 79 - RDS Host - app-farm-02

-

app-farm-01

- - - - - - - - - - - - - - - - - - - - -
Nameapp-farm-01
Descriptionapp-farm-01 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENHANCED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version8.11.0
Agent Build Number22661444
Remote Experience Agent Version--
Remote Experience Agent Build Number22661444
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeUNLIMITED
Agent Max Sessions Set By Admin--
EnabledYes
StatusAVAILABLE
-
Table 80 - RDS Host - app-farm-01

-

4.7 Administrators

4.7.1 Administrators and Groups

The following section details the configuration of Administrators and Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - -
Display NameTypePermission Role
pharmax.local\12-051-distlist1GroupLocal Administrators (Read only)
pharmax.local\4256122656SAUserInventory Administrators
pharmax.local\4362712809SAUserInventory Administrators (Read only)
pharmax.local\AD - SRM Admin GroupGroupInventory Administrators
pharmax.local\AdministratorUserAdministrators
pharmax.local\Domain AdminsGroupPHARMAX-God-Admin
pharmax.local\horizon-icUserAdministrators (Read only)
pharmax.local\jocolonUserLocal Administrators, Help Desk Administrators, Inventory Administrators
-
Table 81 - Administrators and Groups - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.1.1 Administrators Users and Groups Details for 4256122656SA

Jonathan A. Colon Feliciano

- - - - - - - - - - - - - - - - - - -
NameJonathan A. Colon Feliciano
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
Emailjocolon@pharmax.local
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNjocolon@pharmax.local
Permission RoleLocal Administrators, Help Desk Administrators, Inventory Administrators
-
Table 82 - Administrator - Jonathan A. Colon Feliciano

-

Administrator

- - - - - - - - - - - - - - - - - - -
NameAdministrator
First Name--
Last Name--
Login NameAdministrator
Display Namepharmax.local\Administrator
Long Display NameAdministrator@pharmax.local (Administrator)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Administrator,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNAdministrator@pharmax.local
Permission RoleAdministrators
-
Table 83 - Administrator - Administrator

-

Domain Admins

- - - - - - - - - - - - - - - - - - -
NameDomain Admins
First Name--
Last Name--
Login NameDomain Admins
Display Namepharmax.local\Domain Admins
Long Display NameDomain Admins/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=Domain Admins,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RolePHARMAX-God-Admin
-
Table 84 - Administrator - Domain Admins

-

12-051-distlist1

- - - - - - - - - - - - - - - - - - -
Name12-051-distlist1
First Name--
Last Name--
Login Name12-051-distlist1
Display Namepharmax.local\12-051-distlist1
Long Display Name12-051-distlist1/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=12-051-distlist1,OU=Devices,OU=ESM,OU=Tier 1,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleLocal Administrators (Read only)
-
Table 85 - Administrator - 12-051-distlist1

-

4362712809SA

- - - - - - - - - - - - - - - - - - -
Name4362712809SA
First Name--
Last Name4362712809SA
Login Name4362712809SA
Display Namepharmax.local\4362712809SA
Long Display Name4362712809SA@pharmax.local (4362712809SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4362712809SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4362712809SA@pharmax.local
Permission RoleInventory Administrators (Read only)
-
Table 86 - Administrator - 4362712809SA

-

AD - SRM Admin Group

- - - - - - - - - - - - - - - - - - -
NameAD - SRM Admin Group
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleInventory Administrators
-
Table 87 - Administrator - AD - SRM Admin Group

-

VMware IC Account

- - - - - - - - - - - - - - - - - - -
NameVMware IC Account
First NameVMware IC Account
Last Name--
Login Namehorizon-ic
Display Namepharmax.local\horizon-ic
Long Display Namehorizon-ic@pharmax.local (VMware IC Account)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=VMware IC Account,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNhorizon-ic@pharmax.local
Permission RoleAdministrators (Read only)
-
Table 88 - Administrator - VMware IC Account

-

4256122656SA

- - - - - - - - - - - - - - - - - - -
Name4256122656SA
First Name--
Last Name4256122656SA
Login Name4256122656SA
Display Namepharmax.local\4256122656SA
Long Display Name4256122656SA@pharmax.local (4256122656SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4256122656SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4256122656SA@pharmax.local
Permission RoleInventory Administrators
-
Table 89 - Administrator - 4256122656SA

-

4.7.2 Role Privileges

The following section details the Role Privileges information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - - - - - - -
NameDescription
AdministratorsAdministration users with full administrative rights
Administrators (Read only)Administration users with full read-only administrative rights
Agent Registration AdministratorsAdministration users with rights to register View agents.
Global Configuration and Policy AdministratorsAdministration users with rights for global and per Connection Server configuration settings.
Global Configuration and Policy Administrators (Read Only)Administration users with read only rights for global and per Connection Server configuration settings.
Help Desk AdministratorsAdministration users with rights for Help Desk portal management.
Help Desk Administrators (Read Only)Administration users with rights for Help Desk portal view.
Horizon Cloud ServiceAllows subscription license activation and monitoring from horizon cloud.
Inventory AdministratorsAdministration users with rights for inventory management.
Inventory Administrators (Read only)Administration users with rights to read inventory.
Local AdministratorsAdministration users with rights on Local POD.
Local Administrators (Read only)Administration users with Read only rights on Local POD.
PHARMAX-God-Admin--
-
Table 90 - Role Privileges - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.3 Role Privileges Details

The following section details the Role Privilege details for information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - - - - - - -
NameDescription
AdministratorsADMINISTRATOR
ADMINISTRATOR_VIEW
CLOUD_ADMIN
CVP_INTERACTIVE
CVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FEDERATED_LDAP_MANAGE
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMINISTRATOR
GLOBAL_ADMINISTRATOR_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_CVP_REGISTER
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_MANAGEMENT
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_MANAGEMENT
GLOBAL_ROLE_PERMISSION_MANAGEMENT
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR
HELPDESK_ADMINISTRATOR_VIEW
HORIZON_CLOUD_SERVICE
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR
LOCAL_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
SUBSCRIPTION_LICENSE_ADD
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Administrators (Read only)ADMINISTRATOR_VIEW
CVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMINISTRATOR_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR_VIEW
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
Agent Registration AdministratorsGLOBAL_MACHINE_REGISTER
Global Configuration and Policy AdministratorsGLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
Global Configuration and Policy Administrators (Read Only)GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
Help Desk AdministratorsCVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
HELPDESK_ADMINISTRATOR
HELPDESK_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_VIEW
REMOTE_ASSISTANCE
UDD_VIEW
Help Desk Administrators (Read Only)CVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
HELPDESK_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
Horizon Cloud ServiceCLOUD_ADMIN
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_REGISTER
HORIZON_CLOUD_SERVICE
POOL_VIEW
SUBSCRIPTION_LICENSE_ADD
Inventory AdministratorsCVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Inventory Administrators (Read only)CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
INVENTORY_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
Local AdministratorsCLOUD_ADMIN
CVP_INTERACTIVE
CVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_CVP_REGISTER
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR
LOCAL_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
SUBSCRIPTION_LICENSE_ADD
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Local Administrators (Read only)CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
PHARMAX-God-AdminCVP_VIEW
FEDERATED_LDAP_MANAGE
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_MANAGEMENT
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_MANAGEMENT
GLOBAL_ROLE_PERMISSION_MANAGEMENT
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR_VIEW
LOG_COLLECTION
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
UDD_VIEW
VC_CONFIG_VIEW
-
Table 91 - Role Privileges Details - Inventory Administrators (Read only)

-

4.7.4 Role Permissions

The following section details the Role Permissions information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - - - -
User or Group NameRoleAccess Group
12-051-distlist1Local Administrators (Read only)/Root/Gurabo-Sites
4256122656SAInventory Administrators/Root/Gurabo-Sites
4362712809SAInventory Administrators (Read only)/Root/CISA
AD - SRM Admin GroupInventory Administrators/Root/Prueba
AdministratorAdministrators/Root
Domain AdminsPHARMAX-God-Admin/Root
Jonathan A. Colon FelicianoLocal Administrators/Root/Gurabo-Sites
Jonathan A. Colon FelicianoHelp Desk Administrators/Root
Jonathan A. Colon FelicianoInventory Administrators/Root
VMware IC AccountAdministrators (Read only)/Root
-
Table 92 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.5 Access Groups

The following section summarizes the configuration of Access Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - -
NameDescription
CISA--
Gurabo-Sites--
PruebaPrueba Description
RootROOT FOLDER
-
Table 93 - Access Groups - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.5.1 Access Groups Details

Root

- - - - - -
NamePermissions
AdministratorAdministrators
Domain AdminsPHARMAX-God-Admin
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
VMware IC AccountAdministrators (Read only)
-
Table 94 - Access Groups - Root

-

CISA

- - -
NamePermissions
4362712809SAInventory Administrators (Read only)
-
Table 95 - Access Groups - CISA

-

Prueba

- - -
NamePermissions
AD - SRM Admin GroupInventory Administrators
-
Table 96 - Access Groups - Prueba

-

Gurabo-Sites

- - - - -
NamePermissions
12-051-distlist1Local Administrators (Read only)
4256122656SAInventory Administrators
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
-
Table 97 - Access Groups - Gurabo-Sites

-

4.7.6 Federation Access Groups

The following section details the Federation Access Group information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - -
User or Group NameRoleGlobal Access Group
AdministratorAdministratorsRoot
Domain AdminsPHARMAX-God-AdminRoot
Jonathan A. Colon FelicianoHelp Desk AdministratorsRoot
VMware IC AccountAdministrators (Read only)Root
-
Table 98 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.8 Cloud Pod Architecture

The following section details on the cloud pod architecture information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - - - - - - -
Pod NameCluster-HORIZON-CS-01V
Pod LocalYes
Pod SitePHARMAX-HQ
Pod Description--
Pod Cloud ManagedNo
Pod Connection ServersHORIZON-CS-01V
HORIZON-CS-02V
Pod Active Global Entitlements--
Pod Active Global Application Entitlements--
-
Table 99 - Cloud Pod Architecture - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.9 Site

The following section details on the Cloud Pod Site information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - -
Cloud Pod Sites NamePHARMAX-HQ
Cloud Pod Sites Description--
Cloud Pod Site Pod NameCluster-HORIZON-CS-01V
-
-

4.10 Event Configuration

The following section details on the events configuration information for HORIZON-CS-01V.PHARMAX.LOCAL.

4.10.1 Event Database

- - - - - - - - - - - -
Serverhorizon-sql-01v
TypeSQLSERVER
Port1433
NameHZ-Event-DB
User Namehz-event-user
Table PrefixPHM
Show Events forTHREE_MONTHS
Classify Events as New for2 Days
Timing Profiler Events7 Days
EnabledYes
-
Table 100 - Event Database - HORIZON-CS-01V

-

4.10.2 Syslog Configuration

- - - -
ServerPort
10.10.10.33514
192.168.5.1514
-
Table 101 - Syslog Configuration - HORIZON-CS-01V

-

4.10.3 Events to File System

- - - - - - -
EnabledYes
Enabled on ErrorNo
Path\\192.168.5.1\WsusContent\HorizonEvents
User nameadministrator
Domainpharmax.local
-
Table 102 - Events to File System - HORIZON-CS-01V

-

4.11 Global Policies

The following section details on the Global Policies information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - - - -
Allow Multimedia RedirectionDeny
Allow USB AccessAllow
Allow Remote ModeAllow
Allow PCoIP Hardware AccelerationAllow
PCoIP Hardware Acceleration PriorityMedium
-
Table 103 - Global Policies - HORIZON-CS-01V.PHARMAX.LOCAL

-
-

\ No newline at end of file + + +VMware Horizon As Built Report + +
+ +











VMware Horizon As Built Report


As Built Report
































+ + + +
Author:As Built Report
Date:Wednesday, February 14, 2024
Version:1.1
+
+
+
VMware Horizon As Built Report - v1.1

Table of Contents

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1HORIZON-CS-01V.PHARMAX.LOCAL
1.1   Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL
2Users and Groups
2.1   Local Entitlements
2.1.1      Local Entitlements Details
2.2   Home Site
2.3   Unauthenticated Access
3Inventory
3.1   Desktop Pools
3.1.1      Desktop Pools Details
3.1.1.1         Pool - Linux-Pharmax
3.2   Application Pool
3.2.1      Application Pool Details
3.2.1.1         Application Summary - 7-Zip File Manager
3.2.1.2         Application Summary - 7-Zip Help
3.2.1.3         Application Summary - Calculator
3.2.1.4         Application Summary - Google Chrome
3.2.1.5         Application Summary - Google Chrome
3.2.1.6         Application Summary - Notepad
3.2.1.7         Application Summary - Paint
3.3   Farm Pools
3.3.1      Farm Pools Details
3.3.1.1         APP-Farm
3.4   Machines
3.4.1      vCenter Machine Summary
3.5   Global Entitlements
3.5.1      Global Entitlement Summary Details
3.5.1.1         Summary - Group-Ent
3.5.1.2         Local Pools - Group-Ent
3.5.1.3         Users and Groups - Group-Ent
3.5.1.4         Summary - GEZ-Linux
3.5.1.5         Local Pools - GEZ-Linux
3.5.1.6         Users and Groups - GEZ-Linux
3.5.1.7         Summary - APPVol-FARM
3.5.1.8         Local Pools - APPVol-FARM
3.5.1.9         Users and Groups - APPVol-FARM
4Settings
4.1   Servers
4.1.1      vCenter Servers
4.1.1.1         vcenter-01v.pharmax.local
4.1.2      Datastores
4.1.2.1         Datastores Detailed
4.1.3      ESXi Hosts
4.1.3.1         RegionA01-COMP Cluster
4.1.3.2         RegionHQ-MGMT Cluster
4.1.4      Gateway Servers
4.1.5      Connection Servers
4.1.5.1         General HORIZON-CS-01V Details
4.1.5.2         Authentication HORIZON-CS-01V Details
4.1.5.3         Backup HORIZON-CS-01V Details
4.1.5.4         Certificate Details for HORIZON-CS-01V Details
4.1.5.5         Replication Status for Connection Server HORIZON-CS-01V
4.1.5.6         General HORIZON-CS-02V Details
4.1.5.7         Authentication HORIZON-CS-02V Details
4.1.5.8         Backup HORIZON-CS-02V Details
4.1.5.9         Certificate Details for HORIZON-CS-02V Details
4.1.5.10         Replication Status for Connection Server HORIZON-CS-02V
4.1.6      Gateway Certificate
4.2   Domains
4.2.1      Domain Accounts
4.2.2      Connection Server Domain Status
4.3   Certificate Management
4.4   Product Licensing and Usage
4.4.1      Licensing
4.4.2      Usage
4.4.3      Customer Experience Program
4.5   Global Settings
4.5.1      General Settings
4.5.2      Security Settings
4.5.3      Client Restriction Settings
4.6   Registered Machines
4.6.1      RDS Hosts
4.6.1.1         RDS Hosts Details
4.7   Administrators
4.7.1      Administrators and Groups
4.7.1.1         Administrators Users and Groups Details for Jonathan A. Colon Feliciano
4.7.1.2         Administrators Users and Groups Details for Administrator
4.7.1.3         Administrators Users and Groups Details for Domain Admins
4.7.1.4         Administrators Users and Groups Details for 12-051-distlist1
4.7.1.5         Administrators Users and Groups Details for 4362712809SA
4.7.1.6         Administrators Users and Groups Details for AD - SRM Admin Group
4.7.1.7         Administrators Users and Groups Details for VMware IC Account
4.7.1.8         Administrators Users and Groups Details for 4256122656SA
4.7.2      Role Privileges
4.7.3      Role Privileges Details
4.7.4      Role Permissions
4.7.5      Access Groups
4.7.5.1         Access Groups Details
4.7.6      Federation Access Groups
4.8   Cloud Pod Architecture
4.9   Site
4.10   Event Configuration
4.10.1      Event Database
4.10.2      Syslog Configuration
4.10.3      Events to File System
4.11   Global Policies
+

+
VMware Horizon As Built Report - v1.1

1 HORIZON-CS-01V.PHARMAX.LOCAL

1.1 Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL

+ + + + + + + + + + + + + + + +
Number of Local Entitlements3
Number of Global Entitlements2
Number of Desktop Pools1
Number of Application Pool7
Number of Farms Pools1
Number of vCenter Servers1
Number of ESXi Hosts0
Number of Datastores0
Number of Active Directory Domains4
Number of UAG Servers2
Number of Connection Servers2
Number of Instant Clone Accounts2
Number of RDS Hosts2
Number of Administrators and Groups8
+
Table 1 - Executive Summary - HORIZON-CS-01V.PHARMAX.LOCAL

+

2 Users and Groups

The following section provides information about the permissions that control which remote desktops and applications your users can access.

2.1 Local Entitlements

The following section provide a summary of local user & groups entitlements.

+ + + + +
User Principal NameGroup or UserDesktop EntitlementsApplication Entitlements
AD - SRM Admin GroupGroup04
AD - SRM Recovery GroupGroup04
jocolon@pharmax.localUser13
+
Table 2 - Local Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

+

2.1.1 Local Entitlements Details

The following section detail per user or group local entitlements.

Local Entitlement Details - Jonathan A. Colon Feliciano

+ + + + + + + + + + + + + + + + + + + + +
NameJonathan A. Colon Feliciano
Group or UserUser
Domainpharmax.local
Ad Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Emailjocolon@pharmax.local
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Namejocolon@pharmax.local
Local MachinesN/A
Local User Persistent Disks--
Local DesktopsLinux-Pharmax
User ApplicationsCalculator, Notepad, Paint
+
Table 3 - Local Entitlements Details - Jonathan A. Colon Feliciano

+

Local Entitlement Details - AD - SRM Admin Group

+ + + + + + + + + + + + + + + + + + + + +
NameAD - SRM Admin Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
+
Table 4 - Local Entitlements Details - AD - SRM Admin Group

+

Local Entitlement Details - AD - SRM Recovery Group

+ + + + + + + + + + + + + + + + + + + + +
NameAD - SRM Recovery Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Recovery Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Recovery Group
Display Namepharmax.local\AD - SRM Recovery Group
Long Display NameAD - SRM Recovery Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
+
Table 5 - Local Entitlements Details - AD - SRM Recovery Group

+

2.2 Home Site

The following section provide a summary of user and group home site configuration.

+ + +
User or Group NameDomainGroupEmailHome SiteGlobal EntitlementGlobal Application Entitlement
dbuserpharmax.localNo--PHARMAX-HQ----
+
Table 6 - Home Site General - HORIZON-CS-01V.PHARMAX.LOCAL

+

2.3 Unauthenticated Access

The following section provide a summary of user and group unauthenticated access configuration.

+ + + +
Login NameUser IDDescriptionHybrid LogonPod Name
2254824036SApharmax.local\2254824036SA----Cluster-HORIZON-CS-01V
447284480SApharmax.local\447284480SA----Cluster-HORIZON-CS-01V
+
Table 7 - Unauthenticated Access - HORIZON-CS-01V.PHARMAX.LOCAL

+

3 Inventory

The following section provides detailed information about desktop, application, farm pools and global entitlement permissions that control which remote desktops and applications your users can access.

3.1 Desktop Pools

The following section details the Desktop Pools configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + +
NameTypeProvisioning TypeUser Assignment
Linux-PharmaxAUTOMATEDInstant CloneFLOATING
+
Table 8 - Desktop Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.1.1 Desktop Pools Details

3.1.1.1 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

+ + + + + + + + + + + +
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
+
Table 9 - General - Linux-Pharmax

+

Detailed Settings - Linux-Pharmax

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
Max Number of Machines1
Min number of Machines--
Number of Spare Machines1
Connection Server Restrictions--
Stop Provisioning on ErrorYes
Add Virtual TPM--
Minimum Number of Machines Ready--
Naming MethodPATTERN
Naming Patternhz-vm-{n:fixed=3}v
Power PolicyALWAYS_POWERED_ON
Provisioning TimeUP_FRONT
Automatic Logoff PolicyAFTER
Automatic Logoff Minutes30
Allow Users to Reset MachinesYes
Allow Multiple Sessions Per UserYes
Delete or Refresh Machine After LogoffDELETE
Refresh OS Disk After LogoffNEVER
Refresh Period Days for Replica OS Disk--
Refresh Threshold Percentage For Replica OS Disk--
Empty Session Timeout Policy--
Empty Session Timeout Minutes--
Log off After Timeout--
Prelaunch Session Timeout Policy--
Prelaunch Session Timeout Minutes--
Session Timeout Policy--
Category Folder Name--
Client RestrictionsNo
Shortcut Locations--
Allow Users to use Multiple Sessions Per UserYes
Supported Session Types--
Cloud ManagedNo
Cloud AssignedNo
Display Assigned Machine NameNo
Display Machine AliasNo
Supported Display ProtocolsBLAST, PCOIP, RDP
Default Display ProtocolBLAST
Allow Users to Choose ProtocolNo
Enable HTML AccessYes
Enable CollaborationNo
Renderer 3DMANAGE_BY_VSPHERE_CLIENT
Enable GRID vGPUsNo
vGPU Grid Profile--
vRam Size MB--
Max Number of Monitors--
Max Resolution of Any One Monitor--
+
Table 10 - Pool Settings - Linux-Pharmax

+

vCenter Server Settings - Linux-Pharmax

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Virtual Centervcenter-01v.pharmax.local
Parent VMhz-tpl-ubuntu
Parent VM Path/PHARMAX-VSI-DC/vm/Horizon Lab/hz-tpl-ubuntu
Current Number of MachinesLinux-Pharmax
Parent Operating SystemLinux (Ubuntu)
Parent Operating System Architecture64_bit
SnapshotHorizon IC SnapShot
Snapshot Path/Horizon IC SnapShot
DatacenterPHARMAX-VSI-DC
Datacenter Path/PHARMAX-VSI-DC
VM FolderLinux-Pharmax
VM Folder Path/PHARMAX-VSI-DC/vm/Horizon Lab/Linux-Pharmax
Host or ClusterRegionHQ-MGMT
Host or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource PoolHorizon Lab
Resource Pool Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
DatastoresSSD-VM-HIGH-CAPACITY-PERF-MK
SSD-VM-HIGH-CAPACITY-PERF-KN
Datastores Storage Over-CommitUNBOUNDED, UNBOUNDED
Use VSANNo
Storage Cluster Path--
View Storage AcceleratorYes
Transparent Page Sharing ScopeVM
Replica Disk Datastore Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/SSD-VM-HIGH-CAPACITY-PERF-MK
NetworksGolden Image network selected
Network Card--
Network Label Enabled--
Network Nic Name--
Network Label Names--
Network Max Label Type--
Network Max Label--
Customization TypeCLONE_PREP
Customization Spec Name--
Power off Script Name--
Power off Script Parameters--
Post Synchronization Script Name--
Post Synchronization Script Parameters--
Priming Computer Account--
Guest Customization Accounthorizon-ic
No Customization Settings--
Sysprep Customization Settings--
Quick Prep Customization Settings--
Ad ContainerOU=Sales,OU=VDI-Computers
Reuse Pre-Existing AccountsNo
Image Management Stream--
Image Management Tag--
Compute Profile--
+
Table 11 - vCenter Server Settings - Linux-Pharmax

+

Pool Machine Summary - Linux-Pharmax

+ + +
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
+
Table 12 - Pool Machine Summary - Linux-Pharmax

+

Desktop Pools Entitlements - Linux-Pharmax

+ + +
NameDomainIs Group?
jocolonpharmax.localNo
+
Table 13 - Desktop Pools Entitlements - Linux-Pharmax

+

3.2 Application Pool

The following section details the configuration of Application Pool for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + +
NameVersionEnabled
7-Zip File Manager--Yes
7-Zip Help--Yes
Calculator10.0.20348.1Yes
Google Chrome--Yes
Google Chrome--Yes
Notepad10.0.20348.1Yes
Paint10.0.20348.1Yes
+
Table 14 - Applications - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.2.1 Application Pool Details

3.2.1.1 Application Summary - 7-Zip File Manager

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display Name7-Zip File Manager
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 15 - Application Summary - 7-Zip File Manager

+

3.2.1.2 Application Summary - 7-Zip Help

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display Name7-Zip Help
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip Help.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 16 - Application Summary - 7-Zip Help

+

3.2.1.3 Application Summary - Calculator

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameCalculator
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Calculator.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 17 - Application Summary - Calculator

+

3.2.1.4 Application Summary - Google Chrome

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 18 - Application Summary - Google Chrome

+

3.2.1.5 Application Summary - Google Chrome

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\Users\Public\Desktop\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 19 - Application Summary - Google Chrome

+

3.2.1.6 Application Summary - Notepad

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameNotepad
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.txt, .psm1, .psd1, .ps1, .wsc, .log, .htm, .compositefont, .ini, .sct, .inf, .scp, .wtx
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 20 - Application Summary - Notepad

+

3.2.1.7 Application Summary - Paint

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NamePaint
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.bmp, .tif, .webp, .jpe, .gif, .heif, .hif, .avif, .jpg, .png, .tiff, .rle, .wmf, .avci, .jpeg, .emf, .ico, .jfif, .dib, .heic
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 21 - Application Summary - Paint

+

3.3 Farm Pools

The following section details the Farms configuration for H server.

+ + +
NameTypeEnabled
APP-FarmAUTOMATEDYes
+
Table 22 - Farms - H

+

3.3.1 Farm Pools Details

3.3.1.1 APP-Farm

General

+ + + + + + + + + + + + + + + + +
Pool NameAPP-Farm
Display NameAPP-Farm
Description--
Access GroupRoot
TypeAUTOMATED
SourceINSTANT_CLONE_ENGINE
EnabledYes
DeletingNo
Desktop--
App Volumes Server7e133e0a-b37c-401c-973d-f8919059323b
Default Display ProtocolBLAST
Allow Users to Choose ProtocolYes
HTML AccessYes
Enable Grid GPUs--
vGPU Profile--
+
Table 23 - General Information - APP-Farm

+

Load Balancing Settings

+ + + + + + + + +
Use Custom ScriptNo
Include Session CountYes
CPU Usage Threshold0
Memory Usage Threshold0
Disk Queue Length Threshold0
Disk Read Latency Threshold0
Disk Write Latency Threshold0
+
Table 24 - Load Balancing Settings - APP-Farm

+

Provisioning Settings

+ + + + + + + + +
Provisioning EnabledYes
Stop Provisioning on ErrorYes
Disconnected Session Timeout Minutes--
Disconnected Session Timeout PolicyNEVER
Empty Session Timeout Minutes1
Empty Session Timeout PolicyAFTER
Log off After TimeoutNo
+
Table 25 - Provisioning Settings - APP-Farm

+

vCenter Server Settings

+ + + + + + + + +
VM folder/PHARMAX-VSI-DC/vm/Horizon Lab/APP-Farm
Host Or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource Pool/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
Golden Image/PHARMAX-VSI-DC/vm/Horizon Lab/Horizon-RDS-02T
Snapshot/FARM
Datastore PathsSSD-VM-HIGH-CAPACITY-PERF-KN
NetworksGolden Image network selected
+
Table 26 - vCenter Settings - APP-Farm

+

Guest Customization

+ + + + + + + + + + + +
Guest CustomizationCLONE_PREP
Guest Customization Domain and Accounthorizon-ic
Allow Reuse of Existing Computer AccountsNo
AD ContainerOU=Finances,OU=VDI-Computers
Farm Customization Specification--
Power Off Script Name--
Power Off Script Parameters--
Post Sync Script Name--
Post Sync Script Parameters--
Priming Computer Account--
+
Table 27 - Guest Customization - APP-Farm

+

3.4 Machines

The following section details on all of the machine information for HORIZON-CS-01V.PHARMAX.LOCAL.

3.4.1 vCenter Machine Summary

+ + +
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
+
Table 28 - vCenter Machine Summary - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5 Global Entitlements

The following section details the Global Entitlements configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + +
NameTypeNumber of Pods
APPVol-FARM--0
GEZ-Linux--0
Group-Ent--0
+
Table 29 - Global Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1 Global Entitlement Summary Details

3.5.1.1 Summary - Group-Ent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGroup-Ent
Alias NameGroup Entitlement
Description--
ScopeSITE
From Home SiteYes
Require Home SiteYes
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolBLAST
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesYes
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsYes
Enable CollaborationYes
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
+
Table 30 - Detailed Information - Group-Ent

+

3.5.1.2 Local Pools - Group-Ent

+ + + + + + + + + +
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count0
User or Group Count2
User or Group Site Override Count0
Member Pods--
+
Table 31 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1.3 Users and Groups - Group-Ent

+ + + +
NameUser or GroupDomain
SCCM_AdminsGrouppharmax.local
AD - SRM Admin GroupGrouppharmax.local
+
Table 32 - Users and Groups - Group-Ent

+

3.5.1.4 Summary - GEZ-Linux

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGEZ-Linux
Alias NameGEZ Linux
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesNo
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsNo
Enable CollaborationNo
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
+
Table 33 - Detailed Information - GEZ-Linux

+

3.5.1.5 Local Pools - GEZ-Linux

+ + + + + + + + + +
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count1
User or Group Count2
User or Group Site Override Count0
Member Pods--
+
Table 34 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1.6 Users and Groups - GEZ-Linux

+ + + +
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AD - SRM Recovery GroupGrouppharmax.local
+
Table 35 - Users and Groups - GEZ-Linux

+

3.5.1.7 Summary - APPVol-FARM

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameAPPVol-FARM
Alias NameAPPVol-FARM
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset Machines--
Enable HTML AccessYes
Allow Multiple Sessions Per User--
Enable Pre-LaunchNo
Connection Server Restrictions--
Enable PrelaunchNo
Category Folder Name--
Client RestrictionsNo
Enable Collaboration--
Shortcut Locations--
Multisession ModeENABLED_DEFAULT_OFF
Backup GAE--
Display Assigned Machine Name--
Display Machine Alias--
Global Access Group IDRoot
+
Table 36 - Detailed Information - APPVol-FARM

+

3.5.1.8 Local Pools - APPVol-FARM

+ + + + + + + + + +
Local Desktop Count--
Local Application Count0
Remote Desktop Count--
Remote Application Count0
User Count1
User or Group Count3
User or Group Site Override Count0
Member Pods--
+
Table 37 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1.9 Users and Groups - APPVol-FARM

+ + + + +
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AdministratorsGrouppharmax.local
Backup OperatorsGrouppharmax.local
+
Table 38 - Users and Groups - APPVol-FARM

+

4 Settings

The following section provides detailed information about the configuration of the components that comprise the Horizon Server infrastructure.

4.1 Servers

4.1.1 vCenter Servers

The following section details the vCenter Servers configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + +
NameVersionBuild NumberAPI VersionProvisioning Enabled
vcenter-01v.pharmax.local8.0.2226172218.0.2.0Yes
+
Table 39 - vCenter - HORIZON-CS-01V

+

4.1.1.1 vcenter-01v.pharmax.local

+ + + + + + + + + + + + + + + + + + +
Namevcenter-01v.pharmax.local
Description--
Certificate Override--
Provisioning EnabledYes
Reclaim Disk SpaceYes
Port443
User SSLYes
User Nameadministrator@vsphere.local
TypeVIRTUAL_CENTER
TCP Port Number443
Max Concurrent Provisioning Operations20
Max Concurrent Power Operations50
Max Concurrent View Composer Maintenance Operations0
Max Concurrent View Composer Provisioning Operations12
Max Concurrent Instant Clone Engine Provisioning Operations20
Storage Acceleration EnabledYes
Storage Accelerator Default Cache Size1024MB
+
Table 40 - vCenter Server Details - vcenter-01v.pharmax.local

+

Storage Accelerator Overrides

+ + + +
DatacenterClusterHostCache Size
PHARMAX-VSI-DCRegionB01-vSANvsan-01b.pharmax.local2048MB
PHARMAX-VSI-DCRegionHQ-MGMTesxsvr-00f.pharmax.local4096MB
+
Table 41 - Storage Accelerator Overrides - vcenter-01v.pharmax.local

+

4.1.2 Datastores

+ + + + + + + + + + +
NameAccessible
esx-00fYes
HDD-VM-ISO-LOW-PERFYes
HDD-VM-MED-PERF-01Yes
HDD-VM-MED-PERF-02Yes
NVME-VFLASH-01Yes
NVME-VM-HIGH-PERF-01Yes
SSD-VM-HIGH-CAPACITY-PERF-KNYes
SSD-VM-HIGH-CAPACITY-PERF-MKYes
TrueNAS_VM_DATA (1)No
+
Table 42 - Datastores - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.1.2.1 Datastores Detailed

TrueNAS_VM_DATA (1)

+ + + + + + +
Path/PHARMAX-VSI-DC/TrueNAS_VM_DATA (1)
TypeNFS41
Capacity0GB
Free Space0GB
AccessibleNo
+
Table 43 - Datastores Details - TrueNAS_VM_DATA (1)

+

NVME-VM-HIGH-PERF-01

+ + + + + + +
Path/PHARMAX-VSI-DC/NVME-VM-HIGH-PERF-01
TypeVMFS
Capacity477GB
Free Space181GB
AccessibleYes
+
Table 44 - Datastores Details - NVME-VM-HIGH-PERF-01

+

esx-00f

+ + + + + + +
Path/PHARMAX-VSI-DC/esx-00f
TypeVMFS
Capacity112GB
Free Space111GB
AccessibleYes
+
Table 45 - Datastores Details - esx-00f

+

HDD-VM-ISO-LOW-PERF

+ + + + + + +
Path/PHARMAX-VSI-DC/HDD-VM-ISO-LOW-PERF
TypeVMFS
Capacity931GB
Free Space258GB
AccessibleYes
+
Table 46 - Datastores Details - HDD-VM-ISO-LOW-PERF

+

SSD-VM-HIGH-CAPACITY-PERF-MK

+ + + + + + +
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-MK
TypeVMFS
Capacity931GB
Free Space594GB
AccessibleYes
+
Table 47 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-MK

+

SSD-VM-HIGH-CAPACITY-PERF-KN

+ + + + + + +
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-KN
TypeVMFS
Capacity894GB
Free Space510GB
AccessibleYes
+
Table 48 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-KN

+

HDD-VM-MED-PERF-01

+ + + + + + +
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-01
TypeVMFS
Capacity3726GB
Free Space2169GB
AccessibleYes
+
Table 49 - Datastores Details - HDD-VM-MED-PERF-01

+

HDD-VM-MED-PERF-02

+ + + + + + +
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-02
TypeVMFS
Capacity3726GB
Free Space1774GB
AccessibleYes
+
Table 50 - Datastores Details - HDD-VM-MED-PERF-02

+

NVME-VFLASH-01

+ + + + + + +
Path/PHARMAX-VSI-DC/NVME-VFLASH-01
TypeVMFS
Capacity238GB
Free Space99GB
AccessibleYes
+
Table 51 - Datastores Details - NVME-VFLASH-01

+

4.1.3 ESXi Hosts

The following section details the hardware information of ESXi Hosts for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.1.3.1 RegionA01-COMP Cluster

+ + + +
NameVersionAPI VersionStatus
192.168.7.124----NOT_RESPONDING
comp-01a.pharmax.local----NOT_RESPONDING
+
Table 52 - ESXI Hosts - RegionA01-COMP

+

192.168.7.124 Details

+ + + + + + +
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
+
Table 53 - ESXI Hosts - 192.168.7.124

+

comp-01a.pharmax.local Details

+ + + + + + +
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
+
Table 54 - ESXI Hosts - comp-01a.pharmax.local

+

4.1.3.2 RegionHQ-MGMT Cluster

+ + +
NameVersionAPI VersionStatus
esxsvr-00f.pharmax.local8.0.28.0.2.0CONNECTED
+
Table 55 - ESXI Hosts - RegionHQ-MGMT

+

esxsvr-00f.pharmax.local Details

+ + + + + + +
CPU Cores4
CPU in Mhz3408
Memory Size64GB
vGPU Types--
VDI Machines1
+
Table 56 - ESXI Hosts - esxsvr-00f.pharmax.local

+

4.1.4 Gateway Servers

The following section details the Gateway Servers information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + +
NameIPVersionTypeZone Internal
Horizon-UAG-01V------No
Horizon-UAG-02V------No
+
Table 57 - Gateway Servers - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.1.5 Connection Servers

The following section details the configuration of Connection Servers for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + +
NameVersionEnabled
HORIZON-CS-01V8.11.0-22629722Yes
HORIZON-CS-02V8.11.0-22629722Yes
+
Table 58 - Connection Servers - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.1.5.1 General HORIZON-CS-01V Details

+ + + + + + + + + + + + + + + + + + + + +
NameHORIZON-CS-01V
FQDNHorizon-CS-01V.pharmax.local
Server Addresshttps://horizon-cs-01v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-01V.pharmax.local:443
External PCoIP URL192.168.7.202:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-01V.pharmax.local:8443
Local Connection ServerYes
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage23%
Current Memory Usage Percentage90%
+
Table 59 - Connection Servers - HORIZON-CS-01V

+

4.1.5.2 Authentication HORIZON-CS-01V Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
+
Table 60 - Authentication - HORIZON-CS-01V

+

4.1.5.3 Backup HORIZON-CS-01V Details

+ + + + + + +
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
+
Table 61 - Backup - HORIZON-CS-01V

+

4.1.5.4 Certificate Details for HORIZON-CS-01V Details

+ + + + + + + + + +
Connection ServerHORIZON-CS-01V
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANs--
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
+
Table 62 - Certificate Details for - HORIZON-CS-01V

+

4.1.5.5 Replication Status for Connection Server HORIZON-CS-01V

+ + + + + +
Connection ServerHORIZON-CS-01V
Replication PartnerHORIZON-CS-02V
StatusOK
MessageNo Replication Issues
+
Table 63 - Connection Servers Replication- HORIZON-CS-01V

+

4.1.5.6 General HORIZON-CS-02V Details

+ + + + + + + + + + + + + + + + + + + + +
NameHORIZON-CS-02V
FQDNHorizon-CS-02V.pharmax.local
Server Addresshttps://horizon-cs-02v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-02V.pharmax.local:443
External PCoIP URL192.168.7.63:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-02V.pharmax.local:8443
Local Connection ServerNo
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage3%
Current Memory Usage Percentage73%
+
Table 64 - Connection Servers - HORIZON-CS-02V

+

4.1.5.7 Authentication HORIZON-CS-02V Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
+
Table 65 - Authentication - HORIZON-CS-02V

+

4.1.5.8 Backup HORIZON-CS-02V Details

+ + + + + + +
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
+
Table 66 - Backup - HORIZON-CS-02V

+

4.1.5.9 Certificate Details for HORIZON-CS-02V Details

+ + + + + + + + + +
Connection ServerHORIZON-CS-02V
Self-Signed CertificateYes
Certificate SubjectCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate IssuerCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate Not Before04/10/2023 12:19:45
Certificate Not After07/13/2025 12:19:45
Certificate SANs--
Certificate ThumbprintB9AE51BC10F4D3FDE367640A687DB24032290C9D
+
Table 67 - Certificate Details for - HORIZON-CS-02V

+

4.1.5.10 Replication Status for Connection Server HORIZON-CS-02V

+ + + + + +
Connection ServerHORIZON-CS-02V
Replication PartnerHORIZON-CS-01V
StatusOK
MessageNo Replication Issues
+
Table 68 - Connection Servers Replication- HORIZON-CS-02V

+

4.1.6 Gateway Certificate

The following section details on the gateway certificate information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + +
Certificate Nameuag-01
Common NameOU=self-signed, CN=192.168.1.17
IssuerOU=self-signed, CN=192.168.1.17
Expiry Date03/23/2026 10:08:00
Serial Number72012228190
+
Table 69 - Gateway Certificate - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.2 Domains

4.2.1 Domain Accounts

The following section details the Domain Accounts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + +
User NameDomain Name
horizon-icpharmax.local
jocolonpharmax.local
+
Table 70 - Domain Accounts - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.2.2 Connection Server Domain Status

The following section shows connection servers domains for HORIZON-CS-01V.PHARMAX.LOCAL environment.

+ + + + + +
Domain DNS NameStatusTrust RelationshipConnection Status
acad.pharmax.localOKTWOWAY_FORESTFULLYACCESSIBLE
lab.localOKTWOWAYFULLYACCESSIBLE
pharmax.localOKPRIMARYDOMAINFULLYACCESSIBLE
uia.localOKTWOWAY_FORESTFULLYACCESSIBLE
+
Table 71 - Connection Server Domain Status- HORIZON-CS-01V.PHARMAX.LOCAL

+

4.3 Certificate Management

The following section details on the certificate management information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + + + +
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANs--
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
+
Table 72 - Certificate Management - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.4 Product Licensing and Usage

The following section details the product license and usage information for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.4.1 Licensing

+ + + + + + + + + + + + + + + + +
Is LicensedYes
License KeyZ428Q-XXXXX-XXXXX-XXXXX-C9K30
License Expiration4/10/2024
Composer enabledNo
Desktop Launching enabledYes
Application Launching enabledYes
Instant Clone enabledYes
Helpdesk enabledYes
Collaboration enabledYes
License EditionHORIZON_ENTERPRISE_CONCURRENT_USER
License Usage ModelCONCURRENT_USER
License ModeDEFAULT
Grace Period Days85
Subscription Slice Expiry--
License Health--
+
Table 73 - Licensing - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.4.2 Usage

+ + + + + + + + + + +
NameCurrent UsageHighest Usage
Total Concurrent Connections01
Total Named Users17--
Total Concurrent Sessions01
Concurrent Full Vm Sessions01
Concurrent Linked Clone Sessions00
Concurrent Unmanaged Vm Sessions01
Concurrent Application Sessions01
Concurrent Collaborative Sessions00
Total Collaborators00
+
Table 74 - Usage - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.4.3 Customer Experience Program

+ + + + + +
CEIP EnabledYes
Company SizeSIZE_1_100
GeolocationAMERICA_NORTH
VerticalSERVICES
+
Table 75 - Customer Experience Program - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.5 Global Settings

The following section details the Global Settings configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.5.1 General Settings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Client Session Time Out PolicyNEVER
Client Max Session Time Minutes 600
Client Idle Session Timeout PolicyNEVER
Client Idle Session Timeout Minutes--
Client Session Timeout Minutes 1200
Desktop SSO Timeout PolicyALWAYS_ENABLED
Desktop SSO Timeout Minutes--
Application SSO Timeout PolicyALWAYS_ENABLED
Application SSO Timeout Minutes--
View API Session Timeout Minutes10
Pre-Login Message--
Display Warning Before Forced LogoffYes
Forced Logoff Timeout Minutes5
Forced Logoff MessageYour desktop is scheduled for an important update and will shut down in 5 minutes. Please save any unsaved work now
Enable Server in Single User ModeNo
Store CAL on BrokerYes
Store CAL on ClientYes
Enable UI User Name CachingYes
Console Session Timeout in Minutes30
Enable Automatic Status UpdatesNo
Send Domain ListYes
Enable Credential Cleanup for HTML AccessNo
Hide Server Information In ClientNo
Hide Domain List In ClientNo
Enable Multi Factor ReauthenticationNo
Disconnect Warning Time0
Disconnect Warning MessageYour virtual session is going to be logged off. Please save your work.
Disconnect MessageYour session has expired. Please re-connect to the portal and restart the session.
Display Pre-login Admin BannerNo
Pre-Login Admin Banner HeaderAttention
Pre-Login Admin Banner MessageOn proceeding, you agree that you fully comply with the laws of this organisation.
Enforce CSRF Protection--
Enforce E2E EncryptionNo
+
Table 76 - Global Settings - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.5.2 Security Settings

+ + + + + + + +
Reauthenticate Secure Tunnel After InterruptionNo
Disallow Enhanced Security ModeNo
No Managed CertsNo
Message Security ModeENHANCED
Message Security StatusENHANCED
Enable IP Sec for Security Server PairingNo
+
Table 77 - Security Settings - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.5.3 Client Restriction Settings

+ + + + + + +
TypeVersionWarn Specific VersionsBlock Specific Versions
WINDOWS--5.5.0--
CHROME--5.5.0--
ANDROID--5.5.0--
IOS--5.5.0--
MAC--5.5.0--
+
Table 78 - Client Restriction Settings - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.6 Registered Machines

The following section provides information of Registered Machines for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.6.1 RDS Hosts

The following section details the RDS Hosts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + +
NameFarm NameStatus
app-farm-02APP-FarmAGENT_UNREACHABLE
app-farm-01APP-FarmAGENT_UNREACHABLE
+
Table 79 - RDS Hosts - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.6.1.1 RDS Hosts Details

app-farm-02

+ + + + + + + + + + + + + + + + + + + + +
Nameapp-farm-02
Descriptionapp-farm-02 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENABLED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version--
Agent Build Number--
Remote Experience Agent Version--
Remote Experience Agent Build Number--
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeLIMITED
Agent Max Sessions Set By Admin1
EnabledYes
StatusAGENT_UNREACHABLE
+
Table 80 - RDS Host - app-farm-02

+

app-farm-01

+ + + + + + + + + + + + + + + + + + + + +
Nameapp-farm-01
Descriptionapp-farm-01 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENABLED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version--
Agent Build Number--
Remote Experience Agent Version--
Remote Experience Agent Build Number--
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeLIMITED
Agent Max Sessions Set By Admin1
EnabledYes
StatusAGENT_UNREACHABLE
+
Table 81 - RDS Host - app-farm-01

+

4.7 Administrators

4.7.1 Administrators and Groups

The following section details the configuration of Administrators and Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + +
Display NameTypePermission Role
pharmax.local\12-051-distlist1GroupLocal Administrators (Read only)
pharmax.local\4256122656SAUserInventory Administrators
pharmax.local\4362712809SAUserInventory Administrators (Read only)
pharmax.local\AD - SRM Admin GroupGroupInventory Administrators
pharmax.local\AdministratorUserAdministrators
pharmax.local\Domain AdminsGroupPHARMAX-God-Admin
pharmax.local\horizon-icUserAdministrators (Read only)
pharmax.local\jocolonUserLocal Administrators, Help Desk Administrators, Inventory Administrators
+
Table 82 - Administrators and Groups - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.1.1 Administrators Users and Groups Details for Jonathan A. Colon Feliciano

Jonathan A. Colon Feliciano

+ + + + + + + + + + + + + + + + + + +
NameJonathan A. Colon Feliciano
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
Emailjocolon@pharmax.local
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNjocolon@pharmax.local
Permission RoleLocal Administrators, Help Desk Administrators, Inventory Administrators
+
Table 83 - Administrator - Jonathan A. Colon Feliciano

+

4.7.1.2 Administrators Users and Groups Details for Administrator

Administrator

+ + + + + + + + + + + + + + + + + + +
NameAdministrator
First Name--
Last Name--
Login NameAdministrator
Display Namepharmax.local\Administrator
Long Display NameAdministrator@pharmax.local (Administrator)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Administrator,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNAdministrator@pharmax.local
Permission RoleAdministrators
+
Table 84 - Administrator - Administrator

+

4.7.1.3 Administrators Users and Groups Details for Domain Admins

Domain Admins

+ + + + + + + + + + + + + + + + + + +
NameDomain Admins
First Name--
Last Name--
Login NameDomain Admins
Display Namepharmax.local\Domain Admins
Long Display NameDomain Admins/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=Domain Admins,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RolePHARMAX-God-Admin
+
Table 85 - Administrator - Domain Admins

+

4.7.1.4 Administrators Users and Groups Details for 12-051-distlist1

12-051-distlist1

+ + + + + + + + + + + + + + + + + + +
Name12-051-distlist1
First Name--
Last Name--
Login Name12-051-distlist1
Display Namepharmax.local\12-051-distlist1
Long Display Name12-051-distlist1/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=12-051-distlist1,OU=Devices,OU=ESM,OU=Tier 1,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleLocal Administrators (Read only)
+
Table 86 - Administrator - 12-051-distlist1

+

4.7.1.5 Administrators Users and Groups Details for 4362712809SA

4362712809SA

+ + + + + + + + + + + + + + + + + + +
Name4362712809SA
First Name--
Last Name4362712809SA
Login Name4362712809SA
Display Namepharmax.local\4362712809SA
Long Display Name4362712809SA@pharmax.local (4362712809SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4362712809SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4362712809SA@pharmax.local
Permission RoleInventory Administrators (Read only)
+
Table 87 - Administrator - 4362712809SA

+

4.7.1.6 Administrators Users and Groups Details for AD - SRM Admin Group

AD - SRM Admin Group

+ + + + + + + + + + + + + + + + + + +
NameAD - SRM Admin Group
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleInventory Administrators
+
Table 88 - Administrator - AD - SRM Admin Group

+

4.7.1.7 Administrators Users and Groups Details for VMware IC Account

VMware IC Account

+ + + + + + + + + + + + + + + + + + +
NameVMware IC Account
First NameVMware IC Account
Last Name--
Login Namehorizon-ic
Display Namepharmax.local\horizon-ic
Long Display Namehorizon-ic@pharmax.local (VMware IC Account)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=VMware IC Account,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNhorizon-ic@pharmax.local
Permission RoleAdministrators (Read only)
+
Table 89 - Administrator - VMware IC Account

+

4.7.1.8 Administrators Users and Groups Details for 4256122656SA

4256122656SA

+ + + + + + + + + + + + + + + + + + +
Name4256122656SA
First Name--
Last Name4256122656SA
Login Name4256122656SA
Display Namepharmax.local\4256122656SA
Long Display Name4256122656SA@pharmax.local (4256122656SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4256122656SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4256122656SA@pharmax.local
Permission RoleInventory Administrators
+
Table 90 - Administrator - 4256122656SA

+

4.7.2 Role Privileges

The following section details the Role Privileges information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + + + + + + +
NameDescription
AdministratorsAdministration users with full administrative rights
Administrators (Read only)Administration users with full read-only administrative rights
Agent Registration AdministratorsAdministration users with rights to register View agents.
Global Configuration and Policy AdministratorsAdministration users with rights for global and per Connection Server configuration settings.
Global Configuration and Policy Administrators (Read Only)Administration users with read only rights for global and per Connection Server configuration settings.
Help Desk AdministratorsAdministration users with rights for Help Desk portal management.
Help Desk Administrators (Read Only)Administration users with rights for Help Desk portal view.
Horizon Cloud ServiceAllows subscription license activation and monitoring from horizon cloud.
Inventory AdministratorsAdministration users with rights for inventory management.
Inventory Administrators (Read only)Administration users with rights to read inventory.
Local AdministratorsAdministration users with rights on Local POD.
Local Administrators (Read only)Administration users with Read only rights on Local POD.
PHARMAX-God-Admin--
+
Table 91 - Role Privileges - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.3 Role Privileges Details

The following section details the Role Privilege details for information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + + + + + + +
NameDescription
AdministratorsADMINISTRATOR
ADMINISTRATOR_VIEW
CLOUD_ADMIN
CVP_INTERACTIVE
CVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FEDERATED_LDAP_MANAGE
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMINISTRATOR
GLOBAL_ADMINISTRATOR_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_CVP_REGISTER
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_MANAGEMENT
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_MANAGEMENT
GLOBAL_ROLE_PERMISSION_MANAGEMENT
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR
HELPDESK_ADMINISTRATOR_VIEW
HORIZON_CLOUD_SERVICE
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR
LOCAL_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
SUBSCRIPTION_LICENSE_ADD
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Administrators (Read only)ADMINISTRATOR_VIEW
CVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMINISTRATOR_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR_VIEW
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
Agent Registration AdministratorsGLOBAL_MACHINE_REGISTER
Global Configuration and Policy AdministratorsGLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
Global Configuration and Policy Administrators (Read Only)GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
Help Desk AdministratorsCVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
HELPDESK_ADMINISTRATOR
HELPDESK_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_VIEW
REMOTE_ASSISTANCE
UDD_VIEW
Help Desk Administrators (Read Only)CVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
HELPDESK_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
Horizon Cloud ServiceCLOUD_ADMIN
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_REGISTER
HORIZON_CLOUD_SERVICE
POOL_VIEW
SUBSCRIPTION_LICENSE_ADD
Inventory AdministratorsCVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Inventory Administrators (Read only)CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
INVENTORY_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
Local AdministratorsCLOUD_ADMIN
CVP_INTERACTIVE
CVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_CVP_REGISTER
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR
LOCAL_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
SUBSCRIPTION_LICENSE_ADD
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Local Administrators (Read only)CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
PHARMAX-God-AdminCVP_VIEW
FEDERATED_LDAP_MANAGE
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_MANAGEMENT
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_MANAGEMENT
GLOBAL_ROLE_PERMISSION_MANAGEMENT
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR_VIEW
LOG_COLLECTION
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
UDD_VIEW
VC_CONFIG_VIEW
+
Table 92 - Role Privileges Details - Inventory Administrators (Read only)

+

4.7.4 Role Permissions

The following section details the Role Permissions information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + + + +
User or Group NameRoleAccess Group
12-051-distlist1Local Administrators (Read only)/Root/Gurabo-Sites
4256122656SAInventory Administrators/Root/Gurabo-Sites
4362712809SAInventory Administrators (Read only)/Root/CISA
AD - SRM Admin GroupInventory Administrators/Root/Prueba
AdministratorAdministrators/Root
Domain AdminsPHARMAX-God-Admin/Root
Jonathan A. Colon FelicianoLocal Administrators/Root/Gurabo-Sites
Jonathan A. Colon FelicianoHelp Desk Administrators/Root
Jonathan A. Colon FelicianoInventory Administrators/Root
VMware IC AccountAdministrators (Read only)/Root
+
Table 93 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.5 Access Groups

The following section summarizes the configuration of Access Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + +
NameDescription
CISA--
Gurabo-Sites--
PruebaPrueba Description
RootROOT FOLDER
+
Table 94 - Access Groups - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.5.1 Access Groups Details

Root

+ + + + + +
NamePermissions
AdministratorAdministrators
Domain AdminsPHARMAX-God-Admin
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
VMware IC AccountAdministrators (Read only)
+
Table 95 - Access Groups - Root

+

CISA

+ + +
NamePermissions
4362712809SAInventory Administrators (Read only)
+
Table 96 - Access Groups - CISA

+

Prueba

+ + +
NamePermissions
AD - SRM Admin GroupInventory Administrators
+
Table 97 - Access Groups - Prueba

+

Gurabo-Sites

+ + + + +
NamePermissions
12-051-distlist1Local Administrators (Read only)
4256122656SAInventory Administrators
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
+
Table 98 - Access Groups - Gurabo-Sites

+

4.7.6 Federation Access Groups

The following section details the Federation Access Group information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + +
User or Group NameRoleGlobal Access Group
AdministratorAdministratorsRoot
Domain AdminsPHARMAX-God-AdminRoot
Jonathan A. Colon FelicianoHelp Desk AdministratorsRoot
VMware IC AccountAdministrators (Read only)Root
+
Table 99 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.8 Cloud Pod Architecture

The following section details on the cloud pod architecture information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + + + + +
Pod NameCluster-HORIZON-CS-01V
Pod LocalYes
Pod SitePHARMAX-HQ
Pod Description--
Pod Cloud ManagedNo
Pod Connection ServersHORIZON-CS-01V
HORIZON-CS-02V
Pod Active Global Entitlements--
Pod Active Global Application Entitlements--
+
Table 100 - Cloud Pod Architecture - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.9 Site

The following section details on the Cloud Pod Site information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + +
Cloud Pod Sites NamePHARMAX-HQ
Cloud Pod Sites Description--
Cloud Pod Site Pod NameCluster-HORIZON-CS-01V
+
+

4.10 Event Configuration

The following section details on the events configuration information for HORIZON-CS-01V.PHARMAX.LOCAL.

4.10.1 Event Database

+ + + + + + + + + + + +
Serverhorizon-sql-01v
TypeSQLSERVER
Port1433
NameHZ-Event-DB
User Namehz-event-user
Table PrefixPHM
Show Events forTHREE_MONTHS
Classify Events as New for2 Days
Timing Profiler Events7 Days
EnabledYes
+
Table 101 - Event Database - HORIZON-CS-01V

+

4.10.2 Syslog Configuration

+ + + +
ServerPort
10.10.10.33514
192.168.5.1514
+
Table 102 - Syslog Configuration - HORIZON-CS-01V

+

4.10.3 Events to File System

+ + + + + + +
EnabledYes
Enabled on ErrorNo
Path\\192.168.5.1\WsusContent\HorizonEvents
User nameadministrator
Domainpharmax.local
+
Table 103 - Events to File System - HORIZON-CS-01V

+

4.11 Global Policies

The following section details on the Global Policies information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + +
Allow Multimedia RedirectionDeny
Allow USB AccessAllow
Allow Remote ModeAllow
Allow PCoIP Hardware AccelerationAllow
PCoIP Hardware Acceleration PriorityMedium
+
Table 104 - Global Policies - HORIZON-CS-01V.PHARMAX.LOCAL

+
+

diff --git a/Samples/VMware Horizon As Built Report.pdf b/Samples/VMware Horizon As Built Report.pdf index 82fff4e81703ab7efa0d315c5e77516c74df7377..32915cc16e9f3aedb5e2aff15ee3bd1edb047b55 100644 GIT binary patch delta 489533 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

iC{-bh#IA8)~@t%nhn|2Q|=iT769($}zYg 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 delta 482083 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

&GOuXMPZ7(Da(Zhhb`v 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 z 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 o^=IC`+@`}endYHnMe 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 Date: Wed, 14 Feb 2024 10:18:08 -0400 Subject: [PATCH 19/25] Added installed module version check --- .../Invoke-ASBuiltReport.VMware.Horizon.ps1 | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 index 082a1cc..a310e70 100644 --- a/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 +++ b/Src/Public/Invoke-ASBuiltReport.VMware.Horizon.ps1 @@ -28,6 +28,21 @@ Write-PScriboMessage -IsWarning "Documentation: https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon" Write-PScriboMessage -IsWarning "Issues or bug reporting: https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon/issues" + Try { + $InstalledVersion = Get-Module -ListAvailable -Name AsBuiltReport.VMware.Horizon -ErrorAction SilentlyContinue | Sort-Object -Property Version -Descending | Select-Object -First 1 -ExpandProperty Version + + if ($InstalledVersion) { + Write-PScriboMessage -IsWarning "AsBuiltReport.VMware.Horizon $($InstalledVersion.ToString()) is currently installed." + $LatestVersion = Find-Module -Name AsBuiltReport.VMware.Horizon -Repository PSGallery -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Version + if ($LatestVersion -gt $InstalledVersion) { + Write-PScriboMessage -IsWarning "AsBuiltReport.VMware.Horizon $($LatestVersion.ToString()) is available." + Write-PScriboMessage -IsWarning "Run 'Update-Module -Name AsBuiltReport.VMware.Horizon -Force' to install the latest version." + } + } + } Catch { + Write-PScriboMessage -IsWarning $_.Exception.Message + } + # Check if the required version of VMware PowerCLI is installed Get-RequiredModule -Name 'VMware.PowerCLI' -Version '13.2' From 524ce259dbd44e6b82cd4bf395e244df3f458a85 Mon Sep 17 00:00:00 2001 From: Jonathan Colon Date: Wed, 14 Feb 2024 10:26:31 -0400 Subject: [PATCH 20/25] Fix vmware logo --- ...Sample VMware Horizon As Built Report.html | 3639 +++++++++-------- Samples/VMware Horizon As Built Report.pdf | Bin 1215438 -> 1232811 bytes 2 files changed, 1931 insertions(+), 1708 deletions(-) diff --git a/Samples/Sample VMware Horizon As Built Report.html b/Samples/Sample VMware Horizon As Built Report.html index c6d2a80..2be6c9f 100644 --- a/Samples/Sample VMware Horizon As Built Report.html +++ b/Samples/Sample VMware Horizon As Built Report.html @@ -1,1708 +1,1931 @@ - - -VMware Horizon As Built Report - -

-
VMware Horizon As Built Report - v1.1

Table of Contents

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1HORIZON-CS-01V.PHARMAX.LOCAL
1.1   Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL
2Users and Groups
2.1   Local Entitlements
2.1.1      Local Entitlements Details
2.2   Home Site
2.3   Unauthenticated Access
3Inventory
3.1   Desktop Pools
3.1.1      Desktop Pools Details
3.1.1.1         Pool - Linux-Pharmax
3.2   Application Pool
3.2.1      Application Pool Details
3.2.1.1         Application Summary - 7-Zip File Manager
3.2.1.2         Application Summary - 7-Zip Help
3.2.1.3         Application Summary - Calculator
3.2.1.4         Application Summary - Google Chrome
3.2.1.5         Application Summary - Google Chrome
3.2.1.6         Application Summary - Notepad
3.2.1.7         Application Summary - Paint
3.3   Farm Pools
3.3.1      Farm Pools Details
3.3.1.1         APP-Farm
3.4   Machines
3.4.1      vCenter Machine Summary
3.5   Global Entitlements
3.5.1      Global Entitlement Summary Details
3.5.1.1         Summary - Group-Ent
3.5.1.2         Local Pools - Group-Ent
3.5.1.3         Users and Groups - Group-Ent
3.5.1.4         Summary - GEZ-Linux
3.5.1.5         Local Pools - GEZ-Linux
3.5.1.6         Users and Groups - GEZ-Linux
3.5.1.7         Summary - APPVol-FARM
3.5.1.8         Local Pools - APPVol-FARM
3.5.1.9         Users and Groups - APPVol-FARM
4Settings
4.1   Servers
4.1.1      vCenter Servers
4.1.1.1         vcenter-01v.pharmax.local
4.1.2      Datastores
4.1.2.1         Datastores Detailed
4.1.3      ESXi Hosts
4.1.3.1         RegionA01-COMP Cluster
4.1.3.2         RegionHQ-MGMT Cluster
4.1.4      Gateway Servers
4.1.5      Connection Servers
4.1.5.1         General HORIZON-CS-01V Details
4.1.5.2         Authentication HORIZON-CS-01V Details
4.1.5.3         Backup HORIZON-CS-01V Details
4.1.5.4         Certificate Details for HORIZON-CS-01V Details
4.1.5.5         Replication Status for Connection Server HORIZON-CS-01V
4.1.5.6         General HORIZON-CS-02V Details
4.1.5.7         Authentication HORIZON-CS-02V Details
4.1.5.8         Backup HORIZON-CS-02V Details
4.1.5.9         Certificate Details for HORIZON-CS-02V Details
4.1.5.10         Replication Status for Connection Server HORIZON-CS-02V
4.1.6      Gateway Certificate
4.2   Domains
4.2.1      Domain Accounts
4.2.2      Connection Server Domain Status
4.3   Certificate Management
4.4   Product Licensing and Usage
4.4.1      Licensing
4.4.2      Usage
4.4.3      Customer Experience Program
4.5   Global Settings
4.5.1      General Settings
4.5.2      Security Settings
4.5.3      Client Restriction Settings
4.6   Registered Machines
4.6.1      RDS Hosts
4.6.1.1         RDS Hosts Details
4.7   Administrators
4.7.1      Administrators and Groups
4.7.1.1         Administrators Users and Groups Details for Jonathan A. Colon Feliciano
4.7.1.2         Administrators Users and Groups Details for Administrator
4.7.1.3         Administrators Users and Groups Details for Domain Admins
4.7.1.4         Administrators Users and Groups Details for 12-051-distlist1
4.7.1.5         Administrators Users and Groups Details for 4362712809SA
4.7.1.6         Administrators Users and Groups Details for AD - SRM Admin Group
4.7.1.7         Administrators Users and Groups Details for VMware IC Account
4.7.1.8         Administrators Users and Groups Details for 4256122656SA
4.7.2      Role Privileges
4.7.3      Role Privileges Details
4.7.4      Role Permissions
4.7.5      Access Groups
4.7.5.1         Access Groups Details
4.7.6      Federation Access Groups
4.8   Cloud Pod Architecture
4.9   Site
4.10   Event Configuration
4.10.1      Event Database
4.10.2      Syslog Configuration
4.10.3      Events to File System
4.11   Global Policies
-

-
VMware Horizon As Built Report - v1.1

1 HORIZON-CS-01V.PHARMAX.LOCAL

1.1 Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL

- - - - - - - - - - - - - - - -
Number of Local Entitlements3
Number of Global Entitlements2
Number of Desktop Pools1
Number of Application Pool7
Number of Farms Pools1
Number of vCenter Servers1
Number of ESXi Hosts0
Number of Datastores0
Number of Active Directory Domains4
Number of UAG Servers2
Number of Connection Servers2
Number of Instant Clone Accounts2
Number of RDS Hosts2
Number of Administrators and Groups8
-
Table 1 - Executive Summary - HORIZON-CS-01V.PHARMAX.LOCAL

-

2 Users and Groups

The following section provides information about the permissions that control which remote desktops and applications your users can access.

2.1 Local Entitlements

The following section provide a summary of local user & groups entitlements.

- - - - -
User Principal NameGroup or UserDesktop EntitlementsApplication Entitlements
AD - SRM Admin GroupGroup04
AD - SRM Recovery GroupGroup04
jocolon@pharmax.localUser13
-
Table 2 - Local Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

-

2.1.1 Local Entitlements Details

The following section detail per user or group local entitlements.

Local Entitlement Details - Jonathan A. Colon Feliciano

- - - - - - - - - - - - - - - - - - - - -
NameJonathan A. Colon Feliciano
Group or UserUser
Domainpharmax.local
Ad Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Emailjocolon@pharmax.local
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Namejocolon@pharmax.local
Local MachinesN/A
Local User Persistent Disks--
Local DesktopsLinux-Pharmax
User ApplicationsCalculator, Notepad, Paint
-
Table 3 - Local Entitlements Details - Jonathan A. Colon Feliciano

-

Local Entitlement Details - AD - SRM Admin Group

- - - - - - - - - - - - - - - - - - - - -
NameAD - SRM Admin Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
-
Table 4 - Local Entitlements Details - AD - SRM Admin Group

-

Local Entitlement Details - AD - SRM Recovery Group

- - - - - - - - - - - - - - - - - - - - -
NameAD - SRM Recovery Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Recovery Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Recovery Group
Display Namepharmax.local\AD - SRM Recovery Group
Long Display NameAD - SRM Recovery Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
-
Table 5 - Local Entitlements Details - AD - SRM Recovery Group

-

2.2 Home Site

The following section provide a summary of user and group home site configuration.

- - -
User or Group NameDomainGroupEmailHome SiteGlobal EntitlementGlobal Application Entitlement
dbuserpharmax.localNo--PHARMAX-HQ----
-
Table 6 - Home Site General - HORIZON-CS-01V.PHARMAX.LOCAL

-

2.3 Unauthenticated Access

The following section provide a summary of user and group unauthenticated access configuration.

- - - -
Login NameUser IDDescriptionHybrid LogonPod Name
2254824036SApharmax.local\2254824036SA----Cluster-HORIZON-CS-01V
447284480SApharmax.local\447284480SA----Cluster-HORIZON-CS-01V
-
Table 7 - Unauthenticated Access - HORIZON-CS-01V.PHARMAX.LOCAL

-

3 Inventory

The following section provides detailed information about desktop, application, farm pools and global entitlement permissions that control which remote desktops and applications your users can access.

3.1 Desktop Pools

The following section details the Desktop Pools configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - -
NameTypeProvisioning TypeUser Assignment
Linux-PharmaxAUTOMATEDInstant CloneFLOATING
-
Table 8 - Desktop Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.1.1 Desktop Pools Details

3.1.1.1 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

- - - - - - - - - - - -
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
-
Table 9 - General - Linux-Pharmax

-

Detailed Settings - Linux-Pharmax

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
Max Number of Machines1
Min number of Machines--
Number of Spare Machines1
Connection Server Restrictions--
Stop Provisioning on ErrorYes
Add Virtual TPM--
Minimum Number of Machines Ready--
Naming MethodPATTERN
Naming Patternhz-vm-{n:fixed=3}v
Power PolicyALWAYS_POWERED_ON
Provisioning TimeUP_FRONT
Automatic Logoff PolicyAFTER
Automatic Logoff Minutes30
Allow Users to Reset MachinesYes
Allow Multiple Sessions Per UserYes
Delete or Refresh Machine After LogoffDELETE
Refresh OS Disk After LogoffNEVER
Refresh Period Days for Replica OS Disk--
Refresh Threshold Percentage For Replica OS Disk--
Empty Session Timeout Policy--
Empty Session Timeout Minutes--
Log off After Timeout--
Prelaunch Session Timeout Policy--
Prelaunch Session Timeout Minutes--
Session Timeout Policy--
Category Folder Name--
Client RestrictionsNo
Shortcut Locations--
Allow Users to use Multiple Sessions Per UserYes
Supported Session Types--
Cloud ManagedNo
Cloud AssignedNo
Display Assigned Machine NameNo
Display Machine AliasNo
Supported Display ProtocolsBLAST, PCOIP, RDP
Default Display ProtocolBLAST
Allow Users to Choose ProtocolNo
Enable HTML AccessYes
Enable CollaborationNo
Renderer 3DMANAGE_BY_VSPHERE_CLIENT
Enable GRID vGPUsNo
vGPU Grid Profile--
vRam Size MB--
Max Number of Monitors--
Max Resolution of Any One Monitor--
-
Table 10 - Pool Settings - Linux-Pharmax

-

vCenter Server Settings - Linux-Pharmax

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Virtual Centervcenter-01v.pharmax.local
Parent VMhz-tpl-ubuntu
Parent VM Path/PHARMAX-VSI-DC/vm/Horizon Lab/hz-tpl-ubuntu
Current Number of MachinesLinux-Pharmax
Parent Operating SystemLinux (Ubuntu)
Parent Operating System Architecture64_bit
SnapshotHorizon IC SnapShot
Snapshot Path/Horizon IC SnapShot
DatacenterPHARMAX-VSI-DC
Datacenter Path/PHARMAX-VSI-DC
VM FolderLinux-Pharmax
VM Folder Path/PHARMAX-VSI-DC/vm/Horizon Lab/Linux-Pharmax
Host or ClusterRegionHQ-MGMT
Host or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource PoolHorizon Lab
Resource Pool Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
DatastoresSSD-VM-HIGH-CAPACITY-PERF-MK
SSD-VM-HIGH-CAPACITY-PERF-KN
Datastores Storage Over-CommitUNBOUNDED, UNBOUNDED
Use VSANNo
Storage Cluster Path--
View Storage AcceleratorYes
Transparent Page Sharing ScopeVM
Replica Disk Datastore Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/SSD-VM-HIGH-CAPACITY-PERF-MK
NetworksGolden Image network selected
Network Card--
Network Label Enabled--
Network Nic Name--
Network Label Names--
Network Max Label Type--
Network Max Label--
Customization TypeCLONE_PREP
Customization Spec Name--
Power off Script Name--
Power off Script Parameters--
Post Synchronization Script Name--
Post Synchronization Script Parameters--
Priming Computer Account--
Guest Customization Accounthorizon-ic
No Customization Settings--
Sysprep Customization Settings--
Quick Prep Customization Settings--
Ad ContainerOU=Sales,OU=VDI-Computers
Reuse Pre-Existing AccountsNo
Image Management Stream--
Image Management Tag--
Compute Profile--
-
Table 11 - vCenter Server Settings - Linux-Pharmax

-

Pool Machine Summary - Linux-Pharmax

- - -
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
-
Table 12 - Pool Machine Summary - Linux-Pharmax

-

Desktop Pools Entitlements - Linux-Pharmax

- - -
NameDomainIs Group?
jocolonpharmax.localNo
-
Table 13 - Desktop Pools Entitlements - Linux-Pharmax

-

3.2 Application Pool

The following section details the configuration of Application Pool for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - -
NameVersionEnabled
7-Zip File Manager--Yes
7-Zip Help--Yes
Calculator10.0.20348.1Yes
Google Chrome--Yes
Google Chrome--Yes
Notepad10.0.20348.1Yes
Paint10.0.20348.1Yes
-
Table 14 - Applications - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.2.1 Application Pool Details

3.2.1.1 Application Summary - 7-Zip File Manager

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display Name7-Zip File Manager
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 15 - Application Summary - 7-Zip File Manager

-

3.2.1.2 Application Summary - 7-Zip Help

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display Name7-Zip Help
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip Help.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 16 - Application Summary - 7-Zip Help

-

3.2.1.3 Application Summary - Calculator

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameCalculator
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Calculator.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 17 - Application Summary - Calculator

-

3.2.1.4 Application Summary - Google Chrome

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 18 - Application Summary - Google Chrome

-

3.2.1.5 Application Summary - Google Chrome

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\Users\Public\Desktop\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 19 - Application Summary - Google Chrome

-

3.2.1.6 Application Summary - Notepad

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameNotepad
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.txt, .psm1, .psd1, .ps1, .wsc, .log, .htm, .compositefont, .ini, .sct, .inf, .scp, .wtx
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 20 - Application Summary - Notepad

-

3.2.1.7 Application Summary - Paint

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NamePaint
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.bmp, .tif, .webp, .jpe, .gif, .heif, .hif, .avif, .jpg, .png, .tiff, .rle, .wmf, .avci, .jpeg, .emf, .ico, .jfif, .dib, .heic
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
-
Table 21 - Application Summary - Paint

-

3.3 Farm Pools

The following section details the Farms configuration for H server.

- - -
NameTypeEnabled
APP-FarmAUTOMATEDYes
-
Table 22 - Farms - H

-

3.3.1 Farm Pools Details

3.3.1.1 APP-Farm

General

- - - - - - - - - - - - - - - - -
Pool NameAPP-Farm
Display NameAPP-Farm
Description--
Access GroupRoot
TypeAUTOMATED
SourceINSTANT_CLONE_ENGINE
EnabledYes
DeletingNo
Desktop--
App Volumes Server7e133e0a-b37c-401c-973d-f8919059323b
Default Display ProtocolBLAST
Allow Users to Choose ProtocolYes
HTML AccessYes
Enable Grid GPUs--
vGPU Profile--
-
Table 23 - General Information - APP-Farm

-

Load Balancing Settings

- - - - - - - - -
Use Custom ScriptNo
Include Session CountYes
CPU Usage Threshold0
Memory Usage Threshold0
Disk Queue Length Threshold0
Disk Read Latency Threshold0
Disk Write Latency Threshold0
-
Table 24 - Load Balancing Settings - APP-Farm

-

Provisioning Settings

- - - - - - - - -
Provisioning EnabledYes
Stop Provisioning on ErrorYes
Disconnected Session Timeout Minutes--
Disconnected Session Timeout PolicyNEVER
Empty Session Timeout Minutes1
Empty Session Timeout PolicyAFTER
Log off After TimeoutNo
-
Table 25 - Provisioning Settings - APP-Farm

-

vCenter Server Settings

- - - - - - - - -
VM folder/PHARMAX-VSI-DC/vm/Horizon Lab/APP-Farm
Host Or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource Pool/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
Golden Image/PHARMAX-VSI-DC/vm/Horizon Lab/Horizon-RDS-02T
Snapshot/FARM
Datastore PathsSSD-VM-HIGH-CAPACITY-PERF-KN
NetworksGolden Image network selected
-
Table 26 - vCenter Settings - APP-Farm

-

Guest Customization

- - - - - - - - - - - -
Guest CustomizationCLONE_PREP
Guest Customization Domain and Accounthorizon-ic
Allow Reuse of Existing Computer AccountsNo
AD ContainerOU=Finances,OU=VDI-Computers
Farm Customization Specification--
Power Off Script Name--
Power Off Script Parameters--
Post Sync Script Name--
Post Sync Script Parameters--
Priming Computer Account--
-
Table 27 - Guest Customization - APP-Farm

-

3.4 Machines

The following section details on all of the machine information for HORIZON-CS-01V.PHARMAX.LOCAL.

3.4.1 vCenter Machine Summary

- - -
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
-
Table 28 - vCenter Machine Summary - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5 Global Entitlements

The following section details the Global Entitlements configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - -
NameTypeNumber of Pods
APPVol-FARM--0
GEZ-Linux--0
Group-Ent--0
-
Table 29 - Global Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1 Global Entitlement Summary Details

3.5.1.1 Summary - Group-Ent

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGroup-Ent
Alias NameGroup Entitlement
Description--
ScopeSITE
From Home SiteYes
Require Home SiteYes
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolBLAST
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesYes
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsYes
Enable CollaborationYes
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
-
Table 30 - Detailed Information - Group-Ent

-

3.5.1.2 Local Pools - Group-Ent

- - - - - - - - - -
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count0
User or Group Count2
User or Group Site Override Count0
Member Pods--
-
Table 31 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1.3 Users and Groups - Group-Ent

- - - -
NameUser or GroupDomain
SCCM_AdminsGrouppharmax.local
AD - SRM Admin GroupGrouppharmax.local
-
Table 32 - Users and Groups - Group-Ent

-

3.5.1.4 Summary - GEZ-Linux

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameGEZ-Linux
Alias NameGEZ Linux
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesNo
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsNo
Enable CollaborationNo
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
-
Table 33 - Detailed Information - GEZ-Linux

-

3.5.1.5 Local Pools - GEZ-Linux

- - - - - - - - - -
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count1
User or Group Count2
User or Group Site Override Count0
Member Pods--
-
Table 34 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1.6 Users and Groups - GEZ-Linux

- - - -
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AD - SRM Recovery GroupGrouppharmax.local
-
Table 35 - Users and Groups - GEZ-Linux

-

3.5.1.7 Summary - APPVol-FARM

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Display NameAPPVol-FARM
Alias NameAPPVol-FARM
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset Machines--
Enable HTML AccessYes
Allow Multiple Sessions Per User--
Enable Pre-LaunchNo
Connection Server Restrictions--
Enable PrelaunchNo
Category Folder Name--
Client RestrictionsNo
Enable Collaboration--
Shortcut Locations--
Multisession ModeENABLED_DEFAULT_OFF
Backup GAE--
Display Assigned Machine Name--
Display Machine Alias--
Global Access Group IDRoot
-
Table 36 - Detailed Information - APPVol-FARM

-

3.5.1.8 Local Pools - APPVol-FARM

- - - - - - - - - -
Local Desktop Count--
Local Application Count0
Remote Desktop Count--
Remote Application Count0
User Count1
User or Group Count3
User or Group Site Override Count0
Member Pods--
-
Table 37 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

-

3.5.1.9 Users and Groups - APPVol-FARM

- - - - -
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AdministratorsGrouppharmax.local
Backup OperatorsGrouppharmax.local
-
Table 38 - Users and Groups - APPVol-FARM

-

4 Settings

The following section provides detailed information about the configuration of the components that comprise the Horizon Server infrastructure.

4.1 Servers

4.1.1 vCenter Servers

The following section details the vCenter Servers configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - -
NameVersionBuild NumberAPI VersionProvisioning Enabled
vcenter-01v.pharmax.local8.0.2226172218.0.2.0Yes
-
Table 39 - vCenter - HORIZON-CS-01V

-

4.1.1.1 vcenter-01v.pharmax.local

- - - - - - - - - - - - - - - - - - -
Namevcenter-01v.pharmax.local
Description--
Certificate Override--
Provisioning EnabledYes
Reclaim Disk SpaceYes
Port443
User SSLYes
User Nameadministrator@vsphere.local
TypeVIRTUAL_CENTER
TCP Port Number443
Max Concurrent Provisioning Operations20
Max Concurrent Power Operations50
Max Concurrent View Composer Maintenance Operations0
Max Concurrent View Composer Provisioning Operations12
Max Concurrent Instant Clone Engine Provisioning Operations20
Storage Acceleration EnabledYes
Storage Accelerator Default Cache Size1024MB
-
Table 40 - vCenter Server Details - vcenter-01v.pharmax.local

-

Storage Accelerator Overrides

- - - -
DatacenterClusterHostCache Size
PHARMAX-VSI-DCRegionB01-vSANvsan-01b.pharmax.local2048MB
PHARMAX-VSI-DCRegionHQ-MGMTesxsvr-00f.pharmax.local4096MB
-
Table 41 - Storage Accelerator Overrides - vcenter-01v.pharmax.local

-

4.1.2 Datastores

- - - - - - - - - - -
NameAccessible
esx-00fYes
HDD-VM-ISO-LOW-PERFYes
HDD-VM-MED-PERF-01Yes
HDD-VM-MED-PERF-02Yes
NVME-VFLASH-01Yes
NVME-VM-HIGH-PERF-01Yes
SSD-VM-HIGH-CAPACITY-PERF-KNYes
SSD-VM-HIGH-CAPACITY-PERF-MKYes
TrueNAS_VM_DATA (1)No
-
Table 42 - Datastores - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.1.2.1 Datastores Detailed

TrueNAS_VM_DATA (1)

- - - - - - -
Path/PHARMAX-VSI-DC/TrueNAS_VM_DATA (1)
TypeNFS41
Capacity0GB
Free Space0GB
AccessibleNo
-
Table 43 - Datastores Details - TrueNAS_VM_DATA (1)

-

NVME-VM-HIGH-PERF-01

- - - - - - -
Path/PHARMAX-VSI-DC/NVME-VM-HIGH-PERF-01
TypeVMFS
Capacity477GB
Free Space181GB
AccessibleYes
-
Table 44 - Datastores Details - NVME-VM-HIGH-PERF-01

-

esx-00f

- - - - - - -
Path/PHARMAX-VSI-DC/esx-00f
TypeVMFS
Capacity112GB
Free Space111GB
AccessibleYes
-
Table 45 - Datastores Details - esx-00f

-

HDD-VM-ISO-LOW-PERF

- - - - - - -
Path/PHARMAX-VSI-DC/HDD-VM-ISO-LOW-PERF
TypeVMFS
Capacity931GB
Free Space258GB
AccessibleYes
-
Table 46 - Datastores Details - HDD-VM-ISO-LOW-PERF

-

SSD-VM-HIGH-CAPACITY-PERF-MK

- - - - - - -
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-MK
TypeVMFS
Capacity931GB
Free Space594GB
AccessibleYes
-
Table 47 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-MK

-

SSD-VM-HIGH-CAPACITY-PERF-KN

- - - - - - -
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-KN
TypeVMFS
Capacity894GB
Free Space510GB
AccessibleYes
-
Table 48 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-KN

-

HDD-VM-MED-PERF-01

- - - - - - -
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-01
TypeVMFS
Capacity3726GB
Free Space2169GB
AccessibleYes
-
Table 49 - Datastores Details - HDD-VM-MED-PERF-01

-

HDD-VM-MED-PERF-02

- - - - - - -
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-02
TypeVMFS
Capacity3726GB
Free Space1774GB
AccessibleYes
-
Table 50 - Datastores Details - HDD-VM-MED-PERF-02

-

NVME-VFLASH-01

- - - - - - -
Path/PHARMAX-VSI-DC/NVME-VFLASH-01
TypeVMFS
Capacity238GB
Free Space99GB
AccessibleYes
-
Table 51 - Datastores Details - NVME-VFLASH-01

-

4.1.3 ESXi Hosts

The following section details the hardware information of ESXi Hosts for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.1.3.1 RegionA01-COMP Cluster

- - - -
NameVersionAPI VersionStatus
192.168.7.124----NOT_RESPONDING
comp-01a.pharmax.local----NOT_RESPONDING
-
Table 52 - ESXI Hosts - RegionA01-COMP

-

192.168.7.124 Details

- - - - - - -
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
-
Table 53 - ESXI Hosts - 192.168.7.124

-

comp-01a.pharmax.local Details

- - - - - - -
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
-
Table 54 - ESXI Hosts - comp-01a.pharmax.local

-

4.1.3.2 RegionHQ-MGMT Cluster

- - -
NameVersionAPI VersionStatus
esxsvr-00f.pharmax.local8.0.28.0.2.0CONNECTED
-
Table 55 - ESXI Hosts - RegionHQ-MGMT

-

esxsvr-00f.pharmax.local Details

- - - - - - -
CPU Cores4
CPU in Mhz3408
Memory Size64GB
vGPU Types--
VDI Machines1
-
Table 56 - ESXI Hosts - esxsvr-00f.pharmax.local

-

4.1.4 Gateway Servers

The following section details the Gateway Servers information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - -
NameIPVersionTypeZone Internal
Horizon-UAG-01V------No
Horizon-UAG-02V------No
-
Table 57 - Gateway Servers - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.1.5 Connection Servers

The following section details the configuration of Connection Servers for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - -
NameVersionEnabled
HORIZON-CS-01V8.11.0-22629722Yes
HORIZON-CS-02V8.11.0-22629722Yes
-
Table 58 - Connection Servers - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.1.5.1 General HORIZON-CS-01V Details

- - - - - - - - - - - - - - - - - - - - -
NameHORIZON-CS-01V
FQDNHorizon-CS-01V.pharmax.local
Server Addresshttps://horizon-cs-01v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-01V.pharmax.local:443
External PCoIP URL192.168.7.202:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-01V.pharmax.local:8443
Local Connection ServerYes
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage23%
Current Memory Usage Percentage90%
-
Table 59 - Connection Servers - HORIZON-CS-01V

-

4.1.5.2 Authentication HORIZON-CS-01V Details

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
-
Table 60 - Authentication - HORIZON-CS-01V

-

4.1.5.3 Backup HORIZON-CS-01V Details

- - - - - - -
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
-
Table 61 - Backup - HORIZON-CS-01V

-

4.1.5.4 Certificate Details for HORIZON-CS-01V Details

- - - - - - - - - -
Connection ServerHORIZON-CS-01V
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANs--
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
-
Table 62 - Certificate Details for - HORIZON-CS-01V

-

4.1.5.5 Replication Status for Connection Server HORIZON-CS-01V

- - - - - -
Connection ServerHORIZON-CS-01V
Replication PartnerHORIZON-CS-02V
StatusOK
MessageNo Replication Issues
-
Table 63 - Connection Servers Replication- HORIZON-CS-01V

-

4.1.5.6 General HORIZON-CS-02V Details

- - - - - - - - - - - - - - - - - - - - -
NameHORIZON-CS-02V
FQDNHorizon-CS-02V.pharmax.local
Server Addresshttps://horizon-cs-02v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-02V.pharmax.local:443
External PCoIP URL192.168.7.63:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-02V.pharmax.local:8443
Local Connection ServerNo
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage3%
Current Memory Usage Percentage73%
-
Table 64 - Connection Servers - HORIZON-CS-02V

-

4.1.5.7 Authentication HORIZON-CS-02V Details

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
-
Table 65 - Authentication - HORIZON-CS-02V

-

4.1.5.8 Backup HORIZON-CS-02V Details

- - - - - - -
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
-
Table 66 - Backup - HORIZON-CS-02V

-

4.1.5.9 Certificate Details for HORIZON-CS-02V Details

- - - - - - - - - -
Connection ServerHORIZON-CS-02V
Self-Signed CertificateYes
Certificate SubjectCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate IssuerCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate Not Before04/10/2023 12:19:45
Certificate Not After07/13/2025 12:19:45
Certificate SANs--
Certificate ThumbprintB9AE51BC10F4D3FDE367640A687DB24032290C9D
-
Table 67 - Certificate Details for - HORIZON-CS-02V

-

4.1.5.10 Replication Status for Connection Server HORIZON-CS-02V

- - - - - -
Connection ServerHORIZON-CS-02V
Replication PartnerHORIZON-CS-01V
StatusOK
MessageNo Replication Issues
-
Table 68 - Connection Servers Replication- HORIZON-CS-02V

-

4.1.6 Gateway Certificate

The following section details on the gateway certificate information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - - - -
Certificate Nameuag-01
Common NameOU=self-signed, CN=192.168.1.17
IssuerOU=self-signed, CN=192.168.1.17
Expiry Date03/23/2026 10:08:00
Serial Number72012228190
-
Table 69 - Gateway Certificate - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.2 Domains

4.2.1 Domain Accounts

The following section details the Domain Accounts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - -
User NameDomain Name
horizon-icpharmax.local
jocolonpharmax.local
-
Table 70 - Domain Accounts - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.2.2 Connection Server Domain Status

The following section shows connection servers domains for HORIZON-CS-01V.PHARMAX.LOCAL environment.

- - - - - -
Domain DNS NameStatusTrust RelationshipConnection Status
acad.pharmax.localOKTWOWAY_FORESTFULLYACCESSIBLE
lab.localOKTWOWAYFULLYACCESSIBLE
pharmax.localOKPRIMARYDOMAINFULLYACCESSIBLE
uia.localOKTWOWAY_FORESTFULLYACCESSIBLE
-
Table 71 - Connection Server Domain Status- HORIZON-CS-01V.PHARMAX.LOCAL

-

4.3 Certificate Management

The following section details on the certificate management information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - - - - - -
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANs--
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
-
Table 72 - Certificate Management - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.4 Product Licensing and Usage

The following section details the product license and usage information for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.4.1 Licensing

- - - - - - - - - - - - - - - - -
Is LicensedYes
License KeyZ428Q-XXXXX-XXXXX-XXXXX-C9K30
License Expiration4/10/2024
Composer enabledNo
Desktop Launching enabledYes
Application Launching enabledYes
Instant Clone enabledYes
Helpdesk enabledYes
Collaboration enabledYes
License EditionHORIZON_ENTERPRISE_CONCURRENT_USER
License Usage ModelCONCURRENT_USER
License ModeDEFAULT
Grace Period Days85
Subscription Slice Expiry--
License Health--
-
Table 73 - Licensing - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.4.2 Usage

- - - - - - - - - - -
NameCurrent UsageHighest Usage
Total Concurrent Connections01
Total Named Users17--
Total Concurrent Sessions01
Concurrent Full Vm Sessions01
Concurrent Linked Clone Sessions00
Concurrent Unmanaged Vm Sessions01
Concurrent Application Sessions01
Concurrent Collaborative Sessions00
Total Collaborators00
-
Table 74 - Usage - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.4.3 Customer Experience Program

- - - - - -
CEIP EnabledYes
Company SizeSIZE_1_100
GeolocationAMERICA_NORTH
VerticalSERVICES
-
Table 75 - Customer Experience Program - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.5 Global Settings

The following section details the Global Settings configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.5.1 General Settings

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Client Session Time Out PolicyNEVER
Client Max Session Time Minutes 600
Client Idle Session Timeout PolicyNEVER
Client Idle Session Timeout Minutes--
Client Session Timeout Minutes 1200
Desktop SSO Timeout PolicyALWAYS_ENABLED
Desktop SSO Timeout Minutes--
Application SSO Timeout PolicyALWAYS_ENABLED
Application SSO Timeout Minutes--
View API Session Timeout Minutes10
Pre-Login Message--
Display Warning Before Forced LogoffYes
Forced Logoff Timeout Minutes5
Forced Logoff MessageYour desktop is scheduled for an important update and will shut down in 5 minutes. Please save any unsaved work now
Enable Server in Single User ModeNo
Store CAL on BrokerYes
Store CAL on ClientYes
Enable UI User Name CachingYes
Console Session Timeout in Minutes30
Enable Automatic Status UpdatesNo
Send Domain ListYes
Enable Credential Cleanup for HTML AccessNo
Hide Server Information In ClientNo
Hide Domain List In ClientNo
Enable Multi Factor ReauthenticationNo
Disconnect Warning Time0
Disconnect Warning MessageYour virtual session is going to be logged off. Please save your work.
Disconnect MessageYour session has expired. Please re-connect to the portal and restart the session.
Display Pre-login Admin BannerNo
Pre-Login Admin Banner HeaderAttention
Pre-Login Admin Banner MessageOn proceeding, you agree that you fully comply with the laws of this organisation.
Enforce CSRF Protection--
Enforce E2E EncryptionNo
-
Table 76 - Global Settings - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.5.2 Security Settings

- - - - - - - -
Reauthenticate Secure Tunnel After InterruptionNo
Disallow Enhanced Security ModeNo
No Managed CertsNo
Message Security ModeENHANCED
Message Security StatusENHANCED
Enable IP Sec for Security Server PairingNo
-
Table 77 - Security Settings - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.5.3 Client Restriction Settings

- - - - - - -
TypeVersionWarn Specific VersionsBlock Specific Versions
WINDOWS--5.5.0--
CHROME--5.5.0--
ANDROID--5.5.0--
IOS--5.5.0--
MAC--5.5.0--
-
Table 78 - Client Restriction Settings - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.6 Registered Machines

The following section provides information of Registered Machines for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.6.1 RDS Hosts

The following section details the RDS Hosts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - -
NameFarm NameStatus
app-farm-02APP-FarmAGENT_UNREACHABLE
app-farm-01APP-FarmAGENT_UNREACHABLE
-
Table 79 - RDS Hosts - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.6.1.1 RDS Hosts Details

app-farm-02

- - - - - - - - - - - - - - - - - - - - -
Nameapp-farm-02
Descriptionapp-farm-02 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENABLED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version--
Agent Build Number--
Remote Experience Agent Version--
Remote Experience Agent Build Number--
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeLIMITED
Agent Max Sessions Set By Admin1
EnabledYes
StatusAGENT_UNREACHABLE
-
Table 80 - RDS Host - app-farm-02

-

app-farm-01

- - - - - - - - - - - - - - - - - - - - -
Nameapp-farm-01
Descriptionapp-farm-01 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENABLED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version--
Agent Build Number--
Remote Experience Agent Version--
Remote Experience Agent Build Number--
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeLIMITED
Agent Max Sessions Set By Admin1
EnabledYes
StatusAGENT_UNREACHABLE
-
Table 81 - RDS Host - app-farm-01

-

4.7 Administrators

4.7.1 Administrators and Groups

The following section details the configuration of Administrators and Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - -
Display NameTypePermission Role
pharmax.local\12-051-distlist1GroupLocal Administrators (Read only)
pharmax.local\4256122656SAUserInventory Administrators
pharmax.local\4362712809SAUserInventory Administrators (Read only)
pharmax.local\AD - SRM Admin GroupGroupInventory Administrators
pharmax.local\AdministratorUserAdministrators
pharmax.local\Domain AdminsGroupPHARMAX-God-Admin
pharmax.local\horizon-icUserAdministrators (Read only)
pharmax.local\jocolonUserLocal Administrators, Help Desk Administrators, Inventory Administrators
-
Table 82 - Administrators and Groups - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.1.1 Administrators Users and Groups Details for Jonathan A. Colon Feliciano

Jonathan A. Colon Feliciano

- - - - - - - - - - - - - - - - - - -
NameJonathan A. Colon Feliciano
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
Emailjocolon@pharmax.local
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNjocolon@pharmax.local
Permission RoleLocal Administrators, Help Desk Administrators, Inventory Administrators
-
Table 83 - Administrator - Jonathan A. Colon Feliciano

-

4.7.1.2 Administrators Users and Groups Details for Administrator

Administrator

- - - - - - - - - - - - - - - - - - -
NameAdministrator
First Name--
Last Name--
Login NameAdministrator
Display Namepharmax.local\Administrator
Long Display NameAdministrator@pharmax.local (Administrator)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Administrator,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNAdministrator@pharmax.local
Permission RoleAdministrators
-
Table 84 - Administrator - Administrator

-

4.7.1.3 Administrators Users and Groups Details for Domain Admins

Domain Admins

- - - - - - - - - - - - - - - - - - -
NameDomain Admins
First Name--
Last Name--
Login NameDomain Admins
Display Namepharmax.local\Domain Admins
Long Display NameDomain Admins/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=Domain Admins,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RolePHARMAX-God-Admin
-
Table 85 - Administrator - Domain Admins

-

4.7.1.4 Administrators Users and Groups Details for 12-051-distlist1

12-051-distlist1

- - - - - - - - - - - - - - - - - - -
Name12-051-distlist1
First Name--
Last Name--
Login Name12-051-distlist1
Display Namepharmax.local\12-051-distlist1
Long Display Name12-051-distlist1/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=12-051-distlist1,OU=Devices,OU=ESM,OU=Tier 1,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleLocal Administrators (Read only)
-
Table 86 - Administrator - 12-051-distlist1

-

4.7.1.5 Administrators Users and Groups Details for 4362712809SA

4362712809SA

- - - - - - - - - - - - - - - - - - -
Name4362712809SA
First Name--
Last Name4362712809SA
Login Name4362712809SA
Display Namepharmax.local\4362712809SA
Long Display Name4362712809SA@pharmax.local (4362712809SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4362712809SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4362712809SA@pharmax.local
Permission RoleInventory Administrators (Read only)
-
Table 87 - Administrator - 4362712809SA

-

4.7.1.6 Administrators Users and Groups Details for AD - SRM Admin Group

AD - SRM Admin Group

- - - - - - - - - - - - - - - - - - -
NameAD - SRM Admin Group
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleInventory Administrators
-
Table 88 - Administrator - AD - SRM Admin Group

-

4.7.1.7 Administrators Users and Groups Details for VMware IC Account

VMware IC Account

- - - - - - - - - - - - - - - - - - -
NameVMware IC Account
First NameVMware IC Account
Last Name--
Login Namehorizon-ic
Display Namepharmax.local\horizon-ic
Long Display Namehorizon-ic@pharmax.local (VMware IC Account)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=VMware IC Account,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNhorizon-ic@pharmax.local
Permission RoleAdministrators (Read only)
-
Table 89 - Administrator - VMware IC Account

-

4.7.1.8 Administrators Users and Groups Details for 4256122656SA

4256122656SA

- - - - - - - - - - - - - - - - - - -
Name4256122656SA
First Name--
Last Name4256122656SA
Login Name4256122656SA
Display Namepharmax.local\4256122656SA
Long Display Name4256122656SA@pharmax.local (4256122656SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4256122656SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4256122656SA@pharmax.local
Permission RoleInventory Administrators
-
Table 90 - Administrator - 4256122656SA

-

4.7.2 Role Privileges

The following section details the Role Privileges information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - - - - - - -
NameDescription
AdministratorsAdministration users with full administrative rights
Administrators (Read only)Administration users with full read-only administrative rights
Agent Registration AdministratorsAdministration users with rights to register View agents.
Global Configuration and Policy AdministratorsAdministration users with rights for global and per Connection Server configuration settings.
Global Configuration and Policy Administrators (Read Only)Administration users with read only rights for global and per Connection Server configuration settings.
Help Desk AdministratorsAdministration users with rights for Help Desk portal management.
Help Desk Administrators (Read Only)Administration users with rights for Help Desk portal view.
Horizon Cloud ServiceAllows subscription license activation and monitoring from horizon cloud.
Inventory AdministratorsAdministration users with rights for inventory management.
Inventory Administrators (Read only)Administration users with rights to read inventory.
Local AdministratorsAdministration users with rights on Local POD.
Local Administrators (Read only)Administration users with Read only rights on Local POD.
PHARMAX-God-Admin--
-
Table 91 - Role Privileges - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.3 Role Privileges Details

The following section details the Role Privilege details for information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - - - - - - -
NameDescription
AdministratorsADMINISTRATOR
ADMINISTRATOR_VIEW
CLOUD_ADMIN
CVP_INTERACTIVE
CVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FEDERATED_LDAP_MANAGE
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMINISTRATOR
GLOBAL_ADMINISTRATOR_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_CVP_REGISTER
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_MANAGEMENT
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_MANAGEMENT
GLOBAL_ROLE_PERMISSION_MANAGEMENT
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR
HELPDESK_ADMINISTRATOR_VIEW
HORIZON_CLOUD_SERVICE
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR
LOCAL_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
SUBSCRIPTION_LICENSE_ADD
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Administrators (Read only)ADMINISTRATOR_VIEW
CVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMINISTRATOR_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR_VIEW
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
Agent Registration AdministratorsGLOBAL_MACHINE_REGISTER
Global Configuration and Policy AdministratorsGLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
Global Configuration and Policy Administrators (Read Only)GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
Help Desk AdministratorsCVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
HELPDESK_ADMINISTRATOR
HELPDESK_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_VIEW
REMOTE_ASSISTANCE
UDD_VIEW
Help Desk Administrators (Read Only)CVP_VIEW
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
HELPDESK_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
Horizon Cloud ServiceCLOUD_ADMIN
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_REGISTER
HORIZON_CLOUD_SERVICE
POOL_VIEW
SUBSCRIPTION_LICENSE_ADD
Inventory AdministratorsCVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Inventory Administrators (Read only)CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_UI_INTERACTIVE
INVENTORY_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
Local AdministratorsCLOUD_ADMIN
CVP_INTERACTIVE
CVP_MANAGEMENT
CVP_OWNERSHIP
CVP_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_CVP_REGISTER
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
INVENTORY_ADMINISTRATOR
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR
LOCAL_ADMINISTRATOR_VIEW
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
SUBSCRIPTION_LICENSE_ADD
UDD_MANAGEMENT
UDD_VIEW
VC_CONFIG_VIEW
Local Administrators (Read only)CVP_VIEW
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_VIEW
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_VIEW
INVENTORY_ADMINISTRATOR_VIEW
LOCAL_ADMINISTRATOR_VIEW
MACHINE_VIEW
POOL_VIEW
UDD_VIEW
VC_CONFIG_VIEW
PHARMAX-God-AdminCVP_VIEW
FEDERATED_LDAP_MANAGE
FEDERATED_LDAP_VIEW
FEDERATED_SESSIONS_MANAGE
FEDERATED_SESSIONS_VIEW
FOLDER_MANAGEMENT
FOLDER_VIEW
GLOBAL_ADMIN_SDK_INTERACTIVE
GLOBAL_ADMIN_UI_INTERACTIVE
GLOBAL_CONFIG_MANAGEMENT
GLOBAL_CONFIG_VIEW
GLOBAL_CVP_PUBLICATION
GLOBAL_MACHINE_REGISTER
GLOBAL_PERMISSION_MANAGEMENT
GLOBAL_PERMISSION_VIEW
GLOBAL_ROLE_MANAGEMENT
GLOBAL_ROLE_PERMISSION_MANAGEMENT
GLOBAL_ROLE_VIEW
HELPDESK_ADMINISTRATOR_VIEW
LOG_COLLECTION
MACHINE_MAINTENANCE
MACHINE_MANAGEMENT
MACHINE_MANAGE_OFFLINE_SESSION
MACHINE_MANAGE_VDI_SESSION
MACHINE_REBOOT
MACHINE_USER_MANAGEMENT
MACHINE_VIEW
MANAGE_REMOTE_PROCESS
POOL_ENABLE
POOL_ENTITLE
POOL_MANAGEMENT
POOL_SVI_IMAGE_MANAGEMENT
POOL_VIEW
REMOTE_ASSISTANCE
UDD_VIEW
VC_CONFIG_VIEW
-
Table 92 - Role Privileges Details - Inventory Administrators (Read only)

-

4.7.4 Role Permissions

The following section details the Role Permissions information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - - - - - - - -
User or Group NameRoleAccess Group
12-051-distlist1Local Administrators (Read only)/Root/Gurabo-Sites
4256122656SAInventory Administrators/Root/Gurabo-Sites
4362712809SAInventory Administrators (Read only)/Root/CISA
AD - SRM Admin GroupInventory Administrators/Root/Prueba
AdministratorAdministrators/Root
Domain AdminsPHARMAX-God-Admin/Root
Jonathan A. Colon FelicianoLocal Administrators/Root/Gurabo-Sites
Jonathan A. Colon FelicianoHelp Desk Administrators/Root
Jonathan A. Colon FelicianoInventory Administrators/Root
VMware IC AccountAdministrators (Read only)/Root
-
Table 93 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.5 Access Groups

The following section summarizes the configuration of Access Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - -
NameDescription
CISA--
Gurabo-Sites--
PruebaPrueba Description
RootROOT FOLDER
-
Table 94 - Access Groups - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.7.5.1 Access Groups Details

Root

- - - - - -
NamePermissions
AdministratorAdministrators
Domain AdminsPHARMAX-God-Admin
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
VMware IC AccountAdministrators (Read only)
-
Table 95 - Access Groups - Root

-

CISA

- - -
NamePermissions
4362712809SAInventory Administrators (Read only)
-
Table 96 - Access Groups - CISA

-

Prueba

- - -
NamePermissions
AD - SRM Admin GroupInventory Administrators
-
Table 97 - Access Groups - Prueba

-

Gurabo-Sites

- - - - -
NamePermissions
12-051-distlist1Local Administrators (Read only)
4256122656SAInventory Administrators
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
-
Table 98 - Access Groups - Gurabo-Sites

-

4.7.6 Federation Access Groups

The following section details the Federation Access Group information for HORIZON-CS-01V.PHARMAX.LOCAL server.

- - - - - -
User or Group NameRoleGlobal Access Group
AdministratorAdministratorsRoot
Domain AdminsPHARMAX-God-AdminRoot
Jonathan A. Colon FelicianoHelp Desk AdministratorsRoot
VMware IC AccountAdministrators (Read only)Root
-
Table 99 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.8 Cloud Pod Architecture

The following section details on the cloud pod architecture information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - - - - - - -
Pod NameCluster-HORIZON-CS-01V
Pod LocalYes
Pod SitePHARMAX-HQ
Pod Description--
Pod Cloud ManagedNo
Pod Connection ServersHORIZON-CS-01V
HORIZON-CS-02V
Pod Active Global Entitlements--
Pod Active Global Application Entitlements--
-
Table 100 - Cloud Pod Architecture - HORIZON-CS-01V.PHARMAX.LOCAL

-

4.9 Site

The following section details on the Cloud Pod Site information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - -
Cloud Pod Sites NamePHARMAX-HQ
Cloud Pod Sites Description--
Cloud Pod Site Pod NameCluster-HORIZON-CS-01V
-
-

4.10 Event Configuration

The following section details on the events configuration information for HORIZON-CS-01V.PHARMAX.LOCAL.

4.10.1 Event Database

- - - - - - - - - - - -
Serverhorizon-sql-01v
TypeSQLSERVER
Port1433
NameHZ-Event-DB
User Namehz-event-user
Table PrefixPHM
Show Events forTHREE_MONTHS
Classify Events as New for2 Days
Timing Profiler Events7 Days
EnabledYes
-
Table 101 - Event Database - HORIZON-CS-01V

-

4.10.2 Syslog Configuration

- - - -
ServerPort
10.10.10.33514
192.168.5.1514
-
Table 102 - Syslog Configuration - HORIZON-CS-01V

-

4.10.3 Events to File System

- - - - - - -
EnabledYes
Enabled on ErrorNo
Path\\192.168.5.1\WsusContent\HorizonEvents
User nameadministrator
Domainpharmax.local
-
Table 103 - Events to File System - HORIZON-CS-01V

-

4.11 Global Policies

The following section details on the Global Policies information for HORIZON-CS-01V.PHARMAX.LOCAL.

- - - - - - -
Allow Multimedia RedirectionDeny
Allow USB AccessAllow
Allow Remote ModeAllow
Allow PCoIP Hardware AccelerationAllow
PCoIP Hardware Acceleration PriorityMedium
-
Table 104 - Global Policies - HORIZON-CS-01V.PHARMAX.LOCAL

-
-

+ + +VMware Horizon As Built Report + +
+ +











+VMware Logo +
+

VMware Horizon As Built Report


As Built Report
































+ + + +
Author:As Built Report
Date:Wednesday, February 14, 2024
Version:1.1
+
+
+
VMware Horizon As Built Report - v1.1

Table of Contents

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
1HORIZON-CS-01V.PHARMAX.LOCAL
1.1   Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL
2Users and Groups
2.1   Local Entitlements
2.1.1      Local Entitlements Details
2.2   Home Site
2.3   Unauthenticated Access
3Inventory
3.1   Desktop Pools
3.1.1      Desktop Pools Details
3.1.1.1         Pool - Linux-Pharmax
3.2   Application Pool
3.2.1      Application Pool Details
3.2.1.1         Application Summary - 7-Zip File Manager
3.2.1.2         Application Summary - 7-Zip Help
3.2.1.3         Application Summary - Calculator
3.2.1.4         Application Summary - Google Chrome
3.2.1.5         Application Summary - Google Chrome
3.2.1.6         Application Summary - Notepad
3.2.1.7         Application Summary - Paint
3.3   Farm Pools
3.3.1      Farm Pools Details
3.3.1.1         APP-Farm
3.4   Machines
3.4.1      vCenter Machine Summary
3.5   Global Entitlements
3.5.1      Global Entitlement Summary Details
3.5.1.1         Summary - Group-Ent
3.5.1.2         Local Pools - Group-Ent
3.5.1.3         Users and Groups - Group-Ent
3.5.1.4         Summary - GEZ-Linux
3.5.1.5         Local Pools - GEZ-Linux
3.5.1.6         Users and Groups - GEZ-Linux
3.5.1.7         Summary - APPVol-FARM
3.5.1.8         Local Pools - APPVol-FARM
3.5.1.9         Users and Groups - APPVol-FARM
4Settings
4.1   Servers
4.1.1      vCenter Servers
4.1.1.1         vcenter-01v.pharmax.local
4.1.2      Datastores
4.1.2.1         Datastores Detailed
4.1.3      ESXi Hosts
4.1.3.1         RegionA01-COMP Cluster
4.1.3.2         RegionHQ-MGMT Cluster
4.1.4      Gateway Servers
4.1.5      Connection Servers
4.1.5.1         General HORIZON-CS-01V Details
4.1.5.2         Authentication HORIZON-CS-01V Details
4.1.5.3         Backup HORIZON-CS-01V Details
4.1.5.4         Certificate Details for HORIZON-CS-01V Details
4.1.5.5         Replication Status for Connection Server HORIZON-CS-01V
4.1.5.6         General HORIZON-CS-02V Details
4.1.5.7         Authentication HORIZON-CS-02V Details
4.1.5.8         Backup HORIZON-CS-02V Details
4.1.5.9         Certificate Details for HORIZON-CS-02V Details
4.1.5.10         Replication Status for Connection Server HORIZON-CS-02V
4.1.6      Gateway Certificate
4.2   Domains
4.2.1      Domain Accounts
4.2.2      Connection Server Domain Status
4.3   Certificate Management
4.4   Product Licensing and Usage
4.4.1      Licensing
4.4.2      Usage
4.4.3      Customer Experience Program
4.5   Global Settings
4.5.1      General Settings
4.5.2      Security Settings
4.5.3      Client Restriction Settings
4.6   Registered Machines
4.6.1      RDS Hosts
4.6.1.1         RDS Hosts Details
4.7   Administrators
4.7.1      Administrators and Groups
4.7.1.1         Administrators Users and Groups Details for Jonathan A. Colon Feliciano
4.7.1.2         Administrators Users and Groups Details for Administrator
4.7.1.3         Administrators Users and Groups Details for Domain Admins
4.7.1.4         Administrators Users and Groups Details for 12-051-distlist1
4.7.1.5         Administrators Users and Groups Details for 4362712809SA
4.7.1.6         Administrators Users and Groups Details for AD - SRM Admin Group
4.7.1.7         Administrators Users and Groups Details for VMware IC Account
4.7.1.8         Administrators Users and Groups Details for 4256122656SA
4.7.2      Role Privileges
4.7.3      Role Privileges Details
4.7.4      Role Permissions
4.7.5      Access Groups
4.7.5.1         Access Groups Details
4.7.6      Federation Access Groups
4.8   Cloud Pod Architecture
4.9   Site
4.10   Event Configuration
4.10.1      Event Database
4.10.2      Syslog Configuration
4.10.3      Events to File System
4.11   Global Policies
+

+
VMware Horizon As Built Report - v1.1

1 HORIZON-CS-01V.PHARMAX.LOCAL

1.1 Executive Summary for HORIZON-CS-01V.PHARMAX.LOCAL

+ + + + + + + + + + + + + + + +
Number of Local Entitlements3
Number of Global Entitlements2
Number of Desktop Pools1
Number of Application Pool7
Number of Farms Pools1
Number of vCenter Servers1
Number of ESXi Hosts0
Number of Datastores0
Number of Active Directory Domains4
Number of UAG Servers2
Number of Connection Servers2
Number of Instant Clone Accounts2
Number of RDS Hosts2
Number of Administrators and Groups8
+
Table 1 - Executive Summary - HORIZON-CS-01V.PHARMAX.LOCAL

+

2 Users and Groups

The following section provides information about the permissions that control which remote desktops and applications your users can access.

2.1 Local Entitlements

The following section provide a summary of local user & groups entitlements.

+ + + + +
User Principal NameGroup or UserDesktop EntitlementsApplication Entitlements
AD - SRM Admin GroupGroup04
AD - SRM Recovery GroupGroup04
jocolon@pharmax.localUser13
+
Table 2 - Local Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

+

2.1.1 Local Entitlements Details

The following section detail per user or group local entitlements.

Local Entitlement Details - Jonathan A. Colon Feliciano

+ + + + + + + + + + + + + + + + + + + + +
NameJonathan A. Colon Feliciano
Group or UserUser
Domainpharmax.local
Ad Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Emailjocolon@pharmax.local
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Namejocolon@pharmax.local
Local MachinesN/A
Local User Persistent Disks--
Local DesktopsLinux-Pharmax
User ApplicationsCalculator, Notepad, Paint
+
Table 3 - Local Entitlements Details - Jonathan A. Colon Feliciano

+

Local Entitlement Details - AD - SRM Admin Group

+ + + + + + + + + + + + + + + + + + + + +
NameAD - SRM Admin Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
+
Table 4 - Local Entitlements Details - AD - SRM Admin Group

+

Local Entitlement Details - AD - SRM Recovery Group

+ + + + + + + + + + + + + + + + + + + + +
NameAD - SRM Recovery Group
Group or UserGroup
Domainpharmax.local
Ad Distinguished NameCN=AD - SRM Recovery Group,CN=Users,DC=pharmax,DC=local
First Name--
Last Name--
Login NameAD - SRM Recovery Group
Display Namepharmax.local\AD - SRM Recovery Group
Long Display NameAD - SRM Recovery Group/pharmax.local
Email--
Kiosk UserNo
Phone--
Description--
In Folder--
User Principal Name--
Local MachinesN/A
Local User Persistent Disks--
Local Desktops--
User ApplicationsCalculator, Notepad, Paint, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome, 7-Zip File Manager, 7-Zip Help, Google Chrome, Google Chrome
+
Table 5 - Local Entitlements Details - AD - SRM Recovery Group

+

2.2 Home Site

The following section provide a summary of user and group home site configuration.

+ + +
User or Group NameDomainGroupEmailHome SiteGlobal EntitlementGlobal Application Entitlement
dbuserpharmax.localNo--PHARMAX-HQ----
+
Table 6 - Home Site General - HORIZON-CS-01V.PHARMAX.LOCAL

+

2.3 Unauthenticated Access

The following section provide a summary of user and group unauthenticated access configuration.

+ + + +
Login NameUser IDDescriptionHybrid LogonPod Name
2254824036SApharmax.local\2254824036SA----Cluster-HORIZON-CS-01V
447284480SApharmax.local\447284480SA----Cluster-HORIZON-CS-01V
+
Table 7 - Unauthenticated Access - HORIZON-CS-01V.PHARMAX.LOCAL

+

3 Inventory

The following section provides detailed information about desktop, application, farm pools and global entitlement permissions that control which remote desktops and applications your users can access.

3.1 Desktop Pools

The following section details the Desktop Pools configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + +
NameTypeProvisioning TypeUser Assignment
Linux-PharmaxAUTOMATEDInstant CloneFLOATING
+
Table 8 - Desktop Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.1.1 Desktop Pools Details

3.1.1.1 Pool - Linux-Pharmax

General Summary - Linux-Pharmax

+ + + + + + + + + + + +
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
+
Table 9 - General - Linux-Pharmax

+

Detailed Settings - Linux-Pharmax

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameLinux-Pharmax
Display NameLinux
Description--
Access GroupRoot
EnabledYes
TypeAUTOMATED
Machine SourcevCenter(Instant Clone)
Provisioning TypeInstant Clone
Enabled for ProvisioningYes
Client Restrictions EnabledNo
Max Number of Machines1
Min number of Machines--
Number of Spare Machines1
Connection Server Restrictions--
Stop Provisioning on ErrorYes
Add Virtual TPM--
Minimum Number of Machines Ready--
Naming MethodPATTERN
Naming Patternhz-vm-{n:fixed=3}v
Power PolicyALWAYS_POWERED_ON
Provisioning TimeUP_FRONT
Automatic Logoff PolicyAFTER
Automatic Logoff Minutes30
Allow Users to Reset MachinesYes
Allow Multiple Sessions Per UserYes
Delete or Refresh Machine After LogoffDELETE
Refresh OS Disk After LogoffNEVER
Refresh Period Days for Replica OS Disk--
Refresh Threshold Percentage For Replica OS Disk--
Empty Session Timeout Policy--
Empty Session Timeout Minutes--
Log off After Timeout--
Prelaunch Session Timeout Policy--
Prelaunch Session Timeout Minutes--
Session Timeout Policy--
Category Folder Name--
Client RestrictionsNo
Shortcut Locations--
Allow Users to use Multiple Sessions Per UserYes
Supported Session Types--
Cloud ManagedNo
Cloud AssignedNo
Display Assigned Machine NameNo
Display Machine AliasNo
Supported Display ProtocolsBLAST, PCOIP, RDP
Default Display ProtocolBLAST
Allow Users to Choose ProtocolNo
Enable HTML AccessYes
Enable CollaborationNo
Renderer 3DMANAGE_BY_VSPHERE_CLIENT
Enable GRID vGPUsNo
vGPU Grid Profile--
vRam Size MB--
Max Number of Monitors--
Max Resolution of Any One Monitor--
+
Table 10 - Pool Settings - Linux-Pharmax

+

vCenter Server Settings - Linux-Pharmax

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Virtual Centervcenter-01v.pharmax.local
Parent VMhz-tpl-ubuntu
Parent VM Path/PHARMAX-VSI-DC/vm/Horizon Lab/hz-tpl-ubuntu
Current Number of MachinesLinux-Pharmax
Parent Operating SystemLinux (Ubuntu)
Parent Operating System Architecture64_bit
SnapshotHorizon IC SnapShot
Snapshot Path/Horizon IC SnapShot
DatacenterPHARMAX-VSI-DC
Datacenter Path/PHARMAX-VSI-DC
VM FolderLinux-Pharmax
VM Folder Path/PHARMAX-VSI-DC/vm/Horizon Lab/Linux-Pharmax
Host or ClusterRegionHQ-MGMT
Host or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource PoolHorizon Lab
Resource Pool Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
DatastoresSSD-VM-HIGH-CAPACITY-PERF-MK
SSD-VM-HIGH-CAPACITY-PERF-KN
Datastores Storage Over-CommitUNBOUNDED, UNBOUNDED
Use VSANNo
Storage Cluster Path--
View Storage AcceleratorYes
Transparent Page Sharing ScopeVM
Replica Disk Datastore Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT/SSD-VM-HIGH-CAPACITY-PERF-MK
NetworksGolden Image network selected
Network Card--
Network Label Enabled--
Network Nic Name--
Network Label Names--
Network Max Label Type--
Network Max Label--
Customization TypeCLONE_PREP
Customization Spec Name--
Power off Script Name--
Power off Script Parameters--
Post Synchronization Script Name--
Post Synchronization Script Parameters--
Priming Computer Account--
Guest Customization Accounthorizon-ic
No Customization Settings--
Sysprep Customization Settings--
Quick Prep Customization Settings--
Ad ContainerOU=Sales,OU=VDI-Computers
Reuse Pre-Existing AccountsNo
Image Management Stream--
Image Management Tag--
Compute Profile--
+
Table 11 - vCenter Server Settings - Linux-Pharmax

+

Pool Machine Summary - Linux-Pharmax

+ + +
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
+
Table 12 - Pool Machine Summary - Linux-Pharmax

+

Desktop Pools Entitlements - Linux-Pharmax

+ + +
NameDomainIs Group?
jocolonpharmax.localNo
+
Table 13 - Desktop Pools Entitlements - Linux-Pharmax

+

3.2 Application Pool

The following section details the configuration of Application Pool for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + +
NameVersionEnabled
7-Zip File Manager--Yes
7-Zip Help--Yes
Calculator10.0.20348.1Yes
Google Chrome--Yes
Google Chrome--Yes
Notepad10.0.20348.1Yes
Paint10.0.20348.1Yes
+
Table 14 - Applications - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.2.1 Application Pool Details

3.2.1.1 Application Summary - 7-Zip File Manager

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display Name7-Zip File Manager
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 15 - Application Summary - 7-Zip File Manager

+

3.2.1.2 Application Summary - 7-Zip Help

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display Name7-Zip Help
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Packagedd8ed85f-d5d5-4573-809a-f07d8fefae23
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip Help.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 16 - Application Summary - 7-Zip Help

+

3.2.1.3 Application Summary - Calculator

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameCalculator
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Calculator.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 17 - Application Summary - Calculator

+

3.2.1.4 Application Summary - Google Chrome

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 18 - Application Summary - Google Chrome

+

3.2.1.5 Application Summary - Google Chrome

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGoogle Chrome
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppYes
App Volumes Package9f8657fa-a062-40cb-b60f-4e96443ea6eb
Executable PathC:\Users\Public\Desktop\Google Chrome.lnk
Version--
Publisher--
Start Folder--
Argument--
FarmAPP-Farm
File Types--
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 19 - Application Summary - Google Chrome

+

3.2.1.6 Application Summary - Notepad

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameNotepad
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.log, .inf, .scp, .psd1, .txt, .ini, .wsc, .ps1, .htm, .wtx, .psm1, .sct, .compositefont
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 20 - Application Summary - Notepad

+

3.2.1.7 Application Summary - Paint

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NamePaint
Description--
EnabledYes
Global Application EntitlementNo Global Application Entitlement
Enable Anti Affinity RulesNo
Anti-Affinity Patterns--
Anti-Affinity Count--
Enable Pre-LaunchNo
Connection Server Restrictions--
Category Folder--
Client RestrictionsNo
Shortcut Location--
Multi Session ModeDISABLED
Max Multi Sessions--
Cloud BrokeredNo
App Volumes AppNo
App Volumes Package--
Executable PathC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk
Version10.0.20348.1
PublisherMicrosoft Corporation
Start Folder--
Argument--
FarmAPP-Farm
File Types.jpeg, .heic, .gif, .emf, .bmp, .wmf, .jfif, .jpg, .dib, .jpe, .avci, .hif, .tiff, .webp, .ico, .avif, .png, .heif, .rle, .tif
Auto Update File TypesYes
Other File Types--
Auto Update Other File TypesYes
Access GroupRoot
+
Table 21 - Application Summary - Paint

+

3.3 Farm Pools

The following section details the Farms configuration for H server.

+ + +
NameTypeEnabled
APP-FarmAUTOMATEDYes
+
Table 22 - Farms - H

+

3.3.1 Farm Pools Details

3.3.1.1 APP-Farm

General

+ + + + + + + + + + + + + + + + +
Pool NameAPP-Farm
Display NameAPP-Farm
Description--
Access GroupRoot
TypeAUTOMATED
SourceINSTANT_CLONE_ENGINE
EnabledYes
DeletingNo
Desktop--
App Volumes Server7e133e0a-b37c-401c-973d-f8919059323b
Default Display ProtocolBLAST
Allow Users to Choose ProtocolYes
HTML AccessYes
Enable Grid GPUs--
vGPU Profile--
+
Table 23 - General Information - APP-Farm

+

Load Balancing Settings

+ + + + + + + + +
Use Custom ScriptNo
Include Session CountYes
CPU Usage Threshold0
Memory Usage Threshold0
Disk Queue Length Threshold0
Disk Read Latency Threshold0
Disk Write Latency Threshold0
+
Table 24 - Load Balancing Settings - APP-Farm

+

Provisioning Settings

+ + + + + + + + +
Provisioning EnabledYes
Stop Provisioning on ErrorYes
Disconnected Session Timeout Minutes--
Disconnected Session Timeout PolicyNEVER
Empty Session Timeout Minutes1
Empty Session Timeout PolicyAFTER
Log off After TimeoutNo
+
Table 25 - Provisioning Settings - APP-Farm

+

vCenter Server Settings

+ + + + + + + + +
VM folder/PHARMAX-VSI-DC/vm/Horizon Lab/APP-Farm
Host Or Cluster Path/PHARMAX-VSI-DC/host/RegionHQ-MGMT
Resource Pool/PHARMAX-VSI-DC/host/RegionHQ-MGMT/Resources/Horizon Lab
Golden Image/PHARMAX-VSI-DC/vm/Horizon Lab/Horizon-RDS-02T
Snapshot/FARM
Datastore PathsSSD-VM-HIGH-CAPACITY-PERF-KN
NetworksGolden Image network selected
+
Table 26 - vCenter Settings - APP-Farm

+

Guest Customization

+ + + + + + + + + + + +
Guest CustomizationCLONE_PREP
Guest Customization Domain and Accounthorizon-ic
Allow Reuse of Existing Computer AccountsNo
AD ContainerOU=Finances,OU=VDI-Computers
Farm Customization Specification--
Power Off Script Name--
Power Off Script Parameters--
Post Sync Script Name--
Post Sync Script Parameters--
Priming Computer Account--
+
Table 27 - Guest Customization - APP-Farm

+

3.4 Machines

The following section details on all of the machine information for HORIZON-CS-01V.PHARMAX.LOCAL.

3.4.1 vCenter Machine Summary

+ + +
Machine NameAgent VersionUserHostData StoreBasic State
hz-vm-001v8.10.0--esxsvr-00f.pharmax.localHDD-VM-MED-PERF-02AVAILABLE
+
Table 28 - vCenter Machine Summary - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5 Global Entitlements

The following section details the Global Entitlements configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + +
NameTypeNumber of Pods
APPVol-FARM--0
GEZ-Linux--0
Group-Ent--0
+
Table 29 - Global Entitlements - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1 Global Entitlement Summary Details

3.5.1.1 Summary - Group-Ent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGroup-Ent
Alias NameGroup Entitlement
Description--
ScopeSITE
From Home SiteYes
Require Home SiteYes
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolBLAST
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesYes
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsYes
Enable CollaborationYes
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
+
Table 30 - Detailed Information - Group-Ent

+

3.5.1.2 Local Pools - Group-Ent

+ + + + + + + + + +
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count0
User or Group Count2
User or Group Site Override Count0
Member Pods--
+
Table 31 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1.3 Users and Groups - Group-Ent

+ + + +
NameUser or GroupDomain
SCCM_AdminsGrouppharmax.local
AD - SRM Admin GroupGrouppharmax.local
+
Table 32 - Users and Groups - Group-Ent

+

3.5.1.4 Summary - GEZ-Linux

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameGEZ-Linux
Alias NameGEZ Linux
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST, RDP
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset MachinesNo
Enable HTML AccessYes
Allow Multiple Sessions Per UserNo
Enable Pre-Launch--
Connection Server Restrictions--
Enable Prelaunch--
Category Folder Name--
Client RestrictionsNo
Enable CollaborationNo
Shortcut Locations--
Multisession Mode--
Backup GAE--
Display Assigned Machine NameNo
Display Machine AliasNo
Global Access Group IDRoot
+
Table 33 - Detailed Information - GEZ-Linux

+

3.5.1.5 Local Pools - GEZ-Linux

+ + + + + + + + + +
Local Desktop Count0
Local Application Count--
Remote Desktop Count0
Remote Application Count--
User Count1
User or Group Count2
User or Group Site Override Count0
Member Pods--
+
Table 34 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1.6 Users and Groups - GEZ-Linux

+ + + +
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AD - SRM Recovery GroupGrouppharmax.local
+
Table 35 - Users and Groups - GEZ-Linux

+

3.5.1.7 Summary - APPVol-FARM

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Display NameAPPVol-FARM
Alias NameAPPVol-FARM
Description--
ScopeANY
From Home SiteNo
Require Home SiteNo
Multiple Session Auto CleanNo
EnabledYes
Supported Display ProtocolsPCOIP, BLAST
Default Display ProtocolPCOIP
Allow Users to Choose Display ProtocolYes
Allow User to Reset Machines--
Enable HTML AccessYes
Allow Multiple Sessions Per User--
Enable Pre-LaunchNo
Connection Server Restrictions--
Enable PrelaunchNo
Category Folder Name--
Client RestrictionsNo
Enable Collaboration--
Shortcut Locations--
Multisession ModeENABLED_DEFAULT_OFF
Backup GAE--
Display Assigned Machine Name--
Display Machine Alias--
Global Access Group IDRoot
+
Table 36 - Detailed Information - APPVol-FARM

+

3.5.1.8 Local Pools - APPVol-FARM

+ + + + + + + + + +
Local Desktop Count--
Local Application Count0
Remote Desktop Count--
Remote Application Count0
User Count1
User or Group Count3
User or Group Site Override Count0
Member Pods--
+
Table 37 - Local Pools - HORIZON-CS-01V.PHARMAX.LOCAL

+

3.5.1.9 Users and Groups - APPVol-FARM

+ + + + +
NameUser or GroupDomain
Jonathan A. Colon FelicianoUserpharmax.local
AdministratorsGrouppharmax.local
Backup OperatorsGrouppharmax.local
+
Table 38 - Users and Groups - APPVol-FARM

+

4 Settings

The following section provides detailed information about the configuration of the components that comprise the Horizon Server infrastructure.

4.1 Servers

4.1.1 vCenter Servers

The following section details the vCenter Servers configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + +
NameVersionBuild NumberAPI VersionProvisioning Enabled
vcenter-01v.pharmax.local8.0.2226172218.0.2.0Yes
+
Table 39 - vCenter - HORIZON-CS-01V

+

4.1.1.1 vcenter-01v.pharmax.local

+ + + + + + + + + + + + + + + + + + +
Namevcenter-01v.pharmax.local
Description--
Certificate Override--
Provisioning EnabledYes
Reclaim Disk SpaceYes
Port443
User SSLYes
User Nameadministrator@vsphere.local
TypeVIRTUAL_CENTER
TCP Port Number443
Max Concurrent Provisioning Operations20
Max Concurrent Power Operations50
Max Concurrent View Composer Maintenance Operations0
Max Concurrent View Composer Provisioning Operations12
Max Concurrent Instant Clone Engine Provisioning Operations20
Storage Acceleration EnabledYes
Storage Accelerator Default Cache Size1024MB
+
Table 40 - vCenter Server Details - vcenter-01v.pharmax.local

+

Storage Accelerator Overrides

+ + + +
DatacenterClusterHostCache Size
PHARMAX-VSI-DCRegionB01-vSANvsan-01b.pharmax.local2048MB
PHARMAX-VSI-DCRegionHQ-MGMTesxsvr-00f.pharmax.local4096MB
+
Table 41 - Storage Accelerator Overrides - vcenter-01v.pharmax.local

+

4.1.2 Datastores

+ + + + + + + + + + +
NameAccessible
esx-00fYes
HDD-VM-ISO-LOW-PERFYes
HDD-VM-MED-PERF-01Yes
HDD-VM-MED-PERF-02Yes
NVME-VFLASH-01Yes
NVME-VM-HIGH-PERF-01Yes
SSD-VM-HIGH-CAPACITY-PERF-KNYes
SSD-VM-HIGH-CAPACITY-PERF-MKYes
TrueNAS_VM_DATA (1)No
+
Table 42 - Datastores - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.1.2.1 Datastores Detailed

TrueNAS_VM_DATA (1)

+ + + + + + +
Path/PHARMAX-VSI-DC/TrueNAS_VM_DATA (1)
TypeNFS41
Capacity0GB
Free Space0GB
AccessibleNo
+
Table 43 - Datastores Details - TrueNAS_VM_DATA (1)

+

NVME-VM-HIGH-PERF-01

+ + + + + + +
Path/PHARMAX-VSI-DC/NVME-VM-HIGH-PERF-01
TypeVMFS
Capacity477GB
Free Space179GB
AccessibleYes
+
Table 44 - Datastores Details - NVME-VM-HIGH-PERF-01

+

esx-00f

+ + + + + + +
Path/PHARMAX-VSI-DC/esx-00f
TypeVMFS
Capacity112GB
Free Space111GB
AccessibleYes
+
Table 45 - Datastores Details - esx-00f

+

HDD-VM-ISO-LOW-PERF

+ + + + + + +
Path/PHARMAX-VSI-DC/HDD-VM-ISO-LOW-PERF
TypeVMFS
Capacity931GB
Free Space238GB
AccessibleYes
+
Table 46 - Datastores Details - HDD-VM-ISO-LOW-PERF

+

SSD-VM-HIGH-CAPACITY-PERF-MK

+ + + + + + +
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-MK
TypeVMFS
Capacity931GB
Free Space594GB
AccessibleYes
+
Table 47 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-MK

+

SSD-VM-HIGH-CAPACITY-PERF-KN

+ + + + + + +
Path/PHARMAX-VSI-DC/SSD-VM-HIGH-CAPACITY-PERF-KN
TypeVMFS
Capacity894GB
Free Space510GB
AccessibleYes
+
Table 48 - Datastores Details - SSD-VM-HIGH-CAPACITY-PERF-KN

+

HDD-VM-MED-PERF-01

+ + + + + + +
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-01
TypeVMFS
Capacity3726GB
Free Space2162GB
AccessibleYes
+
Table 49 - Datastores Details - HDD-VM-MED-PERF-01

+

HDD-VM-MED-PERF-02

+ + + + + + +
Path/PHARMAX-VSI-DC/HDD-VM-MED-PERF-02
TypeVMFS
Capacity3726GB
Free Space1774GB
AccessibleYes
+
Table 50 - Datastores Details - HDD-VM-MED-PERF-02

+

NVME-VFLASH-01

+ + + + + + +
Path/PHARMAX-VSI-DC/NVME-VFLASH-01
TypeVMFS
Capacity238GB
Free Space99GB
AccessibleYes
+
Table 51 - Datastores Details - NVME-VFLASH-01

+

4.1.3 ESXi Hosts

The following section details the hardware information of ESXi Hosts for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.1.3.1 RegionA01-COMP Cluster

+ + + +
NameVersionAPI VersionStatus
192.168.7.124----NOT_RESPONDING
comp-01a.pharmax.local----NOT_RESPONDING
+
Table 52 - ESXI Hosts - RegionA01-COMP

+

192.168.7.124 Details

+ + + + + + +
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
+
Table 53 - ESXI Hosts - 192.168.7.124

+

comp-01a.pharmax.local Details

+ + + + + + +
CPU Cores2
CPU in Mhz3408
Memory Size16GB
vGPU Types--
VDI Machines0
+
Table 54 - ESXI Hosts - comp-01a.pharmax.local

+

4.1.3.2 RegionHQ-MGMT Cluster

+ + +
NameVersionAPI VersionStatus
esxsvr-00f.pharmax.local8.0.28.0.2.0CONNECTED
+
Table 55 - ESXI Hosts - RegionHQ-MGMT

+

esxsvr-00f.pharmax.local Details

+ + + + + + +
CPU Cores4
CPU in Mhz3408
Memory Size64GB
vGPU Types--
VDI Machines1
+
Table 56 - ESXI Hosts - esxsvr-00f.pharmax.local

+

4.1.4 Gateway Servers

The following section details the Gateway Servers information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + +
NameIPVersionTypeZone Internal
Horizon-UAG-01V------No
Horizon-UAG-02V------No
+
Table 57 - Gateway Servers - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.1.5 Connection Servers

The following section details the configuration of Connection Servers for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + +
NameVersionEnabled
HORIZON-CS-01V8.11.0-22629722Yes
HORIZON-CS-02V8.11.0-22629722Yes
+
Table 58 - Connection Servers - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.1.5.1 General HORIZON-CS-01V Details

+ + + + + + + + + + + + + + + + + + + + +
NameHORIZON-CS-01V
FQDNHorizon-CS-01V.pharmax.local
Server Addresshttps://horizon-cs-01v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-01V.pharmax.local:443
External PCoIP URL192.168.7.202:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-01V.pharmax.local:8443
Local Connection ServerYes
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage7%
Current Memory Usage Percentage91%
+
Table 59 - Connection Servers - HORIZON-CS-01V

+

4.1.5.2 Authentication HORIZON-CS-01V Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
+
Table 60 - Authentication - HORIZON-CS-01V

+

4.1.5.3 Backup HORIZON-CS-01V Details

+ + + + + + +
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
+
Table 61 - Backup - HORIZON-CS-01V

+

4.1.5.4 Certificate Details for HORIZON-CS-01V Details

+ + + + + + + + + +
Connection ServerHORIZON-CS-01V
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANsHorizon-CS-01V.pharmax.local, Horizon-CS-00V.pharmax.local
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
+
Table 62 - Certificate Details for - HORIZON-CS-01V

+

4.1.5.5 Replication Status for Connection Server HORIZON-CS-01V

+ + + + + +
Connection ServerHORIZON-CS-01V
Replication PartnerHORIZON-CS-02V
StatusOK
MessageNo Replication Issues
+
Table 63 - Connection Servers Replication- HORIZON-CS-01V

+

4.1.5.6 General HORIZON-CS-02V Details

+ + + + + + + + + + + + + + + + + + + + +
NameHORIZON-CS-02V
FQDNHorizon-CS-02V.pharmax.local
Server Addresshttps://horizon-cs-02v.pharmax.local:443
Version8.11.0-22629722
EnabledYes
Tags--
External URLhttps://Horizon-CS-02V.pharmax.local:443
External PCoIP URL192.168.7.63:4172
Auxiliary External PCoIP IPv4 Address--
External App Blast URLhttps://Horizon-CS-02V.pharmax.local:8443
Local Connection ServerNo
Bypass TunnelNo
Bypass PCoIP GatewayYes
Bypass App Blast GatewayNo
IP ModeIPv4
FIPs Mode EnabledNo
Replication StatusOK
Current CPU Usage Percentage16%
Current Memory Usage Percentage76%
+
Table 64 - Connection Servers - HORIZON-CS-02V

+

4.1.5.7 Authentication HORIZON-CS-02V Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Smart Card SupportOPTIONAL
Log off When Smart Card RemovedNo
RSA Secure ID EnabledNo
RSA Secure ID Name MappingNo
RSA Secure ID Clear Node SecretNo
RSA Secure ID Security File Data--
RSA Secure ID Security File UploadedNo
Radius EnabledNo
Radius Authenticator--
Radius Name MappingNo
Radius SSONo
SAML SupportDISABLED
SAML Authenticator--
SAML Authenticator Description--
SAML Trigger Mode--
SAML Password Mode--
SAML Authenticator Type--
SAML Metadata URL--
SAML Administrator URL--
SAML Static Meta Data--
Unauthenticated Access Config EnabledNo
Unauthenticated Access Default User--
Unauthenticated Access User Idle Timeout10
Unauthenticated Access Client Puzzle Difficulty21
Block Unsupported ClientsNo
+
Table 65 - Authentication - HORIZON-CS-02V

+

4.1.5.8 Backup HORIZON-CS-02V Details

+ + + + + + +
Automatic Backup FrequencyEvery day
Max Number of Backups10
Last Backup Time12/15/2023 00:00:10
Last Backup StatusOK
Folder LocationC:\ProgramData\VMware\VDM\backups
+
Table 66 - Backup - HORIZON-CS-02V

+

4.1.5.9 Certificate Details for HORIZON-CS-02V Details

+ + + + + + + + + +
Connection ServerHORIZON-CS-02V
Self-Signed CertificateYes
Certificate SubjectCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate IssuerCN=Horizon-CS-02V.pharmax.local, OU=VMware Horizon View default certificate, O="VMware, Inc."
Certificate Not Before04/10/2023 12:19:45
Certificate Not After07/13/2025 12:19:45
Certificate SANsHorizon-CS-02V.pharmax.local
Certificate ThumbprintB9AE51BC10F4D3FDE367640A687DB24032290C9D
+
Table 67 - Certificate Details for - HORIZON-CS-02V

+

4.1.5.10 Replication Status for Connection Server HORIZON-CS-02V

+ + + + + +
Connection ServerHORIZON-CS-02V
Replication PartnerHORIZON-CS-01V
StatusOK
MessageNo Replication Issues
+
Table 68 - Connection Servers Replication- HORIZON-CS-02V

+

4.1.6 Gateway Certificate

The following section details on the gateway certificate information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + +
Certificate Nameuag-01
Common NameOU=self-signed, CN=192.168.1.17
IssuerOU=self-signed, CN=192.168.1.17
Expiry Date03/23/2026 10:08:00
Serial Number72012228190
+
Table 69 - Gateway Certificate - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.2 Domains

4.2.1 Domain Accounts

The following section details the Domain Accounts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + +
User NameDomain Name
horizon-icpharmax.local
jocolonpharmax.local
+
Table 70 - Domain Accounts - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.2.2 Connection Server Domain Status

The following section shows connection servers domains for HORIZON-CS-01V.PHARMAX.LOCAL environment.

+ + + + + +
Domain DNS NameStatusTrust RelationshipConnection Status
pharmax.localOKPRIMARYDOMAINFULLYACCESSIBLE
uia.localOKTWOWAY_FORESTFULLYACCESSIBLE
acad.pharmax.localOKTWOWAY_FORESTFULLYACCESSIBLE
lab.localOKTWOWAYFULLYACCESSIBLE
+
Table 71 - Connection Server Domain Status- HORIZON-CS-01V.PHARMAX.LOCAL

+

4.3 Certificate Management

The following section details on the certificate management information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + + + +
Self-Signed CertificateNo
Certificate SubjectCN=Horizon-CS-01V, OU=IT, O=PHARMAX, L=CAYEY, S=PR, C=US
Certificate IssuerCN=pharmax-SERVER-DC-01V-CA, DC=pharmax, DC=local
Certificate Not Before04/10/2023 11:03:20
Certificate Not After01/25/2025 19:45:15
Certificate SANsHorizon-CS-01V.pharmax.local Horizon-CS-00V.pharmax.local
Certificate ThumbprintA9470E4EBEED26CB71BD870E6E1E4607809E5122
+
Table 72 - Certificate Management - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.4 Product Licensing and Usage

The following section details the product license and usage information for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.4.1 Licensing

+ + + + + + + + + + + + + + + + +
Is LicensedYes
License KeyZ428Q-XXXXX-XXXXX-XXXXX-C9K30
License Expiration4/10/2024
Composer enabledNo
Desktop Launching enabledYes
Application Launching enabledYes
Instant Clone enabledYes
Helpdesk enabledYes
Collaboration enabledYes
License EditionHORIZON_ENTERPRISE_CONCURRENT_USER
License Usage ModelCONCURRENT_USER
License ModeDEFAULT
Grace Period Days85
Subscription Slice Expiry--
License Health--
+
Table 73 - Licensing - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.4.2 Usage

+ + + + + + + + + + +
NameCurrent UsageHighest Usage
Total Concurrent Connections01
Total Named Users17--
Total Concurrent Sessions01
Concurrent Full Vm Sessions01
Concurrent Linked Clone Sessions00
Concurrent Unmanaged Vm Sessions01
Concurrent Application Sessions01
Concurrent Collaborative Sessions00
Total Collaborators00
+
Table 74 - Usage - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.4.3 Customer Experience Program

+ + + + + +
CEIP EnabledYes
Company SizeSIZE_1_100
GeolocationAMERICA_NORTH
VerticalSERVICES
+
Table 75 - Customer Experience Program - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.5 Global Settings

The following section details the Global Settings configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.5.1 General Settings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Client Session Time Out PolicyNEVER
Client Max Session Time Minutes 600
Client Idle Session Timeout PolicyNEVER
Client Idle Session Timeout Minutes--
Client Session Timeout Minutes 1200
Desktop SSO Timeout PolicyALWAYS_ENABLED
Desktop SSO Timeout Minutes--
Application SSO Timeout PolicyALWAYS_ENABLED
Application SSO Timeout Minutes--
View API Session Timeout Minutes10
Pre-Login Message--
Display Warning Before Forced LogoffYes
Forced Logoff Timeout Minutes5
Forced Logoff MessageYour desktop is scheduled for an important update and will shut down in 5 minutes. Please save any unsaved work now
Enable Server in Single User ModeNo
Store CAL on BrokerYes
Store CAL on ClientYes
Enable UI User Name CachingYes
Console Session Timeout in Minutes30
Enable Automatic Status UpdatesNo
Send Domain ListYes
Enable Credential Cleanup for HTML AccessNo
Hide Server Information In ClientNo
Hide Domain List In ClientNo
Enable Multi Factor ReauthenticationNo
Disconnect Warning Time0
Disconnect Warning MessageYour virtual session is going to be logged off. Please save your work.
Disconnect MessageYour session has expired. Please re-connect to the portal and restart the session.
Display Pre-login Admin BannerNo
Pre-Login Admin Banner HeaderAttention
Pre-Login Admin Banner MessageOn proceeding, you agree that you fully comply with the laws of this organisation.
Enforce CSRF Protection--
Enforce E2E EncryptionNo
+
Table 76 - Global Settings - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.5.2 Security Settings

+ + + + + + + +
Reauthenticate Secure Tunnel After InterruptionNo
Disallow Enhanced Security ModeNo
No Managed CertsNo
Message Security ModeENHANCED
Message Security StatusENHANCED
Enable IP Sec for Security Server PairingNo
+
Table 77 - Security Settings - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.5.3 Client Restriction Settings

+ + + + + + +
TypeVersionWarn Specific VersionsBlock Specific Versions
WINDOWS--5.5.0--
CHROME--5.5.0--
ANDROID--5.5.0--
IOS--5.5.0--
MAC--5.5.0--
+
Table 78 - Client Restriction Settings - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.6 Registered Machines

The following section provides information of Registered Machines for HORIZON-CS-01V.PHARMAX.LOCAL server.

4.6.1 RDS Hosts

The following section details the RDS Hosts configuration for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + +
NameFarm NameStatus
app-farm-02APP-FarmAVAILABLE
app-farm-01APP-FarmAVAILABLE
+
Table 79 - RDS Hosts - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.6.1.1 RDS Hosts Details

app-farm-02

+ + + + + + + + + + + + + + + + + + + + +
Nameapp-farm-02
Descriptionapp-farm-02 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENHANCED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version8.11.0
Agent Build Number22661444
Remote Experience Agent Version--
Remote Experience Agent Build Number22661444
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeUNLIMITED
Agent Max Sessions Set By Admin--
EnabledYes
StatusAVAILABLE
+
Table 80 - RDS Host - app-farm-02

+

app-farm-01

+ + + + + + + + + + + + + + + + + + + + +
Nameapp-farm-01
Descriptionapp-farm-01 created by View Pool Controller
Farm NameAPP-Farm
Desktop Pool Name--
Farm TypeAUTOMATED
Access Group--
Message Security ModeENHANCED
Message Security Enhanced Mode SupportedYes
Operating SystemWindows Server 2016 or above
Agent Version8.11.0
Agent Build Number22661444
Remote Experience Agent Version--
Remote Experience Agent Build Number22661444
Max Sessions TypeUNLIMITED
Max Sessions Set By Admin--
Agent Max Sessions TypeUNLIMITED
Agent Max Sessions Set By Admin--
EnabledYes
StatusAVAILABLE
+
Table 81 - RDS Host - app-farm-01

+

4.7 Administrators

4.7.1 Administrators and Groups

The following section details the configuration of Administrators and Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + +
Display NameTypePermission Role
pharmax.local\12-051-distlist1GroupLocal, Administrators, (Read, only)
pharmax.local\4256122656SAUserInventory, Administrators
pharmax.local\4362712809SAUserInventory, Administrators, (Read, only)
pharmax.local\AD - SRM Admin GroupGroupInventory, Administrators
pharmax.local\AdministratorUserAdministrators,
pharmax.local\Domain AdminsGroupPHARMAX-God-Admin,
pharmax.local\horizon-icUserAdministrators, (Read, only),
pharmax.local\jocolonUserLocal, Administrators, , Help, Desk, Inventory
+
Table 82 - Administrators and Groups - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.1.1 Administrators Users and Groups Details for Jonathan A. Colon Feliciano

Jonathan A. Colon Feliciano

+ + + + + + + + + + + + + + + + + + +
NameJonathan A. Colon Feliciano
First NameJonathan
Last NameColon Feliciano
Login Namejocolon
Display Namepharmax.local\jocolon
Long Display Namejocolon@pharmax.local (Jonathan A. Colon Feliciano)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Jonathan A. Colon Feliciano,CN=Users,DC=pharmax,DC=local
Emailjocolon@pharmax.local
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNjocolon@pharmax.local
Permission RoleLocal, Administrators, , Help, Desk, Inventory
+
Table 83 - Administrator - Jonathan A. Colon Feliciano

+

4.7.1.2 Administrators Users and Groups Details for Administrator

Administrator

+ + + + + + + + + + + + + + + + + + +
NameAdministrator
First Name--
Last Name--
Login NameAdministrator
Display Namepharmax.local\Administrator
Long Display NameAdministrator@pharmax.local (Administrator)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=Administrator,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNAdministrator@pharmax.local
Permission RoleAdministrators,
+
Table 84 - Administrator - Administrator

+

4.7.1.3 Administrators Users and Groups Details for Domain Admins

Domain Admins

+ + + + + + + + + + + + + + + + + + +
NameDomain Admins
First Name--
Last Name--
Login NameDomain Admins
Display Namepharmax.local\Domain Admins
Long Display NameDomain Admins/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=Domain Admins,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RolePHARMAX-God-Admin,
+
Table 85 - Administrator - Domain Admins

+

4.7.1.4 Administrators Users and Groups Details for 12-051-distlist1

12-051-distlist1

+ + + + + + + + + + + + + + + + + + +
Name12-051-distlist1
First Name--
Last Name--
Login Name12-051-distlist1
Display Namepharmax.local\12-051-distlist1
Long Display Name12-051-distlist1/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=12-051-distlist1,OU=Devices,OU=ESM,OU=Tier 1,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleLocal, Administrators, (Read, only)
+
Table 86 - Administrator - 12-051-distlist1

+

4.7.1.5 Administrators Users and Groups Details for 4362712809SA

4362712809SA

+ + + + + + + + + + + + + + + + + + +
Name4362712809SA
First Name--
Last Name4362712809SA
Login Name4362712809SA
Display Namepharmax.local\4362712809SA
Long Display Name4362712809SA@pharmax.local (4362712809SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4362712809SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4362712809SA@pharmax.local
Permission RoleInventory, Administrators, (Read, only)
+
Table 87 - Administrator - 4362712809SA

+

4.7.1.6 Administrators Users and Groups Details for AD - SRM Admin Group

AD - SRM Admin Group

+ + + + + + + + + + + + + + + + + + +
NameAD - SRM Admin Group
First Name--
Last Name--
Login NameAD - SRM Admin Group
Display Namepharmax.local\AD - SRM Admin Group
Long Display NameAD - SRM Admin Group/pharmax.local
Is Assignment a Group of UserGroup
Domainpharmax.local
AD Distinguished NameCN=AD - SRM Admin Group,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN--
Permission RoleInventory, Administrators
+
Table 88 - Administrator - AD - SRM Admin Group

+

4.7.1.7 Administrators Users and Groups Details for VMware IC Account

VMware IC Account

+ + + + + + + + + + + + + + + + + + +
NameVMware IC Account
First NameVMware IC Account
Last Name--
Login Namehorizon-ic
Display Namepharmax.local\horizon-ic
Long Display Namehorizon-ic@pharmax.local (VMware IC Account)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=VMware IC Account,CN=Users,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPNhorizon-ic@pharmax.local
Permission RoleAdministrators, (Read, only),
+
Table 89 - Administrator - VMware IC Account

+

4.7.1.8 Administrators Users and Groups Details for 4256122656SA

4256122656SA

+ + + + + + + + + + + + + + + + + + +
Name4256122656SA
First Name--
Last Name4256122656SA
Login Name4256122656SA
Display Namepharmax.local\4256122656SA
Long Display Name4256122656SA@pharmax.local (4256122656SA)
Is Assignment a Group of UserUser
Domainpharmax.local
AD Distinguished NameCN=4256122656SA,OU=Test,OU=AWS,OU=Tier 2,DC=pharmax,DC=local
Email--
Kiosk UserNo
Un-Authenticated User--
Phone Number--
Description--
in Folder--
UPN4256122656SA@pharmax.local
Permission RoleInventory, Administrators
+
Table 90 - Administrator - 4256122656SA

+

4.7.2 Role Privileges

The following section details the Role Privileges information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + + + + + + +
NameDescription
AdministratorsAdministration users with full administrative rights
Administrators (Read only)Administration users with full read-only administrative rights
Agent Registration AdministratorsAdministration users with rights to register View agents.
Global Configuration and Policy AdministratorsAdministration users with rights for global and per Connection Server configuration settings.
Global Configuration and Policy Administrators (Read Only)Administration users with read only rights for global and per Connection Server configuration settings.
Help Desk AdministratorsAdministration users with rights for Help Desk portal management.
Help Desk Administrators (Read Only)Administration users with rights for Help Desk portal view.
Horizon Cloud ServiceAllows subscription license activation and monitoring from horizon cloud.
Inventory AdministratorsAdministration users with rights for inventory management.
Inventory Administrators (Read only)Administration users with rights to read inventory.
Local AdministratorsAdministration users with rights on Local POD.
Local Administrators (Read only)Administration users with Read only rights on Local POD.
PHARMAX-God-Admin--
+
Table 91 - Role Privileges - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.3 Role Privileges Details

The following section details the Role Privilege details for information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + + + + + + +
NameDescription
AdministratorsADMINISTRATOR +ADMINISTRATOR_VIEW +CLOUD_ADMIN +CVP_INTERACTIVE +CVP_MANAGEMENT +CVP_OWNERSHIP +CVP_VIEW +FEDERATED_LDAP_MANAGE +FEDERATED_LDAP_VIEW +FEDERATED_SESSIONS_MANAGE +FEDERATED_SESSIONS_VIEW +FOLDER_MANAGEMENT +FOLDER_VIEW +GLOBAL_ADMINISTRATOR +GLOBAL_ADMINISTRATOR_VIEW +GLOBAL_ADMIN_SDK_INTERACTIVE +GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_MANAGEMENT +GLOBAL_CONFIG_VIEW +GLOBAL_CVP_PUBLICATION +GLOBAL_CVP_REGISTER +GLOBAL_MACHINE_REGISTER +GLOBAL_PERMISSION_MANAGEMENT +GLOBAL_PERMISSION_VIEW +GLOBAL_ROLE_MANAGEMENT +GLOBAL_ROLE_PERMISSION_MANAGEMENT +GLOBAL_ROLE_VIEW +HELPDESK_ADMINISTRATOR +HELPDESK_ADMINISTRATOR_VIEW +HORIZON_CLOUD_SERVICE +INVENTORY_ADMINISTRATOR +INVENTORY_ADMINISTRATOR_VIEW +LOCAL_ADMINISTRATOR +LOCAL_ADMINISTRATOR_VIEW +MACHINE_MAINTENANCE +MACHINE_MANAGEMENT +MACHINE_MANAGE_OFFLINE_SESSION +MACHINE_MANAGE_VDI_SESSION +MACHINE_REBOOT +MACHINE_USER_MANAGEMENT +MACHINE_VIEW +MANAGE_REMOTE_PROCESS +POOL_ENABLE +POOL_ENTITLE +POOL_MANAGEMENT +POOL_SVI_IMAGE_MANAGEMENT +POOL_VIEW +REMOTE_ASSISTANCE +SUBSCRIPTION_LICENSE_ADD +UDD_MANAGEMENT +UDD_VIEW +VC_CONFIG_VIEW
Administrators (Read only)ADMINISTRATOR_VIEW +CVP_VIEW +FEDERATED_LDAP_VIEW +FEDERATED_SESSIONS_VIEW +FOLDER_VIEW +GLOBAL_ADMINISTRATOR_VIEW +GLOBAL_ADMIN_SDK_INTERACTIVE +GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_VIEW +GLOBAL_PERMISSION_VIEW +GLOBAL_ROLE_VIEW +HELPDESK_ADMINISTRATOR_VIEW +INVENTORY_ADMINISTRATOR_VIEW +LOCAL_ADMINISTRATOR_VIEW +MACHINE_VIEW +POOL_VIEW +UDD_VIEW +VC_CONFIG_VIEW
Agent Registration AdministratorsGLOBAL_MACHINE_REGISTER
Global Configuration and Policy AdministratorsGLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_MANAGEMENT +GLOBAL_CONFIG_VIEW +GLOBAL_CVP_PUBLICATION
Global Configuration and Policy Administrators (Read Only)GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_VIEW
Help Desk AdministratorsCVP_VIEW +FEDERATED_LDAP_VIEW +FEDERATED_SESSIONS_MANAGE +FEDERATED_SESSIONS_VIEW +FOLDER_VIEW +GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_VIEW +HELPDESK_ADMINISTRATOR +HELPDESK_ADMINISTRATOR_VIEW +MACHINE_MAINTENANCE +MACHINE_MANAGEMENT +MACHINE_MANAGE_OFFLINE_SESSION +MACHINE_MANAGE_VDI_SESSION +MACHINE_REBOOT +MACHINE_USER_MANAGEMENT +MACHINE_VIEW +MANAGE_REMOTE_PROCESS +POOL_VIEW +REMOTE_ASSISTANCE +UDD_VIEW
Help Desk Administrators (Read Only)CVP_VIEW +FEDERATED_LDAP_VIEW +FEDERATED_SESSIONS_VIEW +FOLDER_VIEW +GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_VIEW +HELPDESK_ADMINISTRATOR_VIEW +MACHINE_VIEW +POOL_VIEW +UDD_VIEW
Horizon Cloud ServiceCLOUD_ADMIN +GLOBAL_ADMIN_SDK_INTERACTIVE +GLOBAL_CONFIG_VIEW +GLOBAL_CVP_REGISTER +HORIZON_CLOUD_SERVICE +POOL_VIEW +SUBSCRIPTION_LICENSE_ADD
Inventory AdministratorsCVP_MANAGEMENT +CVP_OWNERSHIP +CVP_VIEW +FOLDER_VIEW +GLOBAL_ADMIN_UI_INTERACTIVE +INVENTORY_ADMINISTRATOR +INVENTORY_ADMINISTRATOR_VIEW +MACHINE_MAINTENANCE +MACHINE_MANAGEMENT +MACHINE_MANAGE_OFFLINE_SESSION +MACHINE_MANAGE_VDI_SESSION +MACHINE_REBOOT +MACHINE_USER_MANAGEMENT +MACHINE_VIEW +MANAGE_REMOTE_PROCESS +POOL_ENABLE +POOL_ENTITLE +POOL_MANAGEMENT +POOL_SVI_IMAGE_MANAGEMENT +POOL_VIEW +REMOTE_ASSISTANCE +UDD_MANAGEMENT +UDD_VIEW +VC_CONFIG_VIEW
Inventory Administrators (Read only)CVP_VIEW +FOLDER_VIEW +GLOBAL_ADMIN_UI_INTERACTIVE +INVENTORY_ADMINISTRATOR_VIEW +MACHINE_VIEW +POOL_VIEW +UDD_VIEW +VC_CONFIG_VIEW
Local AdministratorsCLOUD_ADMIN +CVP_INTERACTIVE +CVP_MANAGEMENT +CVP_OWNERSHIP +CVP_VIEW +FOLDER_MANAGEMENT +FOLDER_VIEW +GLOBAL_ADMIN_SDK_INTERACTIVE +GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_MANAGEMENT +GLOBAL_CONFIG_VIEW +GLOBAL_CVP_PUBLICATION +GLOBAL_CVP_REGISTER +GLOBAL_MACHINE_REGISTER +GLOBAL_PERMISSION_VIEW +GLOBAL_ROLE_VIEW +INVENTORY_ADMINISTRATOR +INVENTORY_ADMINISTRATOR_VIEW +LOCAL_ADMINISTRATOR +LOCAL_ADMINISTRATOR_VIEW +MACHINE_MAINTENANCE +MACHINE_MANAGEMENT +MACHINE_MANAGE_OFFLINE_SESSION +MACHINE_MANAGE_VDI_SESSION +MACHINE_REBOOT +MACHINE_USER_MANAGEMENT +MACHINE_VIEW +MANAGE_REMOTE_PROCESS +POOL_ENABLE +POOL_ENTITLE +POOL_MANAGEMENT +POOL_SVI_IMAGE_MANAGEMENT +POOL_VIEW +REMOTE_ASSISTANCE +SUBSCRIPTION_LICENSE_ADD +UDD_MANAGEMENT +UDD_VIEW +VC_CONFIG_VIEW
Local Administrators (Read only)CVP_VIEW +FOLDER_VIEW +GLOBAL_ADMIN_SDK_INTERACTIVE +GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_VIEW +GLOBAL_PERMISSION_VIEW +GLOBAL_ROLE_VIEW +INVENTORY_ADMINISTRATOR_VIEW +LOCAL_ADMINISTRATOR_VIEW +MACHINE_VIEW +POOL_VIEW +UDD_VIEW +VC_CONFIG_VIEW
PHARMAX-God-AdminCVP_VIEW +FEDERATED_LDAP_MANAGE +FEDERATED_LDAP_VIEW +FEDERATED_SESSIONS_MANAGE +FEDERATED_SESSIONS_VIEW +FOLDER_MANAGEMENT +FOLDER_VIEW +GLOBAL_ADMIN_SDK_INTERACTIVE +GLOBAL_ADMIN_UI_INTERACTIVE +GLOBAL_CONFIG_MANAGEMENT +GLOBAL_CONFIG_VIEW +GLOBAL_CVP_PUBLICATION +GLOBAL_MACHINE_REGISTER +GLOBAL_PERMISSION_MANAGEMENT +GLOBAL_PERMISSION_VIEW +GLOBAL_ROLE_MANAGEMENT +GLOBAL_ROLE_PERMISSION_MANAGEMENT +GLOBAL_ROLE_VIEW +HELPDESK_ADMINISTRATOR_VIEW +LOG_COLLECTION +MACHINE_MAINTENANCE +MACHINE_MANAGEMENT +MACHINE_MANAGE_OFFLINE_SESSION +MACHINE_MANAGE_VDI_SESSION +MACHINE_REBOOT +MACHINE_USER_MANAGEMENT +MACHINE_VIEW +MANAGE_REMOTE_PROCESS +POOL_ENABLE +POOL_ENTITLE +POOL_MANAGEMENT +POOL_SVI_IMAGE_MANAGEMENT +POOL_VIEW +REMOTE_ASSISTANCE +UDD_VIEW +VC_CONFIG_VIEW
+
Table 92 - Role Privileges Details - Inventory Administrators (Read only)

+

4.7.4 Role Permissions

The following section details the Role Permissions information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + + + + + + + +
User or Group NameRoleAccess Group
12-051-distlist1Local Administrators (Read only)/Root/Gurabo-Sites
4256122656SAInventory Administrators/Root/Gurabo-Sites
4362712809SAInventory Administrators (Read only)/Root/CISA
AD - SRM Admin GroupInventory Administrators/Root/Prueba
AdministratorAdministrators/Root
Domain AdminsPHARMAX-God-Admin/Root
Jonathan A. Colon FelicianoLocal Administrators/Root/Gurabo-Sites
Jonathan A. Colon FelicianoInventory Administrators/Root
Jonathan A. Colon FelicianoHelp Desk Administrators/Root
VMware IC AccountAdministrators (Read only)/Root
+
Table 93 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.5 Access Groups

The following section summarizes the configuration of Access Groups for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + +
NameDescription
CISA--
Gurabo-Sites--
PruebaPrueba Description
RootROOT FOLDER
+
Table 94 - Access Groups - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.7.5.1 Access Groups Details

Root

+ + + + + +
NamePermissions
AdministratorAdministrators
Domain AdminsPHARMAX-God-Admin
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
VMware IC AccountAdministrators (Read only)
+
Table 95 - Access Groups - Root

+

CISA

+ + +
NamePermissions
4362712809SAInventory Administrators (Read only)
+
Table 96 - Access Groups - CISA

+

Prueba

+ + +
NamePermissions
AD - SRM Admin GroupInventory Administrators
+
Table 97 - Access Groups - Prueba

+

Gurabo-Sites

+ + + + +
NamePermissions
12-051-distlist1Local Administrators (Read only)
4256122656SAInventory Administrators
Jonathan A. Colon FelicianoLocal Administrators, Help Desk Administrators, Inventory Administrators
+
Table 98 - Access Groups - Gurabo-Sites

+

4.7.6 Federation Access Groups

The following section details the Federation Access Group information for HORIZON-CS-01V.PHARMAX.LOCAL server.

+ + + + + +
User or Group NameRoleGlobal Access Group
AdministratorAdministratorsRoot
Domain AdminsPHARMAX-God-AdminRoot
Jonathan A. Colon FelicianoHelp Desk AdministratorsRoot
VMware IC AccountAdministrators (Read only)Root
+
Table 99 - Role Permissions - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.8 Cloud Pod Architecture

The following section details on the cloud pod architecture information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + + + + +
Pod NameCluster-HORIZON-CS-01V
Pod LocalYes
Pod SitePHARMAX-HQ
Pod Description--
Pod Cloud ManagedNo
Pod Connection ServersHORIZON-CS-01V
HORIZON-CS-02V
Pod Active Global Entitlements--
Pod Active Global Application Entitlements--
+
Table 100 - Cloud Pod Architecture - HORIZON-CS-01V.PHARMAX.LOCAL

+

4.9 Site

The following section details on the Cloud Pod Site information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + +
Cloud Pod Sites NamePHARMAX-HQ
Cloud Pod Sites Description--
Cloud Pod Site Pod NameCluster-HORIZON-CS-01V
+
+

4.10 Event Configuration

The following section details on the events configuration information for HORIZON-CS-01V.PHARMAX.LOCAL.

4.10.1 Event Database

+ + + + + + + + + + + +
Serverhorizon-sql-01v
TypeSQLSERVER
Port1433
NameHZ-Event-DB
User Namehz-event-user
Table PrefixPHM
Show Events forTHREE_MONTHS
Classify Events as New for2 Days
Timing Profiler Events7 Days
EnabledYes
+
Table 101 - Event Database - HORIZON-CS-01V

+

4.10.2 Syslog Configuration

+ + + +
ServerPort
10.10.10.33514
192.168.5.1514
+
Table 102 - Syslog Configuration - HORIZON-CS-01V

+

4.10.3 Events to File System

+ + + + + + +
EnabledYes
Enabled on ErrorNo
Path\\192.168.5.1\WsusContent\HorizonEvents
User nameadministrator
Domainpharmax.local
+
Table 103 - Events to File System - HORIZON-CS-01V

+

4.11 Global Policies

The following section details on the Global Policies information for HORIZON-CS-01V.PHARMAX.LOCAL.

+ + + + + + +
Allow Multimedia RedirectionDeny
Allow USB AccessAllow
Allow Remote ModeAllow
Allow PCoIP Hardware AccelerationAllow
PCoIP Hardware Acceleration PriorityMedium
+
Table 104 - Global Policies - HORIZON-CS-01V.PHARMAX.LOCAL

+
+

diff --git a/Samples/VMware Horizon As Built Report.pdf b/Samples/VMware Horizon As Built Report.pdf index 32915cc16e9f3aedb5e2aff15ee3bd1edb047b55..292a54e098878516d6507c6220f27044dd9491de 100644 GIT binary patch literal 1232811 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