PowerShell Tips

Various tips about PowerShell...

Simple TCP Listener

This is useful for testing inbound network connectivity.

function Listen-Port ($port=80) {
Temporarily listen on a given port for connections dumps connections to the screen - useful for troubleshooting
firewall rules.

The TCP port that the listener should attach to

PS C:\> listen-port 443
Listening on port 443, press CTRL+C to cancel

DateTime                                      AddressFamily Address                                                Port
--------                                      ------------- -------                                                ----
3/1/2016 4:36:43 AM                            InterNetwork                                        62286
Listener Closed Safely

Created by Shane Wright. [email protected]

    $endpoint = New-Object System.Net.IPEndPoint ([system.net.ipaddress]::any, $port)    
    (new-object System.Net.Sockets.TcpListener (new-object System.Net.IPEndPoint ([system.net.ipaddress]::any, $port))).Start()

    $listener.Server.ReceiveTimeout = 3000
    try {
    Write-Host "Listening on port $port, press CTRL+C to cancel"
    While ($true) {
        if (!$listener.Pending())
            Start-Sleep -Seconds 1;
        $client = $listener.AcceptTcpClient()
        $client.client.RemoteEndPoint | Add-Member -NotePropertyName DateTime -NotePropertyValue (get-date) -PassThru
    catch {
        Write-Error $_          
            Write-host "Listener Closed Safely"