我们有超过一千个 Mac 客户端,并且偶尔会发布影响许多或全部客户端的更改(例如安装新软件、创建本地用户帐户或应用更新)。 我想知道您使用什么方法可以一目了然地知道您的客户端是最新的,因为我们发现当某些机器错过更新时,它对我们的反映相当差:)
发布更改:我指的是使用推出更改的系统,例如 Casper、Puppet、radmind、Apple 远程桌面,甚至是一起被黑客入侵的 ssh 授权expect
脚本。
至于“一目了然”,有两个主要地方我会看一眼(特别是如果发布更改的系统中的信息不是很明显):
- 走进计算机实验室并看着屏幕(即使从远处)
- 通过 Apple Remote Desktop 扫描实验室并查看四个自定义字段。
我想到一个简单的改变就是改变登录屏幕的背景,或者改变登录窗口上的文字。更强大的方法可能是采用标准桌面背景并制作带注释的副本(可能带有一些点或文本,以表示它所经历的更改)。[有谁知道如何做到这一点,还是我应该在此处或在 stackoverflow 上将其作为一个单独的问题提出?]
另一个简单的更改是设置四个 ARD 字段之一,如下所示:
defaults write /Library/Preferences/com.apple.RemoteDesktop Text4 "`date +%Y-%m-%d`"
那么,你如何知道你的客户是最新的(或者,如果你知道怎么做,你想做什么?)
我不确定这是否正是您所想的,但我不妨分享一下。
如果可以通过在系统上运行终端命令来判断机器是否是最新的,您可以编写自己的自定义 Nagios 插件来自动执行检查。这将涉及在每个系统上都有一个 SSH 密钥,以允许 nagios 以非特权用户身份登录并运行检查命令。
我可以看到的一种非常简单的方法是让您的更新始终在预定义的位置留下某种字符串。然后在 Nagios 服务器上创建一个带有“最新”字符串的文件。然后插件只需检查机器上的标志与 Nagios 服务器上的“最新”标志。然后,您可以在 Nagios 上观看更新传播,并快速查看哪些机器是最新的,哪些不是最新的。
如果您想在机器离线时避免大量错误消息,您可以让插件在连接失败时返回警告而不是错误,并将检查的通知设置为不触发警告状态,仅处于失败状态。也许更简单的是,您可以在需要进行检查时从 Nagios GUI 中打开和关闭检查,而不是不断地让它运行。
也许值得深思。
您可以使用此命令从命令行获取应用程序版本
尽管并非每个应用程序都在 info.plist 文件中使用该标识符
当您的计算机上已经有您想要用作背景的图像时,此脚本将设置它并通知登录窗口重新加载并显示图像(如果没有人以图形方式登录)。