从aspx页面权限问题运行powershell脚本

时间:2015-04-19 18:10:20

标签: c# asp.net powershell permissions

我正在尝试从aspx页面运行powershell脚本。我查看并搜索了一下,发现这段代码from here名为private string RunScript(string scriptText) (c# version)。问题是我在使用Visual Studio 2010运行脚本时遇到权限问题。我尝试以管理员身份运行VS但是我遇到了同样的问题。

aspx页面的作用是它实际上写了一个powershell脚本并将字符串传递给scriptText。我确认如果我将powershell行放在一个文件中并在命令行上运行它就可以了。

这是我的powershell脚本示例,aspx生成并尝试在请求页面时执行(使用openxml powertools合并pptx文档)。

Import-Module Oxpt
$pml0 = New-PmlDocument "c:\MergeTemp\0.pptx"
$pres0 = New-Object OpenXmlPowerTools.SlideSource($pml0, $false )
$pml1 = New-PmlDocument "c:\MergeTemp\1.pptx"
$pres1 = New-Object OpenXmlPowerTools.SlideSource($pml1, $false )

$sources = ($pres0, $pres1)
Merge-Pptx -OutputPath c:\SlideMergeTemp\out.pptx -Sources $sources

如果我放置Set-ExecutionPolicy,我会access to registry is denied。如果我scopeCurrentUserLocalMachine我收到错误AuthorizationManager Check Failed

我该如何使这项工作?在某些时候,我必须将其发布到生产中。使用aspx页面通过代码运行powershell脚本的正确权限是什么?

1 个答案:

答案 0 :(得分:0)

我刚刚使用Process类执行powershell.exe并将参数传递给它。这不是最好的解决方案。但话说回来,我不认为你会急于提供帮助并提供解决方案: - )