Powershell Start-Process:由于错误无法执行此命令:访问被拒绝
Posted
技术标签:
【中文标题】Powershell Start-Process:由于错误无法执行此命令:访问被拒绝【英文标题】:Powershell Start-Process : This command cannot be executed due to the error: Access is denied 【发布时间】:2015-09-03 21:54:00 【问题描述】:我正在尝试从具有给定凭据的 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
如果我在执行脚本的机器上使用适当的凭据打开命令提示符,则运行cmd /C
效果很好。如果它代表 start-process 在 powershell 脚本上,它会失败。
也许我应该说,当我使用目标凭据手动运行命令提示符时,我是以管理员身份登录的,而 powershell 看起来是在系统帐户下运行的。
看起来某些权限确实有问题...知道这里发生了什么吗?
编辑: 从里面说的 https://serverfault.com/questions/185813/which-ad-permission-is-required-to-allow-impersonation-of-an-account/193717#193717 我在 Local Policies -> User Rights Assignment 中检查了模拟权限。系统存在,为了完整起见,我还添加了计算机帐户。重新启动。但是没有运气,问题仍然存在!
【问题讨论】:
检查您的凭据是否有效。说开始notepad
。还要检查您在运行计划任务时使用的凭据。
@Vesper,我检查了脚本用作凭据的内容,并且用户和密码的值均已正确设置。如前所述,在机器上用于运行 powershell 脚本的凭据是计算机帐户。这可能是错误的原因吗?
是的,很可能,因为显示 cmd 窗口的默认屏幕将是系统本地“安全”桌面,这被认为是“特权提升”类型的安全错误,因此被禁止.尝试在该任务中保存用户的信誉,然后重试。
@Vesper,不确定你的意思。尽管如此,我还是在 start-process 调用中添加了 -NoNewWindow 参数,但运气不佳。
我说过你应该将 Windows 任务管理器中的任务更改为不在本地系统下运行。
【参考方案1】:
好的,我终于明白了。 出于安全原因,系统帐户似乎无法启动模拟。 这里的解决方案是将运行脚本的帐户从系统帐户更改为自定义帐户。然后允许在安全策略中模拟此帐户,如此处所述:
https://serverfault.com/questions/185813/which-ad-permission-is-required-to-allow-impersonation-of-an-account/193717#193717
【讨论】:
以上是关于Powershell Start-Process:由于错误无法执行此命令:访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
Powershell Start-Process:由于错误无法执行此命令:访问被拒绝
我如何使用需要从命令提示符/批处理文件引用的参数调用PowerShell Start-Process命令?
使用 PowerShell 命令 Start-Process 安装 msi 时,出现 Exit-code 1603 错误