MVC3 (C#) で独自のカスタム IIS ディレクトリ ブラウザーを作成しましたが、大まかな問題にぶつかりました。
現在、Microsoft.Web.Administration
名前空間を使用して正常に動作している仮想ディレクトリを取得していますが、Site クラスには windows ディレクトリ内のフォルダーへのアクセス許可が必要であるため、PowerShell を試してみると思いました。
現在、私のコードは次のとおりです。
PowerShell ps = PowerShell.Create();
ps.AddCommand("import-module");
ps.AddArgument("webadministration");
ps.AddCommand("get-webvirtualdirectory");
ps.AddParameter("Name", "Default");
IEnumerable<PSObject> results = ps.Invoke();
現在、デフォルトには実際には2つの仮想ディレクトリがありますが、このコードを実行してもエラーは発生せず、すべてが期待どおりに機能しているように見えますが、「結果」で返されるコレクションは空になります..
さらに難しい問題として、powershellimport-module webadministration
をget-webvirtualdirectory -name Default
直接呼び出すと、期待どおりに動作し、2 つのリストが返されます。