Powershell Start-Process:由于错误,无法执行此命令:拒绝访问

时间:2015-06-18 10:03:21

标签: powershell access-denied start-process

我正在尝试使用给定凭据的powershell脚本运行start-process。 然而,命令失败并出现以下错误:

Start-Process : This command cannot be executed due to the error: Access is denied  

以下是完整的错误日志:

18-Jun-2015 11:48:54    Start-Process : This command cannot be executed due to the error: Access is den
18-Jun-2015 11:48:54    ied.
18-Jun-2015 11:48:54    At C:\Windows\system32\config\systemprofile\AppData\Local\Temp\PRISMA-AMR-JOB1-
18-Jun-2015 11:48:54    87-ScriptBuildTask-8569094554411403512.ps1:38 char:18
18-Jun-2015 11:48:54    +     Start-Process <<<<  C:\Windows\System32\cmd.exe -arg "/C" -Credential $cr
18-Jun-2015 11:48:54    edential
18-Jun-2015 11:48:54        + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOp 
18-Jun-2015 11:48:54       erationException
18-Jun-2015 11:48:54        + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.C 
18-Jun-2015 11:48:54       ommands.StartProcessCommand

以下是故障PowerShell调用的内容:

Start-Process C:\Windows\System32\cmd.exe -arg "/C" -Credential $credential

如果我在执行脚本的机器上打开带有相应凭据的命令提示符,则运行cmd /C会很好。如果它代表start-process在powershell脚本上,则会失败。

也许我应该说当我手动运行带有目标凭据的命令提示符时,我以管理员身份登录,而powershell看起来要在系统帐户下运行。

看起来真的有些权限出了问题...不知道这里发生了什么?

修改 从中所说的 https://serverfault.com/questions/185813/which-ad-permission-is-required-to-allow-impersonation-of-an-account/193717#193717
我在本地政策中检查了模仿的许可 - &gt;用户权利分配。系统存在,为了完整起见,我还添加了计算机帐户。重新启动。但没有运气,问题仍然存在!

1 个答案:

答案 0 :(得分:7)

好的,我终于明白了。 似乎出于安全原因,系统帐户无法启动模拟。 这里的解决方案是将运行脚本的帐户从系统更改为自定义帐户。然后允许在安全策略中模拟此帐户,如下所述:

https://serverfault.com/questions/185813/which-ad-permission-is-required-to-allow-impersonation-of-an-account/193717#193717