Licences Office Proof Of Concept

Partagez ici vos idées de requêtes SQL pour le reporting dans la console WAPT Enterprise
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Jordi
Messages : 4
Inscription : 20 mars 2020 - 11:11

17 juin 2020 - 11:25

Bonjour à tous,
Suite à une discussion avec Vincent et Yohannès, voici une petite POC à continuer sur la gestion des clés Office.

La problématique:

Dans notre centre, nous avons des licences Office 2016 en volume mais nous avons une voire plusieurs clés par sites.
La gestion avec l'outil VAMT de Microsoft est un peu fastidieuse (il faut manuellement lancer l'inventaire dans VAMT et la remontée ne se fait que si le/les poste(s) en face sont connectés)

Packet Wapt, approche possible

J'ai fait un package ef-check-office2016-licence.
Voici le setup.py:

Code : Tout sélectionner

# -*- 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()
Du coup, l'audit de ce package affichera un Warning ou un OK mais également elle stockera dans last_audit_output les 5 derniers caractères de la clé Office.

J'ai crée une table "office" dans la bdd wapt que j'ai rempli avec mes clés:
office.PNG
office.PNG (11.53 Kio) Consulté 6163 fois
Et dans la partie reporting, j'ai fait la requete suivante:

Code : Tout sélectionner

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;
Cela amène au résultat suivant:
reporting.PNG
reporting.PNG (17.31 Kio) Consulté 6163 fois
Il y aura également possibilité de faire d'autres requêtes utiles tel que:
- tous les postes en warning (GVLK)
- ou encore du "group by" afin de vérifier que l'on ne dépasse pas les quotas sur les licences

J'espère que cette "Proof of Concept" vous inspirera.
Bonne journée
Jordi
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

17 juin 2020 - 18:13

Excellent !
Avatar de l’utilisateur
vcardon
Expert WAPT
Messages : 248
Inscription : 06 oct. 2017 - 22:55
Localisation : Nantes, FR

17 juin 2020 - 20:04

Jordi, tu est un Grand Maester du WAPT.

En effet, je t'en avais parlé de cette approche et tu l'as mise en oeuvre, juste trop cool.

Porte toi bien et continue à faire des trucs trop géniaux comme ça, des trucs qui t'aident toi et qui vont aussi aider des tonnes d'autres par la même occasion.

Cordialement.

Vincent
Vincent CARDON
Tranquil IT
Jordi
Messages : 4
Inscription : 20 mars 2020 - 11:11

05 nov. 2020 - 13:54

QQ minutes de repos, parfait pour se détendre l'esprit en faisant une requête SQL :-)
La table "office" n'a pas bougé de structure.

Nouvelle requête:
usage.PNG
usage.PNG (69.59 Kio) Consulté 5745 fois
Bonne journée !
Verrouillé