拒绝启动进程访问权限的PowerShell Invoke-Command

时间:2018-08-09 14:29:47

标签: powershell access invoke-command denied start-process

我有一个包含以下代码的脚本:

$secpasswd = ConvertTo-SecureString "Ukn545454" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("$env:USERDOMAIN\user1", $secpasswd)
invoke-command -ComputerName "MyW10comp" -ScriptBlock {Start-proccess -FilePath PowerShell.exe -Credential $using:mycreds}

我有8台计算机(其中一台也是w10,但也是32位的),并且在每个计算机上脚本运行良好,但是在其中的Windows 10 64位操作系统上,它说:

This command cannot be run due to the error: Access is denied.
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
    + PSComputerName        : MyW10Comp

如果我在本地运行脚本,一切都会顺利进行! 我可以在计算机上检查什么以查看问题所在?

谢谢

1 个答案:

答案 0 :(得分:0)

这听起来像a double-hop problem。我不明白,考虑到您的会话已在您的上下文中运行,为什么您会启动一个传递凭据的过程:

$cred = [pscredential]::new(
    'domain\user',
    ('pass' | ConvertTo-SecureString -AsPlainText -Force)
)

Invoke-Command -ComputerName MyW10comp -Credential $cred -ScriptBlock {
    Start-Process -FilePath cmd
}

此示例应解决您的问题。