我的脚本设计用于远程安装可执行文件时出现问题。我脚本的所有初步操作都运行得很好。我从文本文件中获取了大约十几台计算机的主机名。我使用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
没有发送任何错误,他们什么都不做。具有-Wait的命令永远挂起。如果我放了-Sleep,它只是等待请求的秒数然后结束,什么都不做。我不知道这是否重要,但是当我使用/ SILENT开关在本地计算机上运行可执行文件时,它不会请求任何提示,但它会打开一个资源管理器窗口。
我尝试使用PSExec.exe,但我得到了类似的结果。它只是永远挂起而没有任何错误。在此先感谢您的帮助!
答案 0 :(得分:1)
在与这个东西打架之后,我能够通过创建批处理文件然后使用
成功安装exeselect ai.MainAccount as "Main", mi.MainAccount as "Secondary"
from #AccountsInterval ai
cross join #MainAccounts mi
where mi.MainAccount >= ai.FromAccount and mi.MainAccount <= ai.ToAccount
批处理文件中的所有内容都是
Invoke-Command -ComputerName remoteComp -ScriptBlock {C:\temp\installer.bat}
ssaviers提到了另一种对我有用的方法,我可以使用schtasks.exe来安排一次性任务。
答案 1 :(得分:0)
尝试里面的参数列表......如果exe支持它。
例如:
Invoke-Command -ScriptBlock { c:\temp\yourexe.exe /verysilent /norestart /log="c:\install.log"}
请尝试。