2016-04-13 72 views
1

我正在從一個當前是子網的windows服務器一次掃描一些內部網絡。我會在某個階段實現自動化,但我不熟悉PowerShell和學習編程。是在社區的一些指導之後。powershell for loop - Nmap

我有邏輯至今

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將只包含每行一個子網,即192.168.1.0/25 後來我想某一行上每個子網使用子網作爲文件名輸出從-oN

如果邏輯錯了我打開任何想法。

感謝

回答

1

試試這個:

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

謝謝,我使用上面的代碼,似乎subnets.txt需要在CIDR標記爲NMAP成功啓動命令。但是-oN的輸出需要將/刪除,因爲Windows不像文件名中那樣。現在看看strip函數。 –

+0

你可能只需要逃避/ –