使用Powershell远程安装.msi
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Powershell远程安装.msi相关的知识,希望对你有一定的参考价值。
我使用此论坛上的代码使他遵循代码。
cls
$computername = Get-Content 'C:UsersC201578-dbDocumentsserver.txt'
$sourcefile = "\iceopsnasLNT_SoftwareRep.grpCORECOTSEMCAvamarAvamar_7.0CR06794393AvamarClient-windows-x86_64-7.0.102-47.msi"
#This section will install the software
foreach ($computer in $computername)
{
$destinationFolder = "\$computerC$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:AvamarAvamarClient-windows-x86_64-7.0.102-47.msi" /qb ADVANCED_OPTIONS=1 CHANNEL=100}
Write-Host "Installed Successfully"
}
我尝试了所有的排列和组合,但没有运气。尝试了在发布这个问题时得到的所有建议,但没有。复制过程成功但未安装.msi文件。也许这个问题会被标记为重复,但在此之前仍然建议进行一些编辑。
答案
作为一种解决方法(缺少详细信息无法帮助诊断问题),您可以使用第三方工具qazxsw poi在远程主机上运行安装程序。
尝试用。替换你的invoke命令
psexec.exe
另一答案
尝试将命令定义为脚本块:
psexec.exe \$computer -s -u Adminuser -p AdminPassword msiexec /i C:AvamarAvamarClient-windows-x86_64-7.0.102-47.msi /qb ADVANCED_OPTIONS=1 CHANNEL=100
另一答案
它与psexec.exe工作正常,我已经在100多个用户的桌面上安装了它。在clients.txt文件上设置用户的ip地址。以下是我的代码:
$command = "msiexec.exe /i C:AvamarAvamarClient-windows-x86_64-7.0.102-47.msi"
$scriptblock = [Scriptblock]::Create($command)
Invoke-Command -ComputerName $computer -ScriptBlock $scriptblock
以上是关于使用Powershell远程安装.msi的主要内容,如果未能解决你的问题,请参考以下文章
带有参数的 PowerShell 调用不替代 PARAM 来安装 MSI
在Visual Studio 2017中为WPF应用程序创建MSI安装程序后,EXE不执行任何操作
安装SQLserver 2008安装程序未能安装Windows PowerShell,错误代码为-214512329