【问题标题】:Executing an Exe file inside Invoke-Command causes Access Denied在 Invoke-Command 中执行 Exe 文件会导致访问被拒绝
【发布时间】:2012-03-14 15:40:41
【问题描述】:

使用 Powershell,我正在尝试连接到远程计算机并在该系统上安装 exe 文件。不幸的是,我在运行文件时收到拒绝访问错误。这个错误真正奇怪的是,位于同一路径上的其他 exe 运行良好,所以我想知道是否可能涉及更神秘的事情?

我目前正在使用此命令连接到远程计算机,我是本地管理员。

$InstallFile = "\\networkshare\folder\folder\setup.exe"
$InstallParameters = "SampleParameter1 = 5"
$Server = SERVERNAME.DOMAINNAME.COM
$cred = Get-Credential
invoke-command -Computername $Server -authentication credssp -credential $cred -ScriptBlock { 
    $CurrentProcess = Start-Process -FilePath $InstallFile -ArgumentList $InstallParameters -Wait -PassThru
    $CurrentProcess | Wait-Process
}

我正在使用 CredSSP,它似乎运行良好,因为它为其他文件解决了这个问题,但这个只是拒绝。还有其他想法吗?我在 .NET 4 中遇到了类似的问题,也无法解决该安装问题。

【问题讨论】:

标签: powershell


【解决方案1】:

我注意到您正在使用 Start-Process 来运行您的可执行文件。根据这个: http://technet.microsoft.com/en-us/library/dd347667.aspx 还有可以传递给它的 -Credential 参数。很可能是调用 Invoke-Command 的用户没有执行 Start-Process。尝试将凭据传递给您的启动进程:

invoke-command -Computername $Server -authentication credssp -credential $cred -ScriptBlock { 
$CurrentProcess = Start-Process -FilePath $InstallFile - Credential $cred -ArgumentList $InstallParameters -Wait -PassThru
$CurrentProcess | Wait-Process }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多