2016-04-13 3 views
1

Ich scanne einige interne Netzwerke von einem Windows-Server derzeit ein Teilnetz gleichzeitig. Ich werde das irgendwann automatisieren, bin aber mit Powershell nicht vertraut und lerne programmieren. War nach etwas Anleitung von der Gemeinde.Powershell für Schleife - Nmap

Die Logik i ist so weit habe

file = nmap_subnets.txt 
scan = (nmap.exe -sV -T3 -O -F -version-light') 

for subnet in file: 
    scan ('-oN $subnet.txt') 

exit 

nmap_subnets.txt wird nur ein Subnetz enthält pro Zeile dh 192.168.1.0/25 ich dann auf einer Linie für jedes Subnetz will, dass Subnetz wie die Dateinamen verwenden für die Ausgabe von -oN

Wenn die Logik falsch ist offen für irgendwelche Ideen.

Dank

Antwort

1

versuchen Sie dies:

$file = ".\nmap_subnets.txt" 
ForEach($range in get-content $file) 
{ 
    & nmap.exe -sV -T3 -O -F -version-light -oN $range 
} 
+0

Danke, ich den obigen Code verwende, scheint es, dass die subnets.txt in CIDR-Notation sein muss für nmap erfolgreich den Befehl zu starten. Aber die Ausgabe für -oN muss das/entfernt haben, da Windows in Dateinamen nicht so aussieht. In eine Streifenfunktion jetzt schauen. –

+0

Sie müssen nur die/Flucht –