Powershell 2.0 を使用して、Microsoft のマニフェスト生成および編集ツール (mage) を使用してアプリケーション マニフェストを作成するスクリプトを作成したいと考えています。具体的には、動的に指定されたパラメーター値を mage コマンドに渡すことができるようにしたいと考えています (たとえば、xml またはその他のソースから読み取る)。
これは、invoke-expression を使用して実現できますが、安全性の低いオプション (つまり、「powershell インジェクション攻撃」に対して脆弱) と見なされることは避けたいと思います。
これが私が知っていることです。
これは、「application.exe.manifest successfully created」というメッセージで成功します。
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\mage.exe" -New Application
これは、「The first argument must be one of the following: -New, -Update, -Sign」というメッセージで成功しません (これは powershell ではなく mage のエラー メッセージです)。
$params = "-New Application"
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\mage.exe" $params
$params 値を mage コマンドに渡して、mage によって正常に解釈されるようにするにはどうすればよいですか?