【问题标题】:Continue powershell script execution even if a reboot is encountered即使遇到重新启动,也继续执行 powershell 脚本
【发布时间】:2019-12-30 06:58:50
【问题描述】:

所有, 我正在尝试编写一个脚本来更新远程机器上的程序,但是升级需要一次或两次重新启动。当我运行powershell脚本时,它会触发升级并且机器重新启动一次,重新启动后升级不会恢复,除非任何用户帐户登录到机器;用户登录后,升级会自动恢复,升级过程会触发另一个重新启动帖子,升级完成。

有没有办法做到这一点?以下是我正在尝试的。

Invoke-Command -ComputerName $name -ScriptBlock { Unblock-File 'C:\temp\Install\VDAServerSetup_1912.exe'; Start-Process -FilePath C:\temp\Install\VDAServerSetup_1912.exe -ArgumentList '/components VDA', /disableexperiencemetrics, /enable_hdx_ports, /enable_hdx_udp_ports, /enable_real_time_transport, /enable_remote_assistance, '/includeadditional "Citrix Personalization for App-V - VDA"','/exclude "Personal vDisk","Machine Identity Service"', '/includeadditional "Citrix Personalization for App-V - VDA"', '/logpath "c:\becnet\xenapp"', /masterimage, /quiet, /virtualmachine, /disableexperiencemetrics, /optimize, /virtualmachine -wait}

我删除了复制代码,因为该部分工作正常。我面临的问题是,一旦在远程机器上触发了上述代码,机器就会作为升级的一部分重新启动,但是一旦机器备份,除非有人登录机器,否则升级就会卡住。有没有办法在无人值守的情况下实现?

正如下面 Larry 所指出的,我在启用自动登录方面取得了成功,但是我想使用该方法作为最后的手段,还有其他方法可以实现吗?

【问题讨论】:

  • 确实,有些软件需要您登录才能恢复安装。为了达到你想要的,你可以尝试在windows scheduler中设置一个系统启动任务,例如,以本地用户启动并启动“explorer”,看看它是否能够恢复任务(检查VDA或msiexec进程任务管理器)。如果它没有帮助,也许只需使用本地用户设置自动登录并开发更多脚本来处理重启后的活动。见support.microsoft.com/en-au/help/324737/…
  • 嗨拉里,感谢您的输入,我尝试了任务调度程序的方法,但效果不佳,但是一旦我启用自动登录,脚本就可以正常工作。话虽如此,我想将此作为最后的手段。现在,我仍在尝试找到一种方法将所有这些内容合并到我的脚本中。

标签: powershell citrix xenapp


【解决方案1】:

您没有正确引用参数。 c$ 是一个错字。这是固定的代码:

Copy-Item -Path $Source_vda_path -Destination "\\$($name)\C:\$($temp)\Install\VDAServerSetup_1912.exe" -Force
Invoke-Command -ComputerName $name -ScriptBlock "{ & Unblock-File 'C:\temp\Install\VDAServerSetup_1912.exe'; Start-Process -FilePath 'C:\temp\Install\VDAServerSetup_1912.exe' -ArgumentList '/components VDA', '/disableexperiencemetrics', '/enable_hdx_ports', '/enable_hdx_udp_ports', '/enable_real_time_transport', '/enable_remote_assistance', '/includeadditional "Citrix Personalization for App-V - VDA"','/exclude "Personal vDisk","Machine Identity Service"', '/includeadditional "Citrix Personalization for App-V - VDA"', '/logpath "c:\becnet\xenapp"', '/masterimage', '/quiet', '/virtualmachine', '/disableexperiencemetrics', '/optimize', '/virtualmachine', -wait}"

【讨论】:

  • 您指定的更改对脚本正在执行的操作没有任何影响,第一条语句只是复制安装程序,无需任何更改即可正常工作。安装程序在第二行被踢的麻烦来了
最近更新 更多