Similar to CMD Telnet this PowerShell will test a port for you based on certain parameters.
function Test-Port
{
Param(
[parameter(ParameterSetName='ComputerName', Position=0)]
[string]
$ComputerName,
[parameter(ParameterSetName='IP', Position=0)]
[System.Net.IPAddress]
$IPAddress,
[parameter(Mandatory=$true , Position=1)]
[int]
$Port,
[parameter(Mandatory=$true, Position=2)]
[ValidateSet("TCP", "UDP")]
[string]
$Protocol
)
$RemoteServer = If ([string]::IsNullOrEmpty($ComputerName)) {$IPAddress} Else {$ComputerName};
If ($Protocol -eq 'TCP')
{
$test = New-Object System.Net.Sockets.TcpClient;
Try
{
Write-Host "Connecting to "$RemoteServer":"$Port" (TCP)..";
$test.Connect($RemoteServer, $Port);
Write-Host "Connection successful";
}
Catch
{
Write-Host "Connection failed";
}
Finally
{
$test.Dispose();
}
}
If ($Protocol -eq 'UDP')
{
Write-Host "UDP port test functionality currently not available."
<#
$test = New-Object System.Net.Sockets.UdpClient;
Try
{
Write-Host "Connecting to "$RemoteServer":"$Port" (UDP)..";
$test.Connect($RemoteServer, $Port);
Write-Host "Connection successful";
}
Catch
{
Write-Host "Connection failed";
}
Finally
{
$test.Dispose();
}
#>
}
}
Test-Port -Protocol TCP -ComputerName MyComputer -Port 80
Test-Port -Protocol UDP -ComputerName MyComputer -Port 80
Test-Port -Protocol TCP -IP 208.67.222.222 -Port 53
Test-Port -Protocol UDP -IP 208.67.222.222 -Port 53
Reference: http://www.travisgan.com/2014/03/use-powershell-to-test-port.html
All information on this site is shared with the intention to help. Before any source code or program is ran on a production (non-development) system it is suggested you test it and fully understand what it is doing not just what it appears it is doing. I accept no responsibility for any damage you may do with this code.