当我从MVC应用程序运行powershell时,Get-ChildItem –Path IIS:\AppPools
命令没有任何结果。
如果我直接在Powershell中运行它,则效果很好。我已将该站点设置为以管理员帐户运行,以为它可能无法“看到”池,但没有运气。
这也是访问池的一种测试,因为我最初一直在努力关闭应用程序池,因为它“找不到”。与Get-WebAppPoolState -name $service
public static string test()
{
using (var powershell = PowerShell.Create())
{
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
using (RunspaceInvoke invoker = new RunspaceInvoke())
{
invoker.Invoke("Set-ExecutionPolicy Unrestricted");
invoker.Invoke("Import-Module WebAdministration");
runspace.Open();
powershell.Runspace = runspace;
powershell.AddScript(@"Import-Module WebAdministration
Get-ChildItem –Path IIS:\AppPools");
var results = powershell.Invoke();
var result = "";
result += ResultsToString(results); // results is a blank list
result += String.Join(",", powershell.Streams.Error.ToList().Select(x => x.Exception.Message));
return result;
}
}
}
}
任何想法出在哪里?代码,权限?