我有一台构建 PC,准备将可执行文件部署到网络上的另一台 PC。我有一个映射的网络驱动器来进行复制,但我也可以使用 FTP。因此复制相当简单。
一旦复制了这些可执行文件,我想指示远程 PC 运行该应用程序。一旦应用程序完成,就会生成一些日志。构建 PC 需要知道远程 PC 何时完成,以便它可以从网络驱动器收集日志。
我怎样才能实现这一点? - 目前我的构建脚本是 VBScript。
答案1
针对您的情况,您可以采用多种不同的方法。示例包括:
- 使用文件来指示脚本何时完成(在任一端使用某种形式的推/拉机制)
- 使用网络进行直接通信(使用 VBScript 可能比较困难)
- 使用数据库代替文件,并以此为基础建立推送/拉取机制
- 观察远程机器的 EventLog,并在脚本完成时写入内容。
- 使用某种形式的远程会话(例如 PowerShell)
我认为最后一个选项可能是最舒服的。对于 PowerShell,这意味着您需要在远程计算机上启用 PowerShell 远程处理,并从构建服务器建立连接以直接在远程主机上执行命令。
有几份指南介绍如何进行设置(使用 PSSession 进行 PowerShell v2 远程处理的快速指南) 并且在初始设置之后,它将像创建一个新的会话 ( New-PSSession
/ Enter-PSSession
) 并使用它 ( Enter-PSSession
/ Invoke-Command
) 一样简单。
如果你不想依赖这个,你也可以采取psexec
,它是 Sysinternals 工具的一部分,请考虑。同样,您需要确保能够通过某些端口访问远程计算机,但将其与 VBScript 结合使用可能会更容易(Zumo de Vidrio 的原始建议)。