在MVC应用程序中使用PowerShell从IIS获取虚拟目录

时间:2013-03-22 02:05:27

标签: c# asp.net-mvc powershell virtual-directory

我已经在MVC3(C#)中创建了我自己的自定义IIS目录浏览器,并且遇到了一个大问题。

目前我正在使用“Microsoft.Web.Administration”命名空间来获取正常工作的虚拟目录,但是我想我会尝试使用PowerShell,因为Site类需要权限来访问Windows目录中的文件夹。 / p>

目前我的代码如下:

        PowerShell ps = PowerShell.Create();
        ps.AddCommand("import-module");
        ps.AddArgument("webadministration");
        ps.AddCommand("get-webvirtualdirectory");
        ps.AddParameter("Name", "Default");
        IEnumerable<PSObject> results = ps.Invoke();

现在默认确实有两个虚拟目录,但是当我运行这个代码时没有错误发生,所有似乎都按预期工作,但是“结果”中返回的集合是空的..

更令人困惑的是,当我将“import-module webadministration”称为“get-webvirtualdirectory -name Default”直接进入powershell时,它按预期工作,返回两个列表。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

确保IIS连接池进程正在以管理员权限运行。