net 5 web api 部署到iis 不能使用process 调用 bat 、cmd 、powershell 取回结果么?

net 5 web api 部署到iis 不能使用process 调用 bat 、cmd 、powershell 取回结果么?

控制台能获取到结果,web api 去调用执行,获取不到结果。

iis 程序池采用默认配置

代码如下:

//执行获取结果    
var output1 = Cmd("powershell", "Get-Counter -Counter '\\Processor(_Total)\\% Processor Time' -MaxSamples 1");
public static string Cmd(string fileName, string args)
{
string output = string.Empty;
var info = new ProcessStartInfo();
info.FileName = fileName;
info.Arguments = args;
info.RedirectStandardOutput = true;
using (var process = Process.Start(info))
{
process.WaitForExit();
output = process.StandardOutput.ReadToEnd();
}
return output;
}

回答

你把IIS site对应的APP Pool使用权限较高的LocalSystem启动试试

多半是因为PowerShell没权限返回了错误,而错误会定向到错误流中去了。

 

 

 

以上是net 5 web api 部署到iis 不能使用process 调用 bat 、cmd 、powershell 取回结果么?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>