Licencias de prueba de concepto de Office
Publicado: 17 de junio de 2020 - 11:25
Hola a todos,
Tras una discusión con Vincent y Yohannès, aquí os dejamos un pequeño POC para continuar con la gestión de las llaves de Office.
El problema:
En nuestro centro disponemos de licencias por volumen de Office 2016 pero disponemos de una o más claves por sitio.
La administración con la herramienta VAMT de Microsoft es un poco tediosa (hay que iniciar manualmente el inventario en VAMT y los datos solo se cargan si las estaciones de trabajo correspondientes están conectadas)
Packet Wapt, un posible enfoque
Creé un paquete llamado ef-check-office2016-licence.
Aquí está el archivo setup.py:
Por lo tanto, la auditoría de este paquete mostrará una Advertencia o un OK, pero también almacenará los últimos 5 caracteres de la clave de Office en last_audit_output.
Creé una tabla "oficina" en la base de datos WAPT y la llené con mis claves: Y en la sección de informes ingresé la siguiente consulta:
Esto conduce al siguiente resultado:
También existirá la posibilidad de realizar otras solicitudes útiles como:
- todas las publicaciones en advertencia (GVLK)
- o incluso el método "agrupar por" para verificar que no se excedan las cuotas de licencias
Espero que esta "Prueba de Concepto" te inspire.
Buen día
Jordi
Tras una discusión con Vincent y Yohannès, aquí os dejamos un pequeño POC para continuar con la gestión de las llaves de Office.
El problema:
En nuestro centro disponemos de licencias por volumen de Office 2016 pero disponemos de una o más claves por sitio.
La administración con la herramienta VAMT de Microsoft es un poco tediosa (hay que iniciar manualmente el inventario en VAMT y los datos solo se cargan si las estaciones de trabajo correspondientes están conectadas)
Packet Wapt, un posible enfoque
Creé un paquete llamado ef-check-office2016-licence.
Aquí está el archivo setup.py:
Código: Seleccionar todo
# -*- coding: utf-8 -*-
from setuphelpers import *
pgmsoffice = programfiles
def install():
return 0
def audit():
pathosppvbs = makepath(pgmsoffice,'Microsoft Office','Office16','OSPP.VBS')
dstatus = run('cscript "%s" /dstatus' % pathosppvbs)
if '---NOTIFICATIONS---' in dstatus:
print("GVLK")
return "WARNING"
elif '---LICENSED---' in dstatus:
line = dstatus.split("\n")
for i in line:
if ('Last 5 characters of installed product key: ') in i:
key = i.split("Last 5 characters of installed product key: ")
print(key[1][0:5])
return "OK"
if __name__ == '__main__':
audit()Creé una tabla "oficina" en la base de datos WAPT y la llené con mis claves: Y en la sección de informes ingresé la siguiente consulta:
Código: Seleccionar todo
SELECT hosts.computer_name,
hostpackagesstatus.last_audit_status AS licence_status,
SUBSTRING(hostpackagesstatus.last_audit_output from 0 for 6) AS partial_key,
office.fullkey,
office.site,
office.description,
office.max_allowed
FROM hosts
LEFT JOIN hostpackagesstatus on hosts.uuid = hostpackagesstatus.host_id AND hostpackagesstatus.package = 'ef-check-office2016-licence'
LEFT JOIN office on office.id LIKE SUBSTRING(hostpackagesstatus.last_audit_output from 0 for 6)
ORDER BY office.site;También existirá la posibilidad de realizar otras solicitudes útiles como:
- todas las publicaciones en advertencia (GVLK)
- o incluso el método "agrupar por" para verificar que no se excedan las cuotas de licencias
Espero que esta "Prueba de Concepto" te inspire.
Buen día
Jordi