使用Powershell在多个机器上远程运行安装文件(.exe)

时间:2018-10-01 07:04:41

标签: powershell

我正在尝试运行一个复制到所有服务器上指定文件夹的exe文件以及一个参数列表。但是,此操作失败,没有任何错误,文件复制正常,但是远程执行安装失败。

以下是我正在写的内容。

请提示,我们将为您提供任何帮助。

$servers = Get-Content c:\temp\servers.txt

foreach ($server in $servers){
    "Processing $server"
    Copy-Item -Path "\\$serverA\utility$\Setup.exe" -Destination "\\$server\c$\temp\Setup.exe" -Force

    $copy_complete = Test-Path "\\$server\c$\temp\Setup.exe" 
    if ($copy_complete) {
        "copy successful"
        Invoke-Command -ComputerName $server -ScriptBlock { Start-Process 'c:\temp\Setup.exe'  -ArgumentList '/quiet /noreboot /enable_remote_assistance  /Exclude "Smart Tools agent","Profile Manager WMI Plugin","Personal vDisk"' }
        "$server completed"
    }
    else {
        "Failed copy, retry manually on $server"
    }
}

1 个答案:

答案 0 :(得分:0)

您可以尝试与呼叫运营商(&)

Invoke-Command -ComputerName $server -ScriptBlock {
    $executable='c:\temp\Setup.exe'
    $arguments='/quiet /noreboot /enable_remote_assistance /Exclude "Smart Tools agent","Profile Manager WMI Plugin","Personal vDisk"'
    & $executable $arguments
}