Powershell:远程exe安装

Powershell: Remote exe Installation

我的脚本有问题,该脚本旨在远程安装可执行文件。我的脚本的所有初步操作都很好。我从一个文本文件中获取了大约十二台计算机的主机名。我使用 PSExec 启用 PSRemoting。然后将安装程序复制到远程计算机上的临时目录中。一切都很好,除了重要的部分。我只是无法安装它。

我试过以下方法:

 Invoke-Command -ComputerName remoteComp -ScriptBlock {C:\temp\installer.exe} -ArgumentList /SILENT
 Invoke-Command -ComputerName remoteComp {Start-Process C:\temp\installer.exe -ArgumentList /SILENT -Wait}

我试过像这样使用 New-PSSession:

 $s = New-PSSession -ComputerName remoteComp
 Invoke-Command -Session $s -ScriptBlock {C:\temp\installer.exe} -ArgumentList /SILENT

None 发送任何类型的错误,他们什么都不做。具有 -Wait 的命令永远挂起。如果我放一个-Sleep,它只是等待请求的秒数然后完成,什么也没做。我不知道这是否重要,但是当我使用 /SILENT 开关 运行 本地计算机上的可执行文件时,它不请求任何提示,但它确实打开了一个资源管理器 window.

我尝试使用 PSExec.exe,但我得到了类似的结果。它只是永远挂起而没有任何错误。在此先感谢您的帮助!

试试里面的参数列表...如果 exe 支持的话。

例如:

Invoke-Command -ScriptBlock { c:\temp\yourexe.exe /verysilent /norestart /log="c:\install.log"}

请尝试。

在与这个东西战斗了一段时间之后,我能够通过创建一个批处理文件然后使用

成功安装 exe
 Invoke-Command -ComputerName remoteComp -ScriptBlock {C:\temp\installer.bat}

批处理文件中的所有内容是

 installer.exe /SILENT

ssaviers 提到了另一种对我有用的方法,我可以使用 schtasks.exe 来安排一次性任务。