asp.net - 在asp.net mvc中托管诸如cli之类的powershell以执行维护

标签 asp.net .net asp.net-mvc powershell powershell-hosting

我需要asp.net mvc应用程序的CLI来执行维护任务和某些状态任务。

我认为powershell旨在提供CLI。但是除了名字我什么都不知道。

如何将Powershell托管在iis中运行的asp.net mvc中,以提供自定义任务的CLI?

最佳答案

托管和使用PowerShell引擎的.NET代码非常简单:

private void ExecutePowerShellCommand(string command)
{
    using (var invoker = new RunspaceInvoke())
    {
        Collection<PSObject> results = invoker.Invoke(command);
        foreach (var result in results)
        {
            _listBox.Items.Add(result);
        }                
    }
}

诀窍在于配置PowerShell运行空间以限制可用命令。您可能不想让某人从任何旧目录中删除文件,关闭计算机或格式化驱动器(他们可以访问路径中的EXE)。查看Constrained Runspaces以限制可以通过此机制执行的操作。您还可以限制可用的语言功能。

关于asp.net - 在asp.net mvc中托管诸如cli之类的powershell以执行维护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543278/

相关文章:

c# - 等待 Observable 的第 n 个 OnNext()

c# - 您如何测试软件发布版本之间的代码性能?

c# - 登录失败。用户 'NT AUTHORITY\SYSTEM' 登录失败

c# - 如何防止验证器在 HttpGet 上运行?

asp.net - 在 Asp.Net 中安全启用 HTTPOnly

javascript - 如何从数据列表下拉列表中多次选择值并将每次值存储在表中的新行中?

.net - Asp.Net 应用程序是否有任何类型的文件依赖项跟踪器?

c# - 哪些开源软件使用了 ASP.NET MVC

css - 是否可以为特定的 MVC View 指定 CSS 类?

c# - 用户在 ASP.NET 中为 YAF 选择了 theme.css