使用Powershell远程安装.msi

问题描述 投票:2回答:3

我使用此论坛上的代码使他遵循代码。

cls
$computername = Get-Content 'C:\Users\C201578-db\Documents\server.txt'
$sourcefile = "\\iceopsnas\LNT_SoftwareRep.grp\CORE\COTS\EMC\Avamar\Avamar_7.0\CR06794393\AvamarClient-windows-x86_64-7.0.102-47.msi"
#This section will install the software 
foreach ($computer in $computername) 
{
    $destinationFolder = "\\$computer\C$\Avamar"
    #This section will copy the $sourcefile to the $destinationfolder. If the Folder does not exist it will create it.
    if (!(Test-Path -path $destinationFolder))
    {
        New-Item $destinationFolder -Type Directory
    }
    Copy-Item -Path $sourcefile -Destination $destinationFolder
    Write-Host "Copied Successfully"
    Invoke-Command -ComputerName $computer -ScriptBlock { & cmd /c "msiexec.exe /i C:\Avamar\AvamarClient-windows-x86_64-7.0.102-47.msi" /qb ADVANCED_OPTIONS=1 CHANNEL=100}
    Write-Host "Installed Successfully"
}

我尝试了所有的排列和组合,但没有运气。尝试了在发布这个问题时得到的所有建议,但没有。复制过程成功但未安装.msi文件。也许这个问题会被标记为重复,但在此之前仍然建议进行一些编辑。

powershell windows-installer windows-server-2008-r2 powershell-remoting
3个回答
1
投票

作为一种解决方法(缺少详细信息无法帮助诊断问题),您可以使用第三方工具qazxsw poi在远程主机上运行安装程序。

尝试用。替换你的invoke命令

psexec.exe

2
投票

尝试将命令定义为脚本块:

psexec.exe \\$computer -s -u Adminuser -p AdminPassword msiexec /i C:\Avamar\AvamarClient-windows-x86_64-7.0.102-47.msi /qb ADVANCED_OPTIONS=1 CHANNEL=100

0
投票

它与psexec.exe工作正常,我已经在100多个用户的桌面上安装了它。在clients.txt文件上设置用户的ip地址。以下是我的代码:

    $command =  "msiexec.exe /i C:\Avamar\AvamarClient-windows-x86_64-7.0.102-47.msi" 
    $scriptblock = [Scriptblock]::Create($command)
    Invoke-Command -ComputerName $computer -ScriptBlock $scriptblock
© www.soinside.com 2019 - 2024. All rights reserved.