客户提供了一个Windows Server 2012 R2实例用作我们的服务器。 今天上午(7月25日),我重新连接到该框来更改我的密码,并立即提示有关安装成功的Java,并卸载旧版本的Java。
这是令人震惊的,因为我们的服务器应用程序是基于Java的,并且当前运行在较旧版本的Java上(这对我们来说很好),卸载旧版Java可能会导致我们的服务器应用程序失败,如果删除了它正在使用的版本!
当然,我拒绝删除旧版本的Java,但是我的同事和我都感到不安,甚至提示我。 如果其他人login不了解我们的Java依赖关系,他们可能会删除旧版本。
我检查了我的Java更新设置,发现它被设置为检查,但在下载之前提示。 (因为我已经禁用,甚至检查。)
我们进一步调查,在事件查看器中发现,在7月20日中午左右,新版本的Java(8更新101)被安装在盒子上,显然我做了它(或用我的用户ID完成)。 然而,我们知道我没有这样做,因为那天我在黄石国家公园度假,没有互联网! 我的用户ID是具有pipe理权限的AD帐户,但名称为“smmccants”,没有共享密码。 我有一个会话在服务器上运行(我通常断开,而不是注销)。
从今天上午(上午10:00点前的7/25/2016)重新连接并与Java对话框交互,我无法在事件查看器中find任何有趣的东西。
我们想要了解发生了什么,并在将来防止它。 任何关于如何自动发生的想法以及我们应该在哪里寻找线索?
以下是我在EventViewer中find的日志。
从事件查看器(来源:MsiInstaller)在7/20/2016 11:59:44上午:
开始Windows安装程序事务:C:\ Users \ smmccants \ AppData \ LocalLow \ Oracle \ Java \ jre1.8.0_101 \ jre1.8.0_101full.msi客户端进程Id:87064
从MsiInstaller在2016年7月20日12:00:29:
产品:Java 8 Update 101 – 安装成功完成
–
Windows Installer安装的产品。 产品名称:Java 8 Update 101.产品版本:8.0.1010.13。 产品语言:1033制造商:Oracle Corporation。 安装成功或错误状态:0。
–
结束Windows Installer事务:C:\ Users \ smmccants \ AppData \ LocalLow \ Oracle \ Java \ jre1.8.0_101 \ jre1.8.0_101full.msi。 客户端进程ID:87064
–
开始Windows安装程序事务:{4A03706f-666A-4037-7777-5F2748764D10}。 客户端进程ID:87064
然后从RestartManager(无论是…):
开始会议0 – 2016-07-20T17:00:29.904899600Z
最后,我们得到7/20/16 12:00:39的新时间戳,MsiInstaller报告:
产品:Java Auto Updater – 删除已成功完成。
谁下令删除,他们是如何通过我的用户帐户? 适用于Java 8 Update 101的安装过程的一部分。
Windows Installer删除了该产品。 产品名称:Java自动更新程序。 产品版本:2.8.77.3产品语言:1033制造商:Oracle Corporation。 清除成功或错误状态:0。
–
结束Windows安装程序事务:{4A03706f-666A-4037-7777-5F2748764D10}。 客户端进程ID:87064
–
开始Windows安装程序事务:C:\ Users \ smmccants \ AppData \ LocalLow \ Oracle \ Java \ jre1.8.0_101 \ au.msi。 客户端进程ID:87064
现在在12:00:40 PM
产品:Java Auto Updater – 安装成功完成。
–
Windows Installer安装了该产品。 产品名称:Java自动更新程序。 产品版本2.8.101.13。 产品语言:1033.制造商:甲骨文公司。 安装成功或错误状态:0。
–
结束Windows安装程序事务:C:\ Users \ smccants \ AppData \ LocalLow \ Oracle \ Java \ jre1.8.0_101 \ au.msi。 客户端进程ID:87064。
–
开始Windows安装程序事务:{26A24AE4-039D-4Ca4-87B4-2F83218077F0}。 客户端进程ID:87064
现在我们倒退一秒钟到12:00:39 PM,从RestartManager获取一条消息:
结束会议0开始2016-07-20T17:00:29.904899600Z
现在RestartManager在12:00:40 PM:
开始时段0 – 2016-07-20T17:00:40.326806900Z
–
结束会议0开始2016-07-20T17:00:29.904899600Z
现在我们在12:01:07 PM得到真正可怕的MsiInstaller消息:
产品:Java 8 Update 77 – 删除已成功完成。
–
Windows Installer删除了该产品。 产品名称:Java 8 Update 77.产品版本:8.0.770.3。 产品语言:1033.制造商:甲骨文公司。 清除成功或错误状态:0。
下一条消息logging在SYSTEM用户下,而不是我。
结束Windows安装程序事务:{26A24AE4-039D-4Ca4-87B4-2F83218077F0}。 客户端进程ID:87064
这是我find的。
我们还没有看到问题再次发生。 我们做了两件事来帮助缓解这种行为: