【问题标题】:Powershell Permissions not working remotelyPowershell权限无法远程工作
【发布时间】:2014-03-05 12:41:38
【问题描述】:

和这里有同样的问题: Run PowerShell script from ASP.NET 我正在尝试通过 asp.net 网页在服务器上运行 powershell 脚本。它可以在本地服务器上工作,但不能远程工作。远程它什么也不返回,就好像脚本有效一样。

我尝试使用 icacls.exe 修改权限

icalc.exe c:\test.ps1 /grant "IIS AppPool\DefaultAppPool:(OI)(CI)F"

这没有效果。当我阅读权限是什么时:

icalcs c:\test.ps1
    NT AUTHORITY\Authenticated Users:(I)(M)
    NT AUTHORITY\SYSTEM:(I)(F)
    BUILTIN\Administrators:(I)(F)
    BUILTIN\Users:(I)(RX)

即使在我尝试修改它之后,我也总是得到相同的回报。 IIS AppPool\DefaultAppPool 在哪里?

更新 我一直在使用一个只打开记事本进行测试的脚本。当我在本地运行这个记事本时会弹出。远程似乎什么都没有发生,但后来我注意到在任务管理器中有大量的记事本正在运行。所以看起来它正在工作,但不是我所期望的。我要完成的最终功能是添加最少的远程功能。我还从我的网络服务器播放电影,如果能够通过我现有的网络界面远程控制某些功能,那就太好了。所以脚本必须在当前用户上运行。我想这可能更适合使用 WCF 或其他类型的体系结构,但最好使用我的 Web 界面来处理所有事情。

【问题讨论】:

标签: c# asp.net iis powershell application-pool


【解决方案1】:

确保已在远程服务器上更新 PowerShell 脚本执行以允许执行脚本。如果 Web 服务器以 32 位运行,则在机器上以提升(管理员)模式启动 x86 PowerShell 控制台并执行:

Set-ExecutionPolicy RemoteSigned

如果网页以 64 位运行,则使用 64 位提升的 PowerShell 控制台执行相同操作。

【讨论】:

  • 我已将其设置为远程签名,与行为没有区别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
相关资源
最近更新 更多