From 8b212df7a1856cd80f267cb2ac18a8f02d14d5da Mon Sep 17 00:00:00 2001 From: Admin MPCZ Date: Wed, 15 Apr 2026 13:54:07 +0200 Subject: [PATCH] Qualys 'sans agent': match via server_id (couvre alias hostname Qualys != iTop) --- app/routers/qualys.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/routers/qualys.py b/app/routers/qualys.py index fdd242f..875dd61 100644 --- a/app/routers/qualys.py +++ b/app/routers/qualys.py @@ -496,7 +496,8 @@ def qualys_agents_page(request: Request, db=Depends(get_db)): except Exception: summary = {"statuses": [], "versions": [], "total_assets": 0, "active": 0, "inactive": 0} - # Serveurs sans agent Qualys (exclut les workstations Win10/11 = portables/postes dev) + # Serveurs sans agent Qualys (match via server_id pour gerer alias/IP) + # Exclut les workstations Win10/11 = portables/postes dev no_agent_rows = db.execute(text(""" SELECT s.hostname, s.os_family, s.etat, d.name as domain, e.name as env, z.name as zone FROM servers s @@ -504,7 +505,12 @@ def qualys_agents_page(request: Request, db=Depends(get_db)): LEFT JOIN domains d ON de.domain_id = d.id LEFT JOIN environments e ON de.environment_id = e.id LEFT JOIN zones z ON s.zone_id = z.id - WHERE NOT EXISTS (SELECT 1 FROM qualys_assets qa WHERE qa.hostname = s.hostname) + WHERE NOT EXISTS ( + SELECT 1 FROM qualys_assets qa + WHERE qa.server_id = s.id + OR LOWER(qa.hostname) = LOWER(s.hostname) + OR LOWER(qa.fqdn) = LOWER(s.fqdn) + ) AND COALESCE(s.os_version, '') NOT ILIKE '%Windows 11%' AND COALESCE(s.os_version, '') NOT ILIKE '%Windows 10%' AND COALESCE(s.os_version, '') NOT ILIKE '%Workstation%'