19 de febrero de 2014

Despliegue del agente de OCSInventory

<< Enlace a entrada anterior: Cómo controlar el inventario Software y Hardware desde la red


Podemos desplegar el agente de dos maneras:
- Ejecutando el instalador del agente de OCS. No se instala como servicio.
- Creando un paquete con el certificado y el instalador. Se instalaría como un servicio de windows.

Si optamos por la primera opción, debemos ejecutar el cliente en todos y cada uno de los equipos que queramos tener en nuestro inventario. La instalación es simple, dejo aquí una captura de los parámetros que tendría que poner en mi caso:



En Server URL podemos optar por poner el nombre del servidor en lugar de la ip, aunque corremos el riesgo de que el equipo en el que lo estemos instalando, no resuelva bien el nombre del servidor, así que por si acaso, yo lo dejo con la ip.
Al finalizar la instalación, os aparecerá un icono en la barra de inicio rápido:
"Botón derecho - Ejecuta el Asistente OCS Ahora"
Esto nos enviará la información del inventario de este equipo, al servidor.

Si ahora entramos en el servidor vía web, veremos que tenemos un equipo más en el inventario. Ahora tenemos 3, en lugar de los 2 que nos aparecían por defecto.


Como he dicho antes, esta instalación es muy sencilla pero muy poco práctica, además, no es nada elegante.
Para una organización con varias máquinas conectadas a la red, lo ideal es desplegar el agente mediante directivas de grupo.

Desplegar Agente OCS Inventory mediante GPOs

Crear el certificado cacert.pem

El certificado que se incluye en la máquina virtual que nos descargamos de la página de OCS Inventory, está expirado, por ello, debemos crear uno nuevo.

1. Volvemos a la consola de nuestro servidor, y ponemos:
> cd /ocs
> ./apache_generate_cert.sh


2. Responde a las preguntas:
Pregunta: What will be the lifetime of the certificate (in days)?
Respuesta: Poner un elevado número de días, ya que no nos conviene que el certificado expire y tener que volver a realizar todo este proceso. Ej: 10000

Pregunta:  Country Name:
Respuesta: ES

Pregunta: State or Province (Nombre completo):
Respuesta: Cadiz

Pregunta: Localidad
Respuesta: Cadiz


Pregunta: Organization Name
Respuesta: Ebarrova SL

Pregunta: Organization Unit Name
Respuesta: TIC

Pregunta: Common Name:
Respuesta: Ebarrova

Pregunta: Email Address
Respuesta: elisabeth.barrosovaro@gmail.com

Al finalizar esta pregunta, se genera el certificado.

3. Reiniciamos apache:

> service apache2 restart

Crear el paquete ocspackage.exe:


1.Entramos desde nuestro ordenador, a la ruta \\ocsinventory-ng\ocs$.
Ojo, si no nos resuelve el nombre, en lugar de "ocsinventory-ng", escribir la dirección ip del servidor OCS: \\192.168.1.5\ocs$.
Se nos abre una ventana que contiene 4 archivos, uno de ellos es el certificado que acabamos de generar: cacert.pem

2. Descargar el agente ocs.
¡Ojo! Existe una versión más nueva del agente, pero para que funcione, el servidor debe tener la misma, o superior versión que el agente, y en nuestro caso, nuestro servidor es la versión 2.0.5, así que la nueva versión del agente nos daría el siguiente error:
ERROR *** AGENT => Failed to send Prolog <HTTP Status Code #400>
Por lo tanto, os dejo aquí el enlace a la versión anterior del Agente para Windows, ya que todos los equipos de mi organización usan este S.O. Descargar OCS Inventory Agent 2.0.5
Al descomprimirlo, notamos que en la carpeta se encuentra también un archivo llamado OcsLogon.exe, necesario para el despliegue medianto GPO. Lo vemos más adelante.

3. Descargar ocspackager.exe. En mi caso, la versión para Windows también.

4. Procedo a crear el paquete, así que ejecuto ocspackager.exe.


¡Ojo! Al ejecutarlo, me dice que debo poner la herramienta PsExec en el mismo directorio que ocspackager, en una de mis entradas anteriores os hablé de ella.
Descargamos la herramienta, la copiamos en la misma carpeta donde se encuentra el empaquetador y volvemos a ejecutar OcsPackager.exe.



5.  Nos pide las rutas del agente que nos hemos descargado en el paso 2, y del certificado que teníamos en el paso 1. Lo ideal es que creemos una carpeta, y copiemos dentro estos dos archivos más el OcsLogon.exe de la carpeta del agente, para tenerlo todo bien localizado.

En user/password nos pide un usuario que tenga permiso para instalar software en la máquina, yo he puesto el usuario administrador del dominio. Si no trabajáis sobre el dominio, sino que tenéis un usuario administrador local en cada pc con la misma contraseña, simplemente ponéis "User: administrador", sin la resolución del dominio, evidentemente.

En Command line option, ponemos
- /S para que la instalación sea silenciosa, es decir, para que no salgan ventanas emergentes notificando ni pidiendo la intervención del usuario.

- /server=http://ocsinventory-ng/ocsinventory (el nombre de mi servidor) o bien /server=http://192.168.1.5/ocsinventory (la ip de mi servidor)
- /np 




6. Clic en Next. Esto nos genera un paquete llamado ocspackage.exe, que guardamos en la misma carpeta de antes, para tenerlo localizado.

7.  Subimos el paquete que se nos acaba de crear, en el servidor, ¿cómo?:

- Entramos vía web a nuestro servidor: http://ocsinventory-ng/ocsreports
- Clic en el icono de la llave inglesa. Se despliegan unas opciones, seleccionamos "Agent".
- Clic en "Add File" y seleccionamos el paquete que hemos generado: ocspackage.exe

- Al final nos quedará algo así:


8. Accedemos a nuestro servidor Active Directory. Vamos a "Administración de directivas de grupo" y nos creamos una nueva directiva, llamada OCS, por ejemplo. Yo la he creado en el nivel más alto del árbol, para que se le apliquen a todos los usuarios o equipos que se conecten al dominio.
- Botón derecho sobre la directiva OCS - Editar.
- Se nos abre el Editor de administración de directivas de grupo. Navegar hasta: Configuración del equipo - Directivas - Configuración de Windows - Scripts.





- Creamos un Script de Inicio y lo llamamos OcsLogon.exe y como parámetros, le ponemos:
/PACKAGER
/INSTALL - Esta opción hace que se descargue ocspackage.exe del servidor OCS en lugar del ocsagent.exe normal. Ocslogon revisará si el servicio ya está instalado y terminará si así es. Si no está instalado ocspackage.exe se ejecutará y se instalará el servicio. Alternativa: En lugar de descargar el ocspackager.exe desde el servidor, podemos cargarlo en la carpeta de la política de grupo, pero en este caso, en lugar de poner el comando /INSTALL, debemos poner /GPO, para indicarle que el ocspackage.exe se encuentra en la carpeta de la GPO.
/NP
/DEPLOY=2.0.5.0 - Es la versión del agente que se va a desplegar.
/DEBUG

- Aceptamos.



- Seleccionamos el script que acabamos de crear "OcsLogon.exe" y clic en "Mostrar Archivos".
- Se nos abre una ventana del explorador. Esa es la carpeta de la directiva del script de inicio. Ahí guardamos el paquete ocspackage.exe y el archivo OcsLogon.exe que teníamos en la carpeta del paso 5.
¡Ojo! Realmente, no nos hace falta cargar ahí el paquete ocspackage.exe, porque yo voy a optar por instalarlo desde el servidor OCS. Pero no está mal ponerlo, por si vemos que no funciona de esta manera, probamos con otra alternativa, tal y como he explicado anteriormente.




- Aceptamos todo, y listo, ya tenemos creada nuestra GPO, para que el Agente de OCS se despliegue por todos los equipos a los que esta afecta.
¡Ojo! Yo he configurado la directiva para que se ejecute sobre LOS EQUIPOS que se encuentran en la OU a la que he vinculado la GPO, ya que en otra entrada comenté, que siempre y cuando no se tratase de instalación de software, trabajaba sobre directivas de usuario, y si se trataba de instalación de software, entonces lo hacía sobre directivas de equipo.

Además de controlar el inventario, OCS Inventory dispone de otros muchos plugins, y otras muchas utilidades de las que hablaré más adelante.

Fuente: http://wiki.ocsinventory-ng.org/index.php/Tools:Packager/es#Copia_de_.E2.80.9Cocspackage.exe.E2.80.9D_en_el_servidor_OCS

4 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. ¿para que sirve OCSagent.exe? por favor necesito info sobre esta aplicación. Muchas gracias

    ResponderEliminar
  3. Buenas, configure en el ocs el la opcion de inventariar cada 2 días y estaba funcionando bien pero dejo de hacerlo, cuando veo el ipdiscover me salen todos los equipos que le e instalado manualmente el agente mas no me hace el inventario..?? sabrias cuales son las posibles causas..??

    ResponderEliminar