web-dev-qa-db-ja.com

サイレントJava更新チェック

自動Java更新なしでjusched.exeプロセスを常にバックグラウンドで実行し、更新のチェックをいつ実行するかを制御する方法は?

5
rik

仮定:

  • Windows 764ビット
  • Java32ビット

無効Java自動更新: 変更Java更新オプション


次の内容のJava_check_update.ps1PowerShellスクリプトを作成します。

$currVer = Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" -name "CurrentVersion"

if (!$currVer.'CurrentVersion') {
    Exit
}

$famVerStr = ('Java' + $currVer.'CurrentVersion'.Split(".")[1] + 'FamilyVersion')
$famVer = Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" -name $famVerStr

if (!$famVer.$famVerStr) {
    Exit
}

$Java_version = $famVer.$famVerStr

$url = "http://javadl-esd.Sun.com/update/" + $currVer.'CurrentVersion' + ".0/map-" + $currVer.'CurrentVersion' + ".0.xml"

$c = New-Object System.Net.WebClient
$xml = $c.DownloadString($url)

$p = [xml]$xml
$n = $p.SelectSingleNode('Java-update-map/mapping[version="' + $Java_version + '"]')

if ($n) {
    #update available
    cmd.exe /c "C:\Program Files (x86)\Common Files\Java\Java Update\jucheck.exe"
}

次の内容でJava_check_update.vbsVBScriptを作成します。

Set oShell = CreateObject("WScript.Shell")
oShell.Run "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File ""PATH_TO_POWERSHELL_SCRIPT""", 0

PATH_TO_POWERSHELL_SCRIPT例:D:\Scripts\Java_check_update.ps1


タスクスケジューラに新しいタスクを追加して、スクリプトJava_check_update.vbs(ファイルへのフルパス)を毎日、毎週、または毎月実行します。

7
rik

このプログラムを使用することもできます auto Java update 。スケジュールしてバックグラウンドで実行すると、すべてが自動的に実行されます。

0
droidgren