SCCM / SCUP를 사용하여 Java 배포


1

우리는 자바 업데이트를 배포하고자하는 250 대의 PC 네트워크를 보유하고 있습니다. 유통 소프트웨어로서 SCCM 2012 / SCUP 2011을 사용하고 있습니다.

참고 : x86 및 x64 버전을 모두 배포해야합니다.

따라서 다음 규칙을 사용하여 두 개의 업데이트를 만듭니다.

Installable Rule

Registry Value 'HKLM\Software\JavaSoft\Java Runtime Environment\CurrentVersion' exists

Installed Rule

Registry String 'HKLM\Software\JavaSoft\Java Runtime Environment\Java7FamilyVersion' Begins With '1.7.0_11'

이제 문제들 :

  • java.exe (예 : 브라우저 창이 열려 있기 때문에) 컴퓨터에서 실행되고 있습니다. java의 업데이트 루틴은 이전 Java 버전을 제거합니다. 설치 루틴이 실패합니다. java.exe 아직 실행 중이지만 (제거되었지만). 다음에 사용자가 다시 부팅 할 때 시스템에 Java가 설치되어 있지 않습니다.

  • 일부 사용자는 java의 자동 업데이트 기능을 사용합니다. 따라서 새 버전이 출시 될 때마다 자동으로 updatet을 얻습니다 (문제는 아닙니다). 그러나 다음 배포주기에서 SCCM 이전 업데이트를 다시 설치하십시오. (7U12가 발표되고 자동 업데이트 됨. SCCM 여전히 7U11을 가지고 있으며 사용자가 최신 버전을 가지고 있지만 설치를 시도합니다)

어떤 도움을 주셔서 감사합니다!

답변:


2

첫 번째 문제 (Java.exe가 실행 중임)

필자는 Java를 설치하기 위해 powershell 스크립트를 사용하는데, 다른 것들 중에서도 큰 3 브라우저를 닫습니다. 아래에 참조 용으로 붙여 넣습니다.

function Get-ScriptDirectory{
    $Invocation = (Get-Variable MyInvocation -Scope 1).Value
    try {
        Split-Path $Invocation.MyCommand.Path -ea 0
    }
    catch {
    Write-Warning 'You need to call this function from within a saved script.'
    }
}

function Get-Architecture{
    return $(gwmi win32_operatingsystem).OSArchitecture
}


$Path = Get-ScriptDirectory

#Close all instances of IE, Firefox, & Chrome
Get-Process | where {$_.ProcessName -match "iexplore"} | Stop-Process -Force
Get-Process | where {$_.ProcessName -match "chrome"} | Stop-Process -Force
Get-Process | where {$_.ProcessName -match "firefox"} | Stop-Process -Force

#Install
Start-Process -FilePath "$Path\jre-6u41-windows-i586.exe" -ArgumentList "/s /v`"/qb REBOOT=ReallySuppress JAVAUPDATE=0 WEBSTARTICON=0 SYSTRAY=0`"" -Wait

#Also Install the 64-bit JRE if on a 64 workstation
if(Get-Architecture -match "64")
{
    Start-Process -FilePath "$Path\jre-6u41-windows-x64.exe" -ArgumentList "/s /v`"/qb REBOOT=ReallySuppress JAVAUPDATE=0 WEBSTARTICON=0 SYSTRAY=0`"" -Wait
}

#Import reg keys to disable auto updating
reg import "$Path\JavaUpdate.reg"

또한 32 비트 Java를 설치한다는 것을 알 수 있습니다. ...마다 운영 체제의 64 비트 검사 후 64 비트 시스템에 64 비트 Java를 설치합니다.

이 스크립트를 Java exes와 함께 패키지를 풀고 실행하는 sfx로 패키지합니다.

powershell.exe -executionpolicy bypass -noprofile -file C:\Temp\Java\install.ps1

귀하의 두 번째 질문에 대해, 자바가 자동 업데이트를 확인하는 두 개의 등록 키가 있습니다.

HKLM\SOFTWARE\JavaSoft\Java Update\Policy\EnableAutoUpdateCheck
HKLM\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate

그들 양자 모두 자동 업데이트를 사용하지 않으려면 0으로 설정해야합니다 (일부 Java 버전은 하나의 키를 읽고 일부는 다른 버전을 읽음). 스크립트에서 볼 수있는 것처럼 패키지와 함께 reg 키를 배포하지만 SCCM 2012s DCM을 사용하여 구성 항목으로 설정하고 수정 항목을 사용하여 항목이 항상 0인지 확인합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.