Powershell Start-Process : This command cannot be executed due to the error: Access is denied
Powershell Start-Process : This command cannot be executed due to the error: Access is denied
我正在尝试 运行 从具有给定凭据的 powershell 脚本启动进程。
尽管如此,命令失败并出现以下错误:
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
如果我在执行脚本的机器上使用适当的凭据打开命令提示符,运行ning cmd /C
会很好。如果它代表启动进程在 powershell 脚本上,它会失败。
也许我应该说,当我手动 运行 带有目标凭据的命令提示符时,我以管理员身份登录,而 powershell 看起来是 运行 在系统帐户下。
看起来某些权限确实有问题...知道这里发生了什么吗?
编辑:
从中所说的
https://serverfault.com/questions/185813/which-ad-permission-is-required-to-allow-impersonation-of-an-account/193717#193717
我在本地策略-> 用户权限分配中检查了模拟权限。系统存在,为了完整起见,我还添加了计算机帐户。重新启动。但是没有运气,问题仍然存在!
好的,我终于明白了。
似乎出于安全原因,系统帐户无法启动模拟。
这里的解决方案是将脚本中的帐户 运行 从系统帐户更改为自定义帐户。然后允许在安全策略中模拟此帐户,如此处所述:
我正在尝试 运行 从具有给定凭据的 powershell 脚本启动进程。 尽管如此,命令失败并出现以下错误:
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
如果我在执行脚本的机器上使用适当的凭据打开命令提示符,运行ning cmd /C
会很好。如果它代表启动进程在 powershell 脚本上,它会失败。
也许我应该说,当我手动 运行 带有目标凭据的命令提示符时,我以管理员身份登录,而 powershell 看起来是 运行 在系统帐户下。
看起来某些权限确实有问题...知道这里发生了什么吗?
编辑:
从中所说的
https://serverfault.com/questions/185813/which-ad-permission-is-required-to-allow-impersonation-of-an-account/193717#193717
我在本地策略-> 用户权限分配中检查了模拟权限。系统存在,为了完整起见,我还添加了计算机帐户。重新启动。但是没有运气,问题仍然存在!
好的,我终于明白了。 似乎出于安全原因,系统帐户无法启动模拟。 这里的解决方案是将脚本中的帐户 运行 从系统帐户更改为自定义帐户。然后允许在安全策略中模拟此帐户,如此处所述: