Hello,
I am trying to put together a simple script that tests connectivity to certain sites on ports 80/443, and during this process I am creating a custom psobject to store the results. Once this is working I would like to pipe the custom psobject to the ConvertTo-HTML to create a very simple report.
The problem is that when I run this script the PSObject does not return any information. Does anyone have any idea what I am doing wrong? Thank you in advance for taking the time to look at this.
$Host_IP = @{ 'google.com' = '216.58.195.238'; 'gmail.com' = '172.217.3.165'; } $Host_Port = ('80','443') $ConnectInformation = @() function Test-Port { Param( [parameter(ParameterSetName='IP', Position=0)] [System.Net.IPAddress] $IPAddress, [parameter(Mandatory=$true, Position=1)] [string] $FQDN ) foreach ($Port in $Host_Port) { $testDNS = New-Object System.Net.Sockets.TcpClient; Try { $RHost = "$FQDN`:$Port" $testDNS.Connect($FQDN, $Port); $RHostStatus = "Successful"; } Catch { $RHostStatus = "Failed"; } Finally { $NI = New-Object psobject $NI | Add-Member -type NoteProperty -Name RemoteServer -Value $RHost $NI | Add-Member -type NoteProperty -Name Connection -Value $RHostStatus $ConnectInformation += $NI Remove-Variable NI $testDNS.Dispose(); } } } foreach ($IP in $Host_IP.GetEnumerator()) { Test-Port -FQDN $IP.Key -IPAddress $IP.Value } $ConnectInformation