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

本文关键字:获取 IIS 虚拟 powershell 应用程序 MVC | 更新日期: 2023-09-27 18:05:19

我已经在MVC3 (c#)中创建了我自己的自定义IIS目录浏览器,并且遇到了一个粗糙的点。

目前我正在使用Microsoft.Web.Administration命名空间来获得工作良好的虚拟目录,但是我想我会尝试使用PowerShell,因为Site类需要对windows目录中的文件夹进行权限。

目前我的代码如下:

        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时,它像预期的那样返回两个列表。

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

确保IIS连接池进程以admin权限运行