私は、App-V 用の PowerShell コマンドレットを利用するいくつかのユーティリティを作成してきました。興味深いのは、Microsoft がコマンドレットのみを文書化し、Powershell モジュールの背後で使用される .net アセンブリを文書化していないように見えることです。
これで、P/Invoke と COM 相互運用性に精通し、System.Management.Automation を使用して PowerShell セッションを作成し、コマンドレットを呼び出す方法を学びました。
でもなんか匂いが合わない。私は基本的に、自分のラッパー クラスを作成して、残りのコードから PowerShell の呼び出しを隠しています。a) powershell をバイパスしてその背後にあるマネージ ライブラリに直接アクセスするか、b) powershell コマンドレットの相互運用ライブラリを生成するためのより良いメカニズムが必要なようです。
Microsoft は最近 PS CmdLets を多用しているようで、基本的に相互運用する新しい API になりつつあります。
何か不足していますか?このシナリオで使用するのに適した戦略は何ですか?