C# 通过ASP.Net的Powershell-“;'=';操作员失败:访问被拒绝。”;

C# 通过ASP.Net的Powershell-“;'=';操作员失败:访问被拒绝。”;,c#,asp.net,powershell,C#,Asp.net,Powershell,我正试图通过C#/ASP.Net中编码的web界面运行Powershell脚本。我将保留我的.ps1脚本,并通过Process.Start(Powershell);;调用它们 我每次收到的错误是“运算符“=”失败:访问被拒绝”。失败的powershell脚本部分位于“$LC=Get Credential”-分配在其他任何地方都有效。注意:这仅在IIS7 Web服务器上运行published.aspx时失败。通过VisualStudio2010进行调试时,它可以正常工作 谢谢 Get Creden

我正试图通过C#/ASP.Net中编码的web界面运行Powershell脚本。我将保留我的.ps1脚本,并通过Process.Start(Powershell);;调用它们

我每次收到的错误是“运算符“=”失败:访问被拒绝”。失败的powershell脚本部分位于“$LC=Get Credential”-分配在其他任何地方都有效。注意:这仅在IIS7 Web服务器上运行published.aspx时失败。通过VisualStudio2010进行调试时,它可以正常工作


谢谢

Get Credential会生成一个弹出窗口,在应用程序池中无法运行。

实际上,此处的“访问被拒绝”是试图启动进程的IIS用户。诚然,您将无法获取凭据(因为没有主机请求凭据),但是,即使您硬编码凭据,也无法启动进程

在大多数远程上下文中,此priv处于关闭状态

如果您愿意,您实际上可以让web应用程序在一个能够启动进程的帐户下运行,但是,在阅读问题的第一段时,我可以看到您在小题大做:

我正试图通过一个web界面运行Powershell脚本 在C#/ASP.Net中。我将保留我的.ps1脚本并调用它们 通过进程启动(Powershell)

虽然这看起来很容易,但肯定是很困难的(因为它将您推向操作系统中这个模糊的部分-远程执行权限)

如果您在ASP.NET中运行PowerShell,则应直接使用[PowerShell]API( )在.NET中嵌入PowerShell。如果希望模拟工作,还需要按照中的说明设置运行空间


希望这有帮助

Get凭证运行失败是否很明显?因为您的帐户没有获取凭据的权限?该帐户有获取凭据的权限。毫无疑问。我不确定它是否会在应用程序池/web服务器中运行…@Matt(OP,奇怪的是OP和应答者都有相同的名称)-添加评论,不要作为answers@manojldsOP=原创海报?让人困惑的是我们的名字是一样的!:)(顺便说一句,我是下面的回答者马特)对不起,马诺兹:我是新来的。:)@马特(回应者):你知道如何让弹出窗口工作吗?重新配置IIS或以其他方式调用它?否则,你知道有什么办法可以让用户输入他们的凭据并成功地将其传递到脚本吗?@Matt我认为你不能用这个命令来实现这一点。我想你需要解决这个问题。先看看这个。