tool/Automation/functions/Get-OwnerDomains.ps1
|
function Get-OwnerDomains { <# .SYNOPSIS Flatten all owner domains from a profile's owner section. .DESCRIPTION Returns a deduplicated list of all domains belonging to the lead-mining company, including top-level owner domains and all alias domains. .PARAMETER Profile Profile object (parsed JSON) containing an owner section. .OUTPUTS [string[]] Flat array of lowercase domain strings. #> [CmdletBinding()] param( [Parameter(Mandatory)] [PSCustomObject]$Profile ) $domains = @() if ($Profile.owner) { if ($Profile.owner.domains) { $domains += @($Profile.owner.domains) } if ($Profile.owner.aliases) { foreach ($alias in $Profile.owner.aliases) { if ($alias.domains) { $domains += @($alias.domains) } } } } # Return deduplicated lowercase domains $domains | ForEach-Object { $_.ToLower() } | Select-Object -Unique } |