In seguito alla discussione con Vincent e Yohannès, ecco un piccolo POC per proseguire sulla gestione delle chiavi di Office.
Il problema:
Nel nostro centro disponiamo di licenze multilicenza per Office 2016, ma abbiamo una o più chiavi per sito.
La gestione con lo strumento VAMT di Microsoft è un po' noiosa (è necessario avviare manualmente l'inventario in VAMT e i dati vengono caricati solo se le workstation corrispondenti sono connesse)
Packet Wapt, un possibile approccio
Ho creato un pacchetto chiamato ef-check-office2016-licence.
Ecco il file setup.py:
Codice: Seleziona tutto
# -*- 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()Ho creato una tabella "ufficio" nel database WAPT e l'ho riempita con le mie chiavi: E nella sezione report ho inserito la seguente query:
Codice: Seleziona tutto
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;Ci sarà anche la possibilità di fare altre richieste utili come:
- tutti i post in stato di avviso (GVLK)
- o anche il metodo "raggruppa per" per verificare che le quote di licenza non vengano superate
Spero che questa "Prova di concetto" vi ispiri.
Buona giornata
Jordi
