function get-SiteBindings { param( [parameter(mandatory=$true)] [ValidateNotNullOrEmpty()] $siteName ) if (!(Get-Module -Name webadministration)) {import-module webadministration} $selectedSite = Get-ChildItem -Path IIS:\Sites |where-object {$_.name -like $siteName} if ($selectedSite.count -eq 1) { $currentHostHeaders = Get-ItemProperty -Path $selectedSite.pspath -Name bindings.collection $object = @() foreach ($currentHostHeader in $currentHostHeaders) { #$TrimmedHeader = $currentHostHeader.bindingInformation.TrimStart("*").trimstart(":80") $TrimmedHeader = $currentHostHeader.bindingInformation.split(":")[-1] $portHeader = $currentHostHeader.bindingInformation.split(":")[-2] $tempObject = new-object psobject -Property @{hostheader=$TrimmedHeader;protocol=$currentHostHeader.protocol;port=$portHeader} $object += $tempObject } return $object } elseif ($selectedSite.count -gt 1) { write-warning "Too many hits. Skipping..." return $null } elseif ($selectedSite.count -eq 0) { write-warning "Couldn't find any sites matching '$siteName'!" return $null } }