通过PowerShell自动更新程序

时间:2015-06-05 16:24:18

标签: powershell automation updates

我正在尝试更新公司范围内的软件。当更新应用于服务器时,客户端计算机会识别出他们需要更新并询问您是否要更新。要进行更新,用户需要以管理员身份运行,在这种情况下,这是一个选项。

我们希望使用PowerShell使用 var $j = jQuery.noConflict(), var $myElements = $j(".my-element"); 功能自动完成此过程。在大多数情况下,更新所做的唯一事情是将新文件复制到程序文件夹,这是我们使用robocopy实现的。但是,有一个注册表项需要在多个位置添加。有一个安装文件可以执行此操作,但需要用户(具有管理员权限)单击几个按钮,我们希望这完全自动化。

所以我想我的问题的简短版本是,处理Invoke-Command的注册表更改的最佳方法是什么?如果有一种方法可以调用可执行文件的脚本,那就太好了。

1 个答案:

答案 0 :(得分:0)

至于我的问题,我用一种稍微不同的方法解决了这个问题。 (最初应该尝试的一个)

当运行(ProgramName).exe时,如果它看到它需要更新,它会运行一个名为(ProgramName).setup.exe的程序,其参数为: Client =“Local folder”server =“server location”

然而,这些参数无法在命令行中运行,因此我最终使用powershell脚本生成一个带有所述参数的计划任务(ProgramName).setup.exe。

另一个巨大优势是我可以创建一个图标,允许普通用户以管理员权限运行计划任务。我无法直接设置快捷方式,但是,我写了一个AUTO-it可执行文件,它将以管理员身份运行任务。

我希望有人可以从这篇文章中获得一定程度的帮助!