在IIS web应用程序上运行powershell方法有什么限制吗?

本文关键字:什么 方法 powershell web IIS 应用 应用程序 运行 程序上 | 更新日期: 2023-09-27 18:07:10

我想在我的asp.net mvc web应用程序中运行PowerCLI脚本。所以我已经在我的应用服务器中安装了PowerCLI应用程序。然后我编写了以下测试动作方法,并在我的visual studio中运行web应用程序,一切都运行良好:-

public ActionResult About(string vCenterIp = "****", string vCenterUsername = "****", string vCenterPassword = "****")
        {

var shell = PowerShell.Create();

                string PsCmd = "add-pssnapin VMware.VimAutomation.Core; $vCenterServer = '" + vCenterIp + "';$vCenterAdmin = '" + vCenterUsername + "' ;$vCenterPassword = '" + vCenterPassword + "';" + System.Environment.NewLine;

                PsCmd = PsCmd + "$VIServer = Connect-VIServer -Server $vCenterServer -User $vCenterAdmin -Password $vCenterPassword;" + System.Environment.NewLine;

                PsCmd = PsCmd + "Get-VMHost" + System.Environment.NewLine;

                shell.Commands.AddScript(PsCmd);
                var results = shell.Invoke();


                if (results.Count > 0)

现在我的问题是,当我将web应用程序部署到IIS时,我将能够运行上述操作方法吗?从我的阅读似乎IIS默认情况下不允许运行EXE脚本。因此,在将我的应用程序部署到IIS之前,我需要考虑任何限制或问题,因为我在其中运行powerCLI脚本?

在IIS web应用程序上运行powershell方法有什么限制吗?

这里有其他人尝试过您正在做的事情....

http://jeffmurr.com/blog/?p=142..。

我喜欢最后一点…

要在托管应用程序的ApplicationPool服务器上运行此程序必须具有管理员权限。

这真的取决于你的组织和你打算在哪里部署这个站点。对于许多企业来说,在具有管理员权限的web服务器上运行任何东西都是完全不可接受的。

如果可以的话,我会尽量避免这种情况,也许有一个单独的windows服务,使用数据库作为中介与网站通信,即网站在数据库中粘贴一个作业,windows服务安全地处理它,将结果发布到SQL Server,用户可以在另一个页面上查看结果,读取写入的数据。

如果这听起来太费力,我至少会使用这种方法…

在c#中以管理员身份执行PowerShell

…创建一个以正常(降低)权限运行的站点,并临时提升其权限以运行powershell脚本