Src/Private/Get-AbrHRZHomeSite.ps1
function Get-AbrHRZHomeSite { <# .SYNOPSIS PowerShell script which documents the configuration of VMware Horizon in Word/HTML/XML/Text formats .DESCRIPTION Documents the configuration of VMware Horizon in Word/HTML/XML/Text formats using PScribo. .NOTES Version: 1.1.4 Author: Chris Hildebrandt, Karl Newick Twitter: @childebrandt42, @karlnewick Editor: Jonathan Colon, @jcolonfzenpr Twitter: @asbuiltreport Github: AsBuiltReport Credits: Iain Brighton (@iainbrighton) - PScribo module .LINK https://github.com/AsBuiltReport/AsBuiltReport.VMware.Horizon #> [CmdletBinding()] param ( ) begin { Write-PScriboMessage "Home Site Assignments InfoLevel set at $($InfoLevel.UsersAndGroups.HomeSiteAssignments)." Write-PScriboMessage "Collecting Home Site General Information." } process { if ($InfoLevel.UsersAndGroups.HomeSiteAssignments -ge 1) { try { if ($Homesites) { Section -Style Heading3 'Home Site' { Paragraph "The following section provide a summary of user and group home site configuration." BlankLine $OutObj = @() foreach ($HomeSite in $HomeSites) { try { # Clear Var $HomeSiteUserIDName = '' $HomeSiteUserIDDomain = '' $HomeSiteUserIDEmail = '' $HomeSiteUserIDGroup = '' $HomeSiteSiteIDName = '' $HomeSiteGlobalEntitlementIDName = '' $HomeSiteGlobalApplicationEntitlementIDName = '' # HomeSite User or Group ID if ($HomeSite.Base.UserOrGroup) { $HomeSiteUserID = $hzServices.ADUserOrGroup.ADUserOrGroup_Get($homesite.Base.UserOrGroup) $HomeSiteUserIDName = $HomeSiteUserID.Base.Name $HomeSiteUserIDDomain = $HomeSiteUserID.Base.Domain $HomeSiteUserIDEmail = $HomeSiteUserID.Base.Email $HomeSiteUserIDGroup = $HomeSiteUserID.Base.Group } # Home Site Site ID if ($HomeSite.Base.Site) { $HomeSiteSiteID = $hzServices.Site.Site_Get($HomeSite.Base.Site) $HomeSiteSiteIDName = $HomeSiteSiteID.base.DisplayName } # Home Site Global Entilement ID if ($HomeSite.Base.GlobalEntitlement) { $HomeSiteGlobalEntitlementID = $hzServices.GlobalEntitlement.GlobalEntitlement_Get($homesite.Base.GlobalEntitlement) $HomeSiteGlobalEntitlementIDName = $HomeSiteGlobalEntitlementID.base.DisplayName } # Home Site Global Application Entilement ID if ($HomeSite.Base.GlobalApplicationEntitlement) { $HomeSiteGlobalApplicationEntitlementID = $hzServices.GlobalApplicationEntitlement.GlobalApplicationEntitlement_Get($homesite.Base.GlobalApplicationEntitlement) $HomeSiteGlobalApplicationEntitlementIDName = $HomeSiteGlobalApplicationEntitlementID.base.DisplayName } $inObj = [ordered] @{ 'User or Group Name' = $HomeSiteUserIDName 'Domain' = $HomeSiteUserIDDomain 'Group' = $HomeSiteUserIDGroup 'Email' = $HomeSiteUserIDEmail 'Home Site' = $HomeSiteSiteIDName 'Global Entitlement' = $HomeSiteGlobalEntitlementIDName 'Global Application Entitlement' = $HomeSiteGlobalApplicationEntitlementIDName } $OutObj += [pscustomobject](ConvertTo-HashToYN $inObj) } catch { Write-PScriboMessage -IsWarning $_.Exception.Message } } $TableParams = @{ Name = "Home Site General - $($HVEnvironment.toUpper())" List = $false ColumnWidths = 17, 10, 10, 18, 15, 15, 15 } if ($Report.ShowTableCaptions) { $TableParams['Caption'] = "- $($TableParams.Name)" } $OutObj | Sort-Object -Property 'User or Group Name' | Table @TableParams } } } catch { Write-PScriboMessage -IsWarning $_.Exception.Message } } } end {} } |