Licenze di prova di concetto per ufficio
Pubblicato: 17 giugno 2020 - 11:25
Ciao a tutti,
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:
Pertanto, il controllo di questo pacchetto visualizzerà un Avviso o un OK, ma memorizzerà anche gli ultimi 5 caratteri della chiave di Office in last_audit_output.
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:
Ciò porta al seguente risultato:
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
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