2016-12-06 4 views
1

を使用してExcelにエクスポートするファイアウォールのルール私は、以下のコマンドの出力を統合しようとしていますPowerShellのv2の

netsh advfirewall firewall show rule name = all | out-file .\rules.txt 

現在のコマンドの出力は、上記の本

Rule Name:       Remote Assistance (PNRP-Out) 
---------------------------------------------------------------------- 
Enabled:        Yes 
Direction:       Out 
Profiles:        Domain,Private 
Grouping:        Remote Assistance 
LocalIP:        Any 
RemoteIP:        Any 
Protocol:        UDP 
LocalPort:       Any 
RemotePort:       Any 
Edge traversal:      No 
Action:        Allow 

ようになります私はこのようなExcelファイルを持っている必要があります

Rule Name      Enabled Direction Profiles  Grouping   LocalIP  RemoteIP Protocol RemotePort Edge Transversal Actions 

Remote Assistance (PNRP-Out) Yes  Out  Domain,Private Remote Assistance Any   Any  UDP   Any   No     Allow 

これを実行する方法はありますか?これはpoweshell v2でのみ行われます。他のモジュールはインポートできません。これは、netshコマンドが出力する各ルールに対して実行する必要があります。

ありがとうございました!このような

+0

は/あなたの人生をより簡単かもしれないだろう?それは簡単な変換です。 –

+0

文字列を解析することは本当の難題です。オブジェクトの配列をCSVまたはExcelに出力する適切なプロパティがあれば、それほど差はありません。文字列を解析する限り、ちょっと試してみましたが、それを簡単にやり遂げることができませんでしたが、文字列配列をルールに分割して解析するループから始めましょうそこをループして正規表現や空白のインデックスを使ってデータを取得すると、文字列の最後の文字列を取得し、空白を消去するために '.Trim()'を実行することもできますが、それはちょっとうんざりです。 –

答えて

4

は、COMオブジェクトを使用してルールを取得し、CSV形式に変換することができます(CSVファイルをエクセルで開くことができる):あなたはExcelが開くことができるCSVファイルにデータを作った場合

$Rules=(New-object –comObject HNetCfg.FwPolicy2).rules 
$Rules | export-csv test.csv -NoTypeInformation 
+0

@Matt私はこれをv2でテストしたところ、うまくいきました。 –

+0

ありがとう、これは私が必要としていたものです!私はエクスポートしようとしましたが、私はcomObjectのものが必要だと思います –

関連する問題