2017-01-14 3 views
1

Ich möchte zu sehen, überprüfen, ob ein Port offen ist Powershell v5.1 mit auf Windows 7.Powershell v5.1 Test-Netzwerk-Port

auf meinem Windows 10 Laptop mit Powershell v5.1 kann ich

Test-NetConnection -ComputerName <IP> -Port <Port> 

Allerdings wird auf meinem Windows 7 Laptop das Test-NetConnection Cmdlet nicht gefunden. Ich habe Test-Connection verfügbar, aber das Cmdlet erlaubt mir nicht, einen Port anzugeben.

Gibt es unter Windows 7 eine Möglichkeit mit PowerShell 5.1 zu testen, ob ein Netzwerkanschluss geöffnet ist? Wie kann ich das Test-NetConnection Cmdlet zurück erhalten?

Antwort

1

Es ist ein bisschen mehr Mucking herum, aber es kann getan werden. ScriptingGuy hat es hier getan. Er fügt zu Beginn auch einen Ping-Sweep hinzu.

Reduzierte Version unten. Wenn Sie keine Variablen verwenden möchten, geben Sie die IP und den Port einfach manuell ein.

$socket = New-Object System.Net.Sockets.TcpClient($ip, $port) 

if($socket.Connected) { 

    "$ip listening to port $port" 
    $socket.Close() 

} 

Test-NetConnection not available in Win7 hat die Antwort auf Test-NetConnection mit Win7.

Danke, Tim.

+0

Dank! Ich muss eine Stunde gegoogelt haben und konnte den Link nicht finden. Sehr hilfreich danke. – indyodie

+0

Froh wir könnten helfen @indyodie –

1

Da System.Net.Sockets.TcpClient scheint einen Fehler zu werfen, wenn der Port nicht geöffnet ist, würde ich eher ein try/catch hier verwenden:

$ip = "127.0.0.1" 
$port = "80" 

try { 
    $socket = New-Object System.Net.Sockets.TcpClient($ip, $port) 

    if($socket.Connected) { 
     "success" 
     $socket.Close() 
    } 
} catch { 
    "error" 
} 
+0

Dies ist auch sehr nützlich. Vielen Dank! – indyodie

+0

@indyodie Sie können die Antworten aufwerten, die Sie mögen, und wählen Sie eine zu akzeptieren (grünes Häkchen neben den Stimmen). – sodawillow

+0

Ich drückte den Pfeil nach oben auf beide Antworten, aber die Zählung änderte sich nicht. Ich bin mir nicht sicher, ob ich es richtig mache, aber ich versuche es noch einmal. Danke Leute. – indyodie