Como Distribuir Java en una Red de Equipos

El objetivo de este manual es explicar como distribuir java en una red, así como gestionar las excepciones centralizadas.

COMO INSTALAR UNA NUEVA VERSIÓN DE JAVA

Partiendo de la versión actual, la 8u45, esta nos sugiere desinstalar todas las versiones anteriores de Java cuando es instalada. 

Nuestro objetivo será instalar la versión 8u45 y desinstalar todas las versiones anteriores que hayan en nuestra red. 

En primer lugar nos centraremos en desinstalar todas las versiones anteriores. 

Desinstalar Java del Equipo

Para desinstalar correctamente las versiones de Java de los equipos, necesitaremos que los usuarios tengan los exploradores de internet cerrados (Internet Explorer, Chrome, Firefox). 

Para realizar esta tarea de desinstalación, utilizaré un fichero "bat". Como software para distribuir esto en nuestra red, podemos utilizar cualquiera de los muchos que hay tanto gratuitos como no gratuitos.

El diseño de este fichero, en primer lugar lo que hace es forzar el cierre de todos los navegadores que tenga el cliente. Esto deberemos de pre-avisarlo a los usuarios de la red, para no estropear el trabajo a nadie. 

En segundo lugar, haciendo uso de los identificadores de instalación de las versiones de java que hayan instaladas en nuestra red, lanzaremos desinstalaciones de todas las versiones, así que cuando nuestro fichero "bat" se ejecute en una máquina, cerrara todos los navegadores y luego una por una pasará la desinstalación de todas las versiones de java que nosotros contemplemos y todas las que encuentre, las desinstalará. 

Para localizar que versiones tenemos en la red, necesitaremos utilizar algún software de inventario, tipo SCCM, OCS Inventory, PDQ Inventory u otros. 

Para conseguir el identificador para poder realizar la desinstalación, tendremos que ir a la siguiente rama de registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Teniendo en cuenta esta información, nuestro fichero "bat" podría ser así:

uninstall.bat

taskkill /F /IM iexplorer.exe
taskkill /F /IM iexplore.exe
taskkill /F /IM firefox.exe
taskkill /F /IM chrome.exe
taskkill /F /IM javaw.exetaskkill /F /IM jqs.exe
taskkill /F /IM jusched.exe
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216037FF} /qn /norestart
MsiExec.exe /X{3248F0A8-6813-11D6-A77B-00B0D0160070} /qn /norestart

MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216022F0} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216027FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216010FF} /qn /norestart
MsiExec.exe /X{3248F0A8-6813-11D6-A77B-00B0D0160030} /qn /norestart
MsiExec.exe /X{3248F0A8-6813-11D6-A77B-00B0D0160050} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86416045FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216039FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216035FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216032FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217025FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216031FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217017FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86416027FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216020FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217051FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83216025FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217025FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86416023FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86416022FF} /qn /norestart
MsiExec.exe /X{3248F0A8-6813-11D6-A77B-00B0D0160020} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86418040F0} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83218040F0} /qn /norestart
MsiExec.exe /x{26A24AE4-039D-4CA4-87B4-2F83218031F0} /qn /norestart
MsiExec.exe /x{26A24AE4-039D-4CA4-87B4-2F83218025F0} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217017FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F03217065FF} /qn /norestart
MsiExec.exe /x{26A24AE4-039D-4CA4-87B4-2F03217060FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86418031F0} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86418025F0} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F03217065F0} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F03217067FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F03217071FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F06417067FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86417051FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86417045FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217045FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217040F0} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217025FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86417025FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217021FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217015FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F06417079FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F03217075FF} /qn /norestart
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F86416024FF} /qn /norestart

Cuando lancemos esto en los equipos, Java quedará completamente desinstalado. 

Instalación de Java

Para realizar la instalación nos apoyaremos en un fichero "msi" y un fichero "bat".

¿Cómo conseguimos el fichero "msi"? Bien, cuando instalamos Java en un equipo, este usa un "msi" que descomprime en la siguiente ruta (para el caso de la versión 8u45):

C:\Users\Usuario\AppData\LocalLow\Sun\Java\jre1.8.0_45\

Una vez tenemos el fichero "msi", creamos el fichero "bat". Como para instalar Java correctamente los navegadores de internet tienen que estar cerrados, lo primero que hacemos es asegurarnos de que lo están y sino cerrarlos. Luego hacemos una parametrización sencilla en la que además indicamos que "java" no busque actualizaciones, porque a partir de ahora de esto nos encargaremos nosotros. 

install.bat

taskkill /F /IM iexplorer.exe
taskkill /F /IM iexplore.exe
taskkill /F /IM firefox.exe
taskkill /F /IM chrome.exe
taskkill /F /IM javaw.exe
taskkill /F /IM jqs.exe
taskkill /F /IM jusched.exe
msiexec /i jre1.8.0_45.msi JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 NOSTARTMENU=1 /q

Esto no quiere decir que si un usuario entra en una página, que ésta compruebe la versión de java y que solicite actualizar Java. Siempre suele permitir seleccionar que esto lo vuelva a preguntar más adelante. 

Distribución de la lista de Excepciones

El fichero donde ponemos las excepciones es un fichero plano de texto y podemos encontrarlo:

Windows XP

C:\Documents and Settings\Usuario\Datos de programa\Sun\Java\Deployment\security\exception.sites


Otros Windows Mas Recientes


C:\Users\Usuario\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites

Lo ideal para esto es utilizar un software que sea capaz de distribuirte el paquete y lo ejecute en las máquinas cliente con las credenciales del usuario que haya logado en la máquina. Lo más común, sobre todo en el software gratuito que hay por ahí es que podamos ejecutar el paquete como administrador. El problema encontrado es que la lista de excepciones es a nivel de usuario y si lo ejecutamos con el administrador local por ejemplo, no lo cargaremos en el perfil del usuario que utiliza la máquina.

En este contexto podemos ejecutarlo como administrador y copiar el paquete en el inicio de Windows para que se ejecute cuando el usuario entre en la máquina y lo hará con sus propias credenciales. 

Necesitamos 3 ficheros, el primero, puede ser el de la excepciones:

exception.sites
https://www.juegosred.com

El segundo fichero un programita que copia el fichero de excepciones en el perfil del usuario en la ruta indicada. 


javaexcep.au3


;COPIAR EXCEPCIONES DE SEGURIDAD DE JAVA EN LOS EQUIPOS CLIENTE
$osver = @OSVersion
If $osver = "WIN_XP" Then
$ruta = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "AppData")
$rutafin = $ruta & "\Sun\Java\Deployment\security\"
FileCopy("C:\temp\excepjava\exception.sites", $rutafin, 1)
Else
   $ruta = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "{A520A1A4-1780-4FF6-BD18-167343C5AF16}")
   $rutafin = $ruta & "\Sun\Java\Deployment\security\"
   FileCopy("C:\temp\excepjava\exception.sites", $rutafin, 1)

Y en último lugar un ejecutable que será el que lancemos en la máquina con la cuenta de administrador que colocará el javaexcep.exe en el inicio y copiar el fichero de excepciones en algún sitio para cogerlo después. 

instalar.au3

$dir = "C:\temp\excepjava"
$startup = RegRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Common Startup")
DirCreate($dir)
FileCopy("exception.sites", $dir, 1)
FileCopy("javaexcep.exe", $startup, 1)

Con esto tendremos todo lo necesario para hacernos con el control de Java en nuestra red. 

Cualquier comentario que quieras hacer sobre el artículo puedes dirigirlo aquí o bien puedes ponerte en contacto conmigo a través del correo info@juegosred.com

No hay comentarios:

Publicar un comentario