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:
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