IPSECの変更を処理するために、PowerShell 2にcmdletはありますか?
-
19-09-2019 - |
質問
System.management.automationを使用して、基本的にファイアウォールとして機能するプログラムを構築しています。また、サーバーのIPSEC変更を処理するためにPowerShell 2に特定のcmdletがあるかどうか疑問に思っていましたか? (つまり、それはNetSH IPSEC機能を複製します)?
それとも私はそれを書く必要がありますか? :p
NetSHクエリを処理するためにPowerShellコード内で[診断.Process]を呼び出すよりもクリーンなソリューションを望んでおり、CMDLETの方が良いと考えました。
誰かがヒントやコツを持っていますか?または、「Windows Powershell cmdlet」というドキュメントを掘り始めるだけです。
http://msdn.microsoft.com/en-us/library/dd878294%28vs.85%29.aspx
アイデアをありがとう!
解決
残念ながら、現時点では、NetSHと同様の機能を提供するネイティブPowerShell CMDLETSはありません。
そうは言っても、PowerShell関数でNetSHコマンドを実行するために新しいプロセスを起動する必要はありません。 CMDLetと同様に、通常CMDで実行する任意のEXEをPS関数またはスクリプトインラインで実行できます。出力を変数に保存し、Select -Stringまたは-Matchオペレーターでテキストを処理できます。
例として
Function Get-NetShIPInterface {
netsh int ip show int
}
$interface = Get-NetshIPinterface
$interface | select-string "Local Area Connection"
最終的にはネットワーキングcmdletsを取得しますが、今のところ、NetSHは仕事を終わらせることができます。
所属していません StackOverflow