Utiliser la console WAPT avancé¶
Cette page détaille l’utilisation avancée de la console WAPT.
Utiliser des paquets profile dans WAPT ¶
Principe de fonctionnement¶
WAPT Enterprise propose une fonctionnalité paquet profile Active Directory.
Cela automatise l’instalaltion du logiciel WAPT ainsi que ses paquets de configuration sur des hôtes, basé sur leur appartenance aux Groupes de SecuritéOrdinateur Active Directory.
Important
Les groupes de Securité Ordinateur Active Directory contiennent des Ordinateurs et non pas des Utilisateurs.
Avertissement
L’installation automatique de logiciels et de configurations en fonction de l’utilisateur et de l’appartenance à un groupe d’utilisateurs n’est pas implémentée avec WAPT et une telle implémentation n’est pas souhaitable. Le cas d’utilisation de l’installation de logiciels en fonction du profil de l’utilisateur est mieux servi par la fonction différenciée self-service qui est également disponible avec WAPT Enterprise.
Créer des paquets profile dans la console WAPT¶
Vous pouvez créer des paquets profile en cliquant sur
.Important
Pré-requis:
Le nom du paquet profile doit être exactement le même que le nom du groupe de sécurité ordinateur de l’AD.
Le nom du paquet profile est sensible à la casse.
Exemple:
Groupe de Sécurité AD:
HW_laptops
;Paquet profile WAPT:
HW_laptops
;
Une fenêtre s’ouvre et on vous demande de choisir quels paquets doivent être contenus dans le paquet profile tout juste créé.
Sauvegardez le paquet profile qui sera alors téléversé vers le serveur WAPT.
Utiliser des Unités Organisationnelles dans WAPT ¶
Principe de fonctionnement¶
WAPT Enterprise propose la fonctionnalité de paquets d’unité organisationnelle.
Il automatise les installations de logiciels basés sur votre infrastructure Active Directory.
L’agent WAPT connait son emplacement dans l’arborescence Active Directory, il connaît donc pour cette raison la hiérarchie des Unités Organisationnelles qui le concerne, par exemple:
DC=ad,DC=domain,DC=lan
OU=Paris,DC=ad,DC=domain,DC=lan
OU=computers,OU=Paris,DC=ad,DC=domain,DC=lan
OU=service1,OU=computers,OU=Paris,DC=ad,DC=domain,DC=lan
Si un paquet d’Unité Organisationnelle est défini à chaque niveau, l’agent WAPT va automatiquement télécharger des paquets et des configurations qui sont attaché à chaque niveau, par héritage, et va appliquer les paquets attachés ainsi que leurs dépendances.
Créer des paquets d’Unité Organisationnelles dans la console WAPT¶
Vous pouvez créer des paquet unit en faisant
.Une fenêtre s’ouvre et vil vous ai demandé de choisir les paquets qui doivent être inclus dans le paquet unit.
Sauvegarder le paquet et il sera déployé sur tous les hôtes appartenant à cette OU.
Les actions possibles avec les Unités Organisationnelles¶
Vous pouvez voir sur l’image que les actions d”update et d”upgrade peuvent être utilisés à travers ce menu, en sélectionnant ainsi les hôtes par leur unité organisationnelle.
Créer ou éditer des paquets d’Unité Organisationnelles¶
Visitez cette documentation pour plus de details sur la Création ou l’Edition de paquet OU.
Vérifier les mises à jours des machines de cette OU¶
Ce bouton va exécuter 2 actions sur tous les hôtes dans l”OU:
Donner l’état actuel de l’hôte au serveur.
Le serveur affiche si l’hôte doit récupérer des mises à jour.
Lancer l’installation des paquets pour les machines de cette OU¶
Ce bouton permet d’appliquer les mises à jour en attente sur tous les hôtes dans l’OU.
Indication
Vous pouvez filtrer la manière dont les hôtes sont affichés basé sur leur appartenance a des OU de l’Active Directory.
Simuler des Unités Organisationnelles pour des hôtes en WORKGROUP¶
Il arrive que des hôtes spécifiques ne peuvent être joints à un domaine Active Directory.
Avec cette spécifité, de tels hôtes ne peuvent s’afficher dans les Unités Organisationnelles depuis votre console WAPT.
Pour afficher tous les hôtes dans la console sous la bonne Unité Organisationnelle, qu’ils soient joints à un domaine AD ou pas, WAPT vous permet de spécifier une fausse Unité Organisationnelle dans le fichier de configuration de l’agent.
Les bénéfices de cette astuce sont:
Vous pouvez gérer les hôtes avec WAPT comme s’ils étaient joints à l’AD.
Les hôtes hors-du-domaine et en WORKGROUP s’affiche désormais dans l’arborescence AD.
Les paquet Unit sont utilisables sur ces hôtes.
Pour configurer une fausse Unité Organisationnelle sur les hôtes, créez un paquet WAPT vide, puis utilisez le code suivant:
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
def install():
print('Setting Fake Organizational Unit')
fake_ou = "OU=TOTO,OU=TEST,DC=DEMO,DC=LAN"
inifile_writestring(WAPT.config_filename,'global','host_organizational_unit_dn',fake_ou)
print('Reload WAPT configuration')
WAPT.reload_config_if_updated()
def update_package():
pass
Le host_organizational_unit_dn
doit être comme ci-dessus dans wapt-get.ini
:
[global]
host_organizational_unit_dn=OU=TOTO,OU=TEST,DC=DEMO,DC=LAN
Note
Rester sur une casse spécifique avec votre
host_organizational_unit_dn
(ne mélanger pas « dc »s et « DC »s, « ou »s et « OU »s…).Continuez à suivre ce chemin dans les champs DN/
computer_ad_dn
dans la grille d’inventaire.
Utiliser les WAPT Windows Update Agent (WAPTWUA) ¶
WAPT peut gérer les mises à jours Windows sur vos équipements et remplacer les mises à jour automatiques ou un sevreur WSUS.
Note
Les composants de WAPTWUA est basé sur l’API WUA. Pour plus d’information: https://docs.microsoft.com/en-us/windows/win32/wua_sdk/using-the-windows-update-agent-api
Principe de fonctionnement¶
A chaque Patch Tuesday (Patch Tuesday est un terme officieux pour se réferer au deuxième Mardi de chaque mois quand Microsoft sort les patch pour meur logiciels.), le serveur WAPT télécharge un fichier :file:`wsusscn2.cab à jour depuis les serveurs de Microsoft.
Par défaut, le téléchargement se fait une fois par jour et auncun téléchargement ne se déclenche si le fichier wsusscn2.cab
n’a pas changé depuis le dernier téléchargement.
Le fichier wsusscn2.cab
est alors téléchargé par l’agent WAPT depuis le dépôt le plus proche et est ensuite passé aux standard de l’utilitaire Windows WUA afin qu’il décortique l’arbre de mise à jour de l’hôte.
Regulièrement, l’hôte va analyser les mises à jour disponibles en se servant du fichier wsusscn2.cab
. L’hôte enverra sa liste de mises à jour requises determinées par les WUA vers le serveur WAPT.
Si une mise à jour est en attente sur l’hôte et si cette mise à jour n’est pas présente sur le serveur WAPT, le serveur va télécharger les mises à joursdemandées depuis les serveurs officiels Microsoft.
Indication
Ce mode opératoire permet à WAPT de ne télécharger que les mises à jour nécessaires aux postes, gagnant ainsi de la bande passante, du temps de téléchargement et de l’espace disque.
Note
Sur le serveur WAPT, les mises à jour téléchargées sont sotckées:
Sous Linux dans
/var/www/waptwua
.Sur les hôtes Windows dans
C:\wapt\waptserver\repository\waptwua
.
Le paramètre de dépôt de l’agent WAPT Windows Update est basé sur l’URL du paramètre repo_url
dans le wapt-get.ini
:
En cas de dépôt répliqué, il est totalement possible de l’utiliser avec WAPT Windows Update afin de réduire l’utilisation de la bande passante.
N’oubliez pas de synchroniser le dossier
waptwua
si vous répliquez vos paquet avec des dépôts distants.
Note
Si dans votre compagnie un proxy est requis pour sortir sur Internet, alors assurez-vous d’avoir confguré le serveur proxy dans le fichier waptserver.ini.
Les différences entre WAPT Windows Updates et WSUS¶
WSUS va télécharger par défaut les mises à jours des catégories sélectionnées. Cela peut mener à une base de données vraiment conséquente et une forte utilisation de l’espace de stockage.
WAPT Windows Update ne va que télécharger ce dont il a besoin pour au moins un poste client. Cela aide à garder une base de données locale de petite taille (environ une 10aine de Gigaoctets) et il peut facilement se nettoyer si vous avez besoin de récupérer de l’espace.
Les mises à jours majeures d’OS¶
Les mises à jour majeures d’OS permettent de passer d’une version d’OS à une autre. Cela inclus par exemple, des mises à jours de Windows 7 vers Windows 10, ou bien de Windows 10 1903 vers Windows 10 20H2.
Les mises à jour de version majeures sont gérées de la même manière que les mises à jour d’OS mineures. Les mises à jour majeures sont gérées via le téléchargement du contenu de l’ISO de la nouvelle version (même contenu qu’une installation de base) puis lance le setup.exe avec les bons paramètres. Ce Processus est le même que pour WSUS, SCCM et les mises à jour WAPT Windows Updates.
Dans le cas de WAPT Windows Updates, vous aurez besoin de créer un paquet de mise à jour d’OS en utilisant un modèle de paquet fournit sur https://store.wapt.fr.
Les mises à jours de pilotes¶
Les mises à jour de pilote via WSUS ne sont pas recommandés puisqu »il est difficile de gérer correctement les effets de bord. Dans le cas de WAPT WindowsUpdates, LES PILOTES NE SONT PAS TELECHARGES puisqu’ils ne sont pas référencés dans les fichiers wsusscn2.cab
fournis par Microsoft.
Il est recommandé de pousser des mises à jour de pilote via un paquet WAPT personnalisé. Si le patch du pilote est formé en .msu, vous pouvez le créer comme un paquet WAPT standard.
Sélectionnez simplement le fichier .msu et cliquez sur
depuis la console WAPT pour lancer l’assistant de création de paquet simplifié.Si la mise à jour du pilote est formé avec un .zip contenant le fichier .exe, vous pouvez créer un paquet WAPT contenant les fichiers nécessaires et le binaire setup.exe avec les options silencieuses correctes.
Les KB Out of band (Hors bande)¶
Parfois, Microsoft fournit des mises à jours OOB qui sont en dehors de l’index du wsusscn2.cab
. Ces mises à jour ne sont pas inclus dans les mises à jour principales car elles peuvent corriger un problème très spécifique ou peuvent avoir des inconvénients.
Si vous souhaitez déployer une KB de mise à jour OOB, vous pouvez la télécharger depuis le catalogue Microsoft https://www.catalog.update.microsoft.com/Home.aspx.
Sélectionnez simplement le fichier .msu et cliquez sur
depuis la console WAPT pour lancer l’assistant de création de paquet simplifié.Pour ce faire, vous pouvez suivre cette documentation pour construire des fichiers .msu pour ces mises à jour Out-of-band (Hors bande).
Attention
Vous devez vous montrer prudent avec les mises à jour OOB car elles peuvent détruire votre système, assurez-vous de lire les pré-requis sur le rapport Microsoft correspondant à la mise à jour et de tester cette dernière méticuleusement.
Configurer WAPTWUA sur l’agent WAPT¶
WAPTWUA se configure dans wapt-get.ini
dans la section [waptwua]
.
Vous aurez alors plusieurs options:
Options / Valeures par défaut |
Description |
Exemple |
---|---|---|
|
Activer ou désactiver WAPTWUA sur cette machine. |
|
|
Télécharger les mises à jour directement depuis les serveurs Microsoft. |
|
|
Configuré si la mise à jour est autorisée ou pas par défaut. |
|
|
Configure la récurrence des scans des Windows Update (ne fera rien s’il y a un paquet de règles waptwua ou que le fichier |
|
|
Configure la récurrence des installations Windows Update (ne fera rien s’il n’y a aucune mise à jour en attente). |
|
|
Installe les mises à jour lorsque la machine s’éteint. |
|
|
Configure un délai d’installation entre la publication dans le dépôt et l’installation. |
|
|
Définit une liste de criticité qui sera automatiquement accépté durant un scan WAPT windows update. ex: Important, Critical, Moderate. |
|
Indication
Ces options peuvent être configurées lors de la génération de l’agent.
Exemple de section [waptwua]
dans le fichier wapt-get.ini
:
[waptwua]
enabled =true
default_allow =False
direct_download=False
download_scheduling=7d
install_at_shutdown=True
install_scheduling=12h
install_delay=3d
Lorsque vous créez le waptagent.exe
depuis votre console, ces options correspondent à cela:
Exemple de code source pour un paquet qui modifie les paramètres [waptwua]
:
def install():
inifile_writestring(WAPT.config_filename,'waptwua','enabled','true')
inifile_writestring(WAPT.config_filename,'waptwua','install_at_shutdown','true')
inifile_writestring(WAPT.config_filename,'waptwua','download_scheduling','7d')
inifile_writestring(WAPT.config_filename,'waptwua','allowed_severities','Critical,Important')
print('Reload WAPT configuration')
WAPT.reload_config_if_updated()
Utiliser WAPTWUA depuis la console¶
Les WAPTWUA sont gérées avec deux onglets dans la console WAPT.
Sous-onglet règles WUA dans l’onglet Dépôt privé WAPT¶
L’onglet Paquet WAPTWUA vous permet de créer des paquet de règles waptwua.
Lorsque ce type de paquet est instalé sur une machine, il indique à l’agent WAPTWUA les KBs autorisées ou interdites.
Lorsque plusieurs paquets de règles waptwua sont installés sur la machine, les différentes règlesvont fusionner.
Lorsqu’une
cab
n’est ni mentionnée comme autorisée ni mentionnée comme interdite, les agents WAPT vont alors prendre la valeur dudefault_allow
danswapt-get.ini
.
Note
Si la configuration de l’agent WAPTWUA est définit à
default_allow = True
, alors il sera nécessaire de spécifier lescab
interdites.Si la configuration de l’agetn WAPTWUA est définit à
default_allow = False
, il sera nécessaire de spécifier lescab
autorisées.
Indication
Pour tester les mises à jour sur un petut groupe de postes, vous pouvez configurer la valeur par défaut de WAPTWUA avec
maturity = PREPROD
.Vous pouvez tester les mises à jour sur un petit groupe de postes et si tout se passe bien, vous pouvez lancer les mises à jour à votre flotte complète de postes.
L’onglet liste des Windows Updates¶
L’onglet Liste Windows Update liste toutes les Mises àjour Windows demandées.
Important
Le server ne scanne pas le fichier wsussc2.cab
lui-même, il laisse l’Agent Windows Update présent sur toutes les machines Windows le faire. Si une mise à jour vous semble manquante de la liste, vous devez lancer un scan sur une des machines présentes sur la console. Si vous lancez un scan WUA sur un agent Windows 10, le CAB et les fichiers Windows 10 s’afficheront dans l’onglet Windows Update.
Le panneau de gauche affiche les catégories des mises à jour, vous permettant de filtrer par:
Criticté;
Produit;
Classification;
Dans le panneau de droite, si la colonne Téléchargée le est vide, cela signife que les mises à jour n’ont pas encore été téléchargées par le serveur WAPT et n’est pas présent sur le serveur WAPT (Cette mise à jour n’est pas manquante sur les postes).
Vous pouvez forcer le téléchargement de la mise à jour en faisant
.Vous pouvez aussi forcer le téléchargement du fichier
wsusscn2.cab
avec le bouton Télécharger le cab WSUSScan depuis le site de Microsoft.Vous pouvez voir le téléchargement des mises à jour Windows sur le serveur avec le bouton Afficher la tâche de téléchargement .
Indication
Toutes les 30 minutes, le serveur WAPT va chercher les mises à jour qui ont été demandées au moins une fois par les client WAPT et qui n’ont pas été téléchargées en mises en cache. » Si une mise à jour est en attente, le serveur WAPT var le télécharger depuis les sites officiels de Microfoft.
Vous pouvez forcer ce scan avec le bouton Télécharger le cab WSUSScan depuis le site de Microsoft; dans l’onglet
Nettoyer des vieilles Windows Update¶
Automatiquement¶
Si la KB n’est pas installée sur l’hôte, elle est automatiquement supprimée sur le Server WAPT entre 2h30 et 3h30 tous les jours.
Il est possible de désactiver l’autowash sur waptserver.ini
avec l’option cleanup_kbs
.
Ajouter le paramètre dans le fichier de configuration du serveur :
cleanup_kbs = False
Sur la console¶
Pour nettoyer votre dossier waptwua
, vous pouvez aller dans l’onglet Mises à jour Windows et cliquer sur Effacer les mises à jour non-affectées. Cela supprimera toutes les kb inutiles stocké dans votre serveur WAPT.
Sur le serveur¶
L’ancienne méthode pour ce faire, est de supprimer manuellement les mises à jour Windows qui ne sont plus utilisée directement sur le serveur.
Le serveur WAPT va seulement re-télécharger les mises à jour supprimées si un des hôtes équipés le demande.
Sut le serveur WAPT, les mises à jour téléchargées sont sotckées:
Sous Linux dans
/var/www/waptwua
.Sur les hôtes Windows dans
C:\wapt\waptserver\repository\waptwua
.
Lancer WUA sur les clients¶
Depuis la console vous avez trois options.
Le bouton Lancer la recherche de mises à jour va lancer le scan sur le client et va lister toutes les mises à jour marquées pour l’OS.
Le bouton Lancer le téléchargement des Mises à jour Windows en attente va lancer le téléchargement des mises à jour en attente sur le client.
Le bouton Lancer l’installation des mises à jour Windows en attente va lancer l’installation des mise à jour téléchargées sur le client.
Indication
Lorsque des mises à jour en attente sont sotckées en cache pour être installer, l’agent WAPT va déclencher le service WUA.
L’agent WAPT va activer et démarrer le service WUA temporairement pour installer les mises à jour. Lorsque les mises à jour sont installées, waptservice va couper et désactiver le service WUA jusqu’au prochain cycle.
Etat des mises à jour sur l’hôte¶
Les mises à jour Windows peuvent avoir 4 états sur un poste.
Statut |
Description |
---|---|
OK |
Une mise à jour Windows qui s’est correctement installé. |
MISSING |
Une mise à jour Windows qui n’a pas encore été téléchargé sur le serveur WAPT. |
PENDING |
Le serveur WAPT sait qu’il doit télécharger une mise à jour depuis les serveurs officiels de Microsoft. |
DISCARDED |
Une mise à jour Windows interdites par des règles. |
Notion d’UpdateID¶
Dans WAPT nous n’utilisons pas les kbids mais les updateids.
Cela nous permet d’être plus fin dans la gestion des mises à jour.
Dans cet exemple, la KB4537759 apparaît de multiples fois car il y a 3 différents updateids:
win10 1803;
win10 1903;
win10 1909;
Vous devriez également autoriser une mise à jour et non pas une kb ids.
WAPT ne force pas Windows à désinstaller une Windows Update¶
Désinstaller une mise à jour Windows peut être dangereux pour la machine. Quand une mise à jour est détectée comme interdite par WAPT, sa désinstallation ne sera PAS forcée.
Si vous voulez vraiment désinstaller une mise à jour, vous devriez créer un paquet pour désinstaller la KB.
Voici un exemple:
from setuphelpers import *
uninstallkey = []
def install():
with EnsureWUAServRunning():
run('wusa /uninstall /KB:4023057')
Vidéo de démonstration¶
Utiliser des paquets profile dans WAPT ¶
Principe de fonctionnement¶
WAPT Enterprise offre des fonctionnalités de reporting avancées.
En effet, qui mieux que vous pouvez savoir ce dont vous avez besoin dans votre rapport.
Avec WAPT nous vous proposons d’écrire vos requêtes SQL dont le résultat s’affichera dans la console WAPT.
Concepteur de requêtes WAPT¶
Le concepteur de requêtes vous offre la possibilité de modifier vos propres requetes sur la base de données PostgreSQL de WAPT.
Pour créer une nouvelle requête, cliquez sur
.Indication
Pour renommer une requête, appuyez sur la touche F2.
Dans l’encadré du haut, vous pouvez écrire votre requête SQL.
Pour éditer / modifier / Sauvegarder vos requêtes:
Le bouton Recharger est utilisé pour recharger les requêtes sur le serveur, par exemple, si un collègue vient juste d’éditer une nouvelle requête.
Le bouton Nouvelle requête va ajouter une requête vide à la liste.
Le bouton Supprimer la requête va supprimer la requête sélectionnée sur le serveur WAPT.
Le bouton Exporter vers tableur va exporter le résultat de votre requête dans un feuille de calcul.
Le bouton Enregistrer tout va sauvegarder votre requête au serveur WAPT.
Le bouton Dupliquer va dupliquer une requête existante pour éviter de repartir d’une requête vide.
Le bouton Exécuter va exécuter la requête sélectionnée.
Note
Les requêtes sont sauvegardées dans la base de données PostgreSQL WAPT.
Le raccourci CTRL+espace vous permet de construire votre requête de façon plus efficace.
Exemple de requêtes¶
Requêtes Ordinateur¶
Compter les hôtes.
select count(*) as "Nb_Machines" from hosts
Lister les postes.
select
computer_name,
os_name,
os_version,
os_architecture,
serialnr
from hosts
order by 4,3,1
Lister les adresses MAC et Ip des postes.
select distinct unnest(mac_addresses) as mac,
unnest(h.connected_ips) as ipaddress,
computer_fqdn,h.description,
h.manufacturer||' '||h.productname as model,
h.serialnr,
h.computer_type
from hosts h
order by 1,2,3
Lister la version de Windows.
select
host_info->'windows_version' as windows_version,
os_name as operating_system,
count(os_name) as nb_hosts
from hosts
group by 1,2
Lister les systèmes d’exploitation.
select host_info->'windows_version' as windows_version,
os_name as "Operating_System",
count(os_name) as "Nb_Machines"
from hosts
group by 1,2
Lister les postes qui ne sont pas vus depyuis un moment.
select
h.uuid,
h.computer_fqdn,
install_date::date,
version,
h.listening_timestamp::timestamp,
h.connected_users from hostsoftwares s
left join hosts h on h.uuid=s.host_id
where s.key='WAPT_is1'
and h.listening_timestamp<'20190115'
Filtrer les postes pas types de chassis.
select case
dmi->'Chassis_Information'->>'Type'
when 'Portable' then '01-Laptop'
when 'Notebook' then '01-Laptop'
when 'Laptop' then '01-Laptop'
when 'Desktop' then '02-Desktop'
when 'Tower' then '02-Desktop'
when 'Mini Tower' then '02-Desktop'
else '99-'||(dmi->'Chassis_Information'->>'Type')
end as type_chassis,
string_agg(distinct coalesce(manufacturer,'?') ||' '|| coalesce(productname,''),', '),
count(*) as "Nb_Machines" from hosts
group by 1
Lister les postes avec leur Numéro de Série Windows.
select
computer_name,
os_name,
os_version,
host_info->'windows_product_infos'->'product_key' as windows_product_key
from hosts
order by 3,1
Requête WAPT¶
Lister les paquets WAPT du dépôt du serveur WAPT.
select
package,
version,
architecture,
description,
section,
package_uuid,
count(*)
from packages
group by 1,2,3,4,5,6
Lister les postes nécessitant une mise à jour.
select
computer_fqdn,
host_status,
last_seen_on::date,
h.wapt_status,
string_agg(distinct lower(s.package),' ')
from hosts h
left join hostpackagesstatus s on s.host_id=h.uuid and s.install_status != 'OK'
where (last_seen_on::date > (current_timestamp - interval '1 week')::date
and host_status!='OK')
group by 1,2,3,4
Requête Paquets¶
Lister les paquets avec leur nombre d’installation.
select
package,
version,
architecture,
description,
section,
package_uuid,
count(*)
from hostpackagesstatus s
where section not in ('host','unit','group')
group by 1,2,3,4,5,6
Requête logiciel¶
Lister les agents WAPT Discovery.
select
h.uuid,
h.computer_name,
install_date::date,
version,
h.listening_timestamp::timestamp,
name
from hostsoftwares s
left join hosts h on h.uuid=s.host_id
where
s.key='WAPT_is1'
and (name ilike 'WAPT%%Discovery%%' or name ilike 'WAPT %%')
Lister les postes avec leur version de 7zip associé.
select
hosts.computer_name,
hostsoftwares.host_id,
hostsoftwares.name,
hostsoftwares.version
from hosts, hostsoftwares
where hostsoftwares.name ilike '7-zip%%'
and hosts.uuid=hostsoftwares.host_id
order by hosts.computer_name asc
Lister les postes avec leurs logiciels.
select
n.normalized_name,
s.version,string_agg(distinct lower(h.computer_name),' '),
count(distinct h.uuid)
from hostsoftwares s
left join normalization n on (n.original_name = s.name) and (n.key = s.key)
left join hosts h on h.uuid = s.host_id
where (n.normalized_name is not null)
and (n.normalized_name<>'')
and not n.windows_update
and not n.banned
and (last_seen_on::date > (current_timestamp - interval '3 week')::date)
group by 1,2
Lister les logiciels normalisés.
select
n.normalized_name,
string_agg(distinct lower(h.computer_name),' '),
count(distinct h.uuid)
from hostsoftwares s
left join normalization n on (n.original_name = s.name) and (n.key = s.key)
left join hosts h on h.uuid = s.host_id
where (n.normalized_name is not null)
and (n.normalized_name<>'')
and not n.windows_update
and not n.banned
and (last_seen_on::date > (current_timestamp - interval '3 week')::date)
group by 1
Vous pouvez aussi trouver plus d’exemple de requêtes sur le Forum Tranquil IT.
N’hésitez pas à partager vos requêtes sur le même forum avec une explication de ce que fais votre requête, idéalement avec une capture d’écran ou une table affichant un échantillon du résultat de votre requête.
Normaliser les noms de logiciels¶
Parfois, la version du logiciel ou son architecture fait partie intégrante du nom du logiciel. Quand le logiciel s’enregistre dans l’inventaire du serveur WAPT, il apparaît en différents logiciels alors qu’ils sont pareils pour nous humains.
Pour résoudre ce problème, nous proposons de standradiser le nom des logiciels avec WAPT.
Cliquez sur Normaliser les nom de logiciels dans le menu Outils.
Sélectionnez le logiciel à standardiser, par exemple, toutes les version différentes d’Adobe Flash player.
Sur la colonne Normalisé, appuyez sur F2 pour assigner un nom standard sur le logiciel sélectionné. Puis appuyez sur Entrée.
Note
Pour sélectionner plusieurs programmes, sélectionnez les avec les combinaisonsde touches shift-up/down.
Vous pouvez aussi marquer un logiciel comme Mise à jour Windows ou Banni (Appuyez sur la barre espace dans la colonne correspondante).
Appuyez sur Importer pour charger les changements du serveur.
Appuyez sur Enregistrer pour sauvegarder vos changements.
Vous pouvez maintenant lancer vos requêtes avec ce nom standardisé.
Se connecter à la base de données WAPT avec un client PostgreSQL¶
Vous pouvez connecter votre base de données WAPT à un client si vous préférez utiliser un client PostgreSQL.
Pour ce faire, vous allez devoir changer quelques fichiers de configuration sur votre serveur WAPT.
Trouvez dans quelle version est votre PostgreSQL.
ps -ef | grep -i sql postgres 512 1 0 Jan05 ? 00:00:24 /usr/lib/postgresql/12/bin/postgres -D /var/lib/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.conf
Modifiez
pg_hba.conf
de la version PostgreSQL utilisée. Dans/etc/postgresql/12/main/pg_hba.conf
pour Debian et/var/lib/pgsql/12/data/pg_hba.conf
pour Centos sous # IPv4 local connections section, ajoutez votre adresse.
host wapt all 192.168.0.65/32 md5
where 192.168.0.65 is your IP address that is authorized
to connect to the WAPT database.
Autorisez PostgreSQL à écouter sur toutes les interfaces dans
/etc/postgresql/12/main/postgresql.conf
pour Debian et/var/lib/pgsql/12/data/postgresql.conf
pour Centos, section Connection Settings.
listen_addresses = '*'
Redémarrez le service pour votre version de PostgreSQL.
systemctl restart postgresql@12-main.service
Pour se connecter au PostgreSQL sur le serveur wapt.
sudo -u postgres psql template1
Puis renseignez le mot de passe de l’utilisateur wapt.
template1=# ALTER USER wapt WITH PASSWORD 'PASSWORD';
Vidéo de démonstration¶
Synchroniser les inventaires de WAPT vers GLPI ¶
Principe de fonctionnement¶
WAPT Enterprise propose une synchronisation entre les inventaires de vos postes et GLPI ITSM Software.
Cette méthode synchronise automatiquement les changements sur votre infrastructure informatique avec le serveur GLPI.
Attention
GLPI par WAPT ne fonctionne pas avec l’authentification Kerberos pour GLPI.
Si vous utilisez Kerberos pour GLPI, excluez glpi/plugins/fusioninventory/
de l’authentification NGINX.
Installer les dépendances requises¶
Pour pouvoir recevoir les inventaires sur votre seveur GLPI, vous aurez besoin du plugin FusionInventory sur votre serveur GLPI.
Note
Vous pouvez suivre ce guide pour installer FusionInventory.
Après avoir installé FusionInventory, vous aurez un point d’accès sur votre serveur WAPT pour envoyer les inventaires vers :
http:/glpi.mydomain.lan/glpi/plugins/fusioninventory/
Configuration¶
Vous pouvez ouvrir une fenêtre pour configurer GLPI avec Outils > Exporter les données d’inventaire vers GLPI.
In Glpi Server Properties, add the required parameters in the waptserver.ini configuration file.
[options]
...
glpi_server_endpoint = http:/glpi.mydomain.lan/glpi/plugins/fusioninventory/
glpi_server_user = user
glpi_server_pass = password
glpi_server_pause_timeout = 20,15
glpi_inventory_update_delay = 4
glpi_inventory_update_range = 25
glpi_server_endpoint
: l’url vers le plugin FusionInventory où l’invenaire sera téléversé sur le serveur GLPI;glpi_server_user
,glpi_server_pass
: Les accès de GLPI;glpi_server_pause_timeout
= A,B: pause le téléversement pendant A secondes lorsque le serveur prend plus B secondes à répondre;glpi_inventory_update_range
: à combien de téléversement vous voulez que la base de données soit mise à jour, si vous arrêtez le téléversement, cela va redémarrer au à la dernière mise à jour;glpi_inventory_update_delay
= C: Le téléversement est déclenché automatiquement toutes les C heures si cela n’est pas déjà en cours;glpi_inventory_debug_directory
= exemple/tmp/glpi
répertoire ou tous les fichiers d’inventaire XML seront stockés et téléversés sur le serveur GLPI (le nom du fichier est le GUID de la machine avec l’extension.xml
).Il est possible d’en utiliser les contenus pour diagnostiquer les problèmes tels que les divergences entre les valeurs attendues dans GLPI et celles vues actuellement dans WAPT.
Utiliser WAPT pour envoyer les mises à jour d’invenaire vers GLPI¶
Comme vous pouvez le voir sur la fenêtre de configuration, vous pouvez remplir les paramètres, déclencher ou arrêter un téléversement directement depuis la console WAPT:
Lorsque vous remplissez les Propriétés du serveur GLPI, la configuration est enregistrée sur le serveur WAPT lorsque vous cliquez sur Sauvegarder.
Vous pouvez recupérer des propriétés déjà enregistrées sur le serveur WAPT en cliquant sur Reset (le mot de passe n’est pas chargé).
Le champ Point de connexion est l’url du serveur GLPI servant à envoyer les inventaires vers le
glpi_server_endpoint
.Vous pouvez déclencher un téléversement sans attendre la tâche planifiée en cliquant sur Envoi des données.
Vous pouvez arrêter le téléversement n’importe quand en cliquant sur Annuler.
Indication
Le status du téléversement est mis à jour toutes les 15s, vous pouvez suivre l’état avec la barre de progression.
Si vous avez beaucoup de postes, le téléversement peut prendre longtemps. Afin d’éviter cela, lorsque le téléversement est lancé, seuls les inventaires qui ont changé sont téléversés:
Avec
Téléchargement forcé
, chaque inventaire est téléversé, ignorant les données déjà téléversées.
Utilisation avancée du plugin GLPI¶
Pour afficher les propriétés avancées, sélectionnez le bouton Avancé.
La tâche planifiée tourne toutes les Cron every… heures seuelement si le Point de connexion est renseigné. Vous pouvez désactiver la tâche planifiée en laissant le Point de connexion vide. ~>
glpi_inventory_update_delay
.
Indication
Si vous voulez désactiver le téléversement automatique, vous devez Sauvegarder un Point de connexion vide.
Vous pouvez déclencher des pauses (Pause…) lorsque le temps de réponse du serveur est trop long (sur…). ~>
glpi_server_pause_timeout
.Update db… configure la fréquence de la synchronisation de la base de données pendant le téléversement. ~>
glpi_inventory_update_range
.
Éléments actuellement envoyé par WAPT à GLPI¶
Valeur |
Envoyé |
Non Envoyé |
---|---|---|
Nom de l’ordinateur |
||
Nom d’utilisateur |
||
Description |
||
Nom de l’OS |
||
Version de l’OS |
||
Langue |
||
CPU |
||
Mémoire |
||
Batterie |
||
Type de chassis |
||
Physique ou virtuel |
||
Configuration de la carte réseau |
||
Liste d’imprimante et les propriétés |
||
Logiciel installé [1] |
||
Lecteur réseau |
||
Variables d’environnement [2] |
||
Modèles des écrans |
||
Modèle de la souris et du clavier |
||
Modèles des cartes contrôleurs (excepté la carte graphique) |
||
Version de l’antivirus |
||
État du parefeu |
||
Liste groupe local |
||
Liste et état de la banque de mémoire |
||
Liste des ports UBS et des périphériques connectés |
||
Statut de l’imprimante |
||
Lecteurs de carte |
||
Liste d’appx à l’échelle du système |
Notes de bas de page
Erreur sur l’inventaire¶
Si l’inventaire n’est pas correct, il est possible que GLPI par WAPT ait des éléments manquants.
Il est possible d’envoyer un rapport à l’équipe de développement de Tranquil IT.
Pour le rapport, l’équipe de développement a besoin de 2 fichiers .xml
.
Sur l’ordinateur qui a besoin d’envoyer l’élément, installez l’agent https://github.com/fusioninventory/fusioninventory-agent/releases
Obtenez l’inventaire local :
Window :
"C:\Program Files\FusionInventory-Agent\fusioninventory-inventory" > c:\inventory.xml
Linux / MAC :
fusioninventory-inventory > inventory.xml
Définissez le répertoire de débogage dans le fichier waptserver.ini
glpi_inventory_debug_directory = /tmp/glpi
Redémarrez le serveur WAPT
Récupérez le fichier
UUID.xml
, l’UUID doit être le même que celui de l’ordinateur précédent.Envoyez les 2 fichiers à l’équipe de développement.
Ajouter des plugins dans la Console¶
Pour ajouter des plugins, aller dans Outils, Préférences
et onglet Outils externes
.
Cliquez sur Ajouter pour ajouter un plugin, puis éditez les colonnes correspondantes.
Colonne |
Description |
---|---|
Nom |
Le nom qui apparaîtra dans le menu. |
Exécutable |
Chemin de l’exécutable qui sera exécucté après le clic. |
Arguments |
Les arguments passés à l’exécutable. Des variables peuvent être utilisées telles que {ip}, {uuid} ou {computer_fqdn}. |
Les plugins vont alors aparraître dans le menu:
Re-Signer tous les paquets avec la console WAPT¶
Cette méthode pour re-signer tous les paquets hôtes est utile lorsque la méthode cryptographique sous-jacente ou que la librairie change, comme ce cas-ci lors de la mise à jour de WAPT 1.8.2 (basé sur Python 2.7) et WAPT >= 2.0 (basé sur Python 3.x).
Indication
Utilisez le certificat Administrateur pour re-signer les paquets.
Les paquets hôtes¶
Sélectionnez tous les hôtes.
Clic-droit sur les hôtes sélectionnés.
Sélectionnez Resigner les paquets de configuration machine.
Confirmez la re-signature sur les hôtes sléectionnés.
Puis, entrez votre clé privée.
Les paquets hôtes sélectionnés sont désormais tous re-signé avec la nouvelle méthode cryptographique exigée par Python3.
Autre type de paquet WAPT¶
Accédez au dépôt depuis votre console WAPT.
Sélectionnez tous les paquets dans le dépôt, puis clic-droit sur la sélection.
Sélectionnez Resigner les paquets.
Pour lancer le processus de signature, cliquez sur Resigner les paquets.
Après ce procédé, ce qui prend du temps, tous les paquets seront re-signés.
Attention
Si l’erreur Access violation apparaît, c’est parce que le paquet est trop gros.
Éditez le paquet et suivez cette procédure.