我正在尝试从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
。如果我scope
到CurrentUser
或LocalMachine
我收到错误AuthorizationManager Check Failed
。
我该如何使这项工作?在某些时候,我必须将其发布到生产中。使用aspx页面通过代码运行powershell脚本的正确权限是什么?
答案 0 :(得分:0)
我刚刚使用Process类执行powershell.exe并将参数传递给它。这不是最好的解决方案。但话说回来,我不认为你会急于提供帮助并提供解决方案: - )