2016-04-13 14 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 すなわち、1行に1つのサブネットが含まれていますです-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はnmapのコマンドを正常に起動するためにCIDR表記であることが必要であると思われます。しかし、-oNの出力には、/ファイル名にWindowsのように削除されている必要があります。今すぐストリップ機能を見てください。 –

+0

あなたは/ –