云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名注册_cdn上传文件_学生机

小七 141 0

我有办法解决人们正在经历的一个大问题。在Windows服务器操作系统上安装了vertex 8.0并尝试在常规系统上更新Java。

我在Windows任务计划程序中提供了一个脚本示例和任务触发器启动的照片,以供您帮助。

症状:

在Windows服务器上更新Java Developer和Java Client时。新的Java 8.0更新*.*将卸载以前版本的Java,并在服务器重新启动后尝试启动vertex备份。这将失败,因为Java的新目录与以前的版本不同,vertex将不再加载。这是因为tomcat在windows的tomcat vertex服务中的目录不正确。

Breakfix/Home Brew解析:由于java的原因,当它们自己更新java时,不会使用相同的目录。每次更新java时,都需要找到更新版本java所在的目录并更改服务。我本质上是一个PowerShell的人,企业管理软件开发,由于这是如此嵌入windows,我们决定朝着那个方向前进来解决这个问题。

开始挑战:

在没有任何用户交互的情况下自动进行更改,并且让服务器确切地知道我需要在什么时候运行这个脚本才能使更改成为必需,这样它就不会启动了每当需要时,

PowerShell脚本上的第一项,访问"添加/删除程序",并提取上次在系统上安装Java开发人员或Java客户端的时间,智能物联,并将其放入名为$vardate1和$vardate2的两个变量中。

下一项,系统提取两种类型的日期。其中一个是当前日期,其格式仅与windows中的"添加/删除日期"格式匹配。其中一个采用相同的日期格式,并将脚本运行的当前日期减去一天。我们为什么要这样做?由于我们在晚上11点打补丁,我们可能有一个重叠的日子里,我们修补服务器。因此,如果时间足够早的话,它可能是在前一天修补的,云服务器好吗,也可能是同一天。取决于时间、带宽和速度等。这些值保存在$getdatecurrent和$getdateprevious中。

if语句的括号用于比较$vardates和$getdate变量,以查看它们是否与当前日期匹配。如果是这样的话,服务器一定是打了补丁的吧?正确,让我们更改Java目录,因为它将是错误的,并且vertex现在无法正确启动。

括号内是脚本本身的肉和土豆。

第一项停止控制vertex的vertex服务。在下一个语句中启动sleep只允许脚本"休息"60秒,然后继续下一步。下一步是最重要的,getchilditem语句。这是在C:\Program Files\Java目录中查找最后一个写入的目录,因为理论上,除非它被更新,否则它不会被最近更新。要确保获得"FULLNAME"或"FULLPATH"或目录,以便tomcat知道所需文件的位置,这将导入$vertexjava变量。

下一项也很重要,set itemproperty这允许我们访问windows注册表,其中用于SAP的tomcat服务保存启动和停止服务的所有信息。

注册表项的快捷方式是HKLM:\SOFTWARE\WOW6432Node\Apache SOFTWARE Foundation\Procrun 2.0\vertex80\Parameters\Java。注册表项名称是Jvm normal string style key。

现在,当你打开这个键时,它会显示C:\ProgramFiles\Java\jre1.8.0\u202\bin\server\jvm.dll. 当我们在前面为get childitem获取目录的信息时,什么是云,我们只收到java目录的部分,而不是"\bin\server"\jvm.dll"

需要的是保留该信息,并将其插入到您在之前对$vertexjava进行的get childitem调用中获得的目录信息中变量。

在powershell中,要在变量后面使用静态数据之前使用变量,必须将变量名放在{}括号中,如"${vertexjava}\bin\server"\jvm.dll"这将是您插入注册表项的数据。

下一步是让脚本再休眠60秒,以确保所做的更改和最终结果步骤是启动服务备份。如果一切都是成功的,你应该有一个服务器,用Java补丁,只更新注册表项,除非它是用Java补丁在特定的补丁周期。

现在,你如何使它自动发生?在windows任务计划程序中抛出一个任务,在服务器重新启动并返回后延迟10分钟服务器启动时触发,以运行powershell脚本。确保将此作为框上的系统帐户和/或管理员在AD环境中设置的管理员帐户运行。请记住,因为每次服务器启动时都会启动脚本,所以脚本会触发吗?当然,它会,但是,淘客大玩家,我们把中断放在脚本中,它只会激活,除非更新日期是唯一匹配的,当我们进行修补时,它必须匹配。

请注意下面的代码是我们使用的powershell脚本。在"代码选择"窗口中没有PowerShell选项,因此只需让所有人知道这是PowerShell。

因此,如果您的SAP Vertex Tomcat正在使用Java Runtime和Java DEV进行修补,并且服务器正在修补/重新启动,那么在一天结束时。重新启动后,如果Tomcat无法使用正确的Java的更新版本正常启动,这将是您的修复方法。

如果有任何人有任何问题,或者如果我可以帮助其他公司或企业解决这个问题,请回复,我可以试着在他们进来时一次解决一个问题。