En direct
SécuritéCybersécurité : des dispositifs publics gratuits pour vous accompagner - TV83· il y a 4 heuresSécuritéPlusieurs plateformes Microsoft ont rencontré des problèmes, mais la société a nié la possibilité d'une cyberattaque. - Vietnam.vn· il y a 4 heuresSécuritéCrise dans les aéroports | Vols suspendus: la cyberattaque exclue pour l'instant, l'IA en cause? - 98.5 Montréal· il y a 3 heuresSécuritéLa Maison Blanche veut renforcer la cybersécurité face à l’IA - Brief IA· il y a 3 heuresSécuritéRenforcer les défenses en matière de cybersécurité à l'ère des menaces liées à l'IA. - Vietnam.vn· il y a 3 heuresSécuritéSuspension des vols aux États-Unis : pas de cyberattaque ni de lien avec la panne de Microsoft (ministre américain) - TradingView· il y a 3 heuresSécuritéCyberattaque iranienne : comment riposter - Libre Journal· il y a 2 heuresSécuritéMicrosoft, perturbations dans le monde entier : l’entreprise exclut toute cyberattaque - LaPresse News· il y a 2 heuresSécuritéPanne mondiale Microsoft: la firme présente ses excuses et écarte la piste d'une cyberattaque - RFI· il y a 3 heuresSécuritéEntre Bièvre et Rhône : les serveurs de l’intercommunalité pillés par des hackers après une cyberattaque - Cyberattaque.org· il y a 4 heuresSécuritéProjet de loi résilience : comment la France veut rattraper son retard en cybersécurité - France 24· il y a 4 heuresSécuritéGrand Est Automobiles : plus de 2 500 fiches clients diffusées avec leurs plaques d’immatriculation et adresses - Cyberattaque.org· il y a 4 heuresSécuritéPanne mondiale chez Microsoft : « Un problème technique et non pas une cyberattaque » - Le Soir· il y a 5 heuresSécuritéCyberattaque contre Entre Bièvre et Rhône, les données de milliers d'habitants divulguées - FrenchBreaches· il y a 5 heuresSécuritéCybersécurité : des dispositifs publics gratuits pour vous accompagner - TV83· il y a 4 heuresSécuritéPlusieurs plateformes Microsoft ont rencontré des problèmes, mais la société a nié la possibilité d'une cyberattaque. - Vietnam.vn· il y a 4 heuresSécuritéCrise dans les aéroports | Vols suspendus: la cyberattaque exclue pour l'instant, l'IA en cause? - 98.5 Montréal· il y a 3 heuresSécuritéLa Maison Blanche veut renforcer la cybersécurité face à l’IA - Brief IA· il y a 3 heuresSécuritéRenforcer les défenses en matière de cybersécurité à l'ère des menaces liées à l'IA. - Vietnam.vn· il y a 3 heuresSécuritéSuspension des vols aux États-Unis : pas de cyberattaque ni de lien avec la panne de Microsoft (ministre américain) - TradingView· il y a 3 heuresSécuritéCyberattaque iranienne : comment riposter - Libre Journal· il y a 2 heuresSécuritéMicrosoft, perturbations dans le monde entier : l’entreprise exclut toute cyberattaque - LaPresse News· il y a 2 heuresSécuritéPanne mondiale Microsoft: la firme présente ses excuses et écarte la piste d'une cyberattaque - RFI· il y a 3 heuresSécuritéEntre Bièvre et Rhône : les serveurs de l’intercommunalité pillés par des hackers après une cyberattaque - Cyberattaque.org· il y a 4 heuresSécuritéProjet de loi résilience : comment la France veut rattraper son retard en cybersécurité - France 24· il y a 4 heuresSécuritéGrand Est Automobiles : plus de 2 500 fiches clients diffusées avec leurs plaques d’immatriculation et adresses - Cyberattaque.org· il y a 4 heuresSécuritéPanne mondiale chez Microsoft : « Un problème technique et non pas une cyberattaque » - Le Soir· il y a 5 heuresSécuritéCyberattaque contre Entre Bièvre et Rhône, les données de milliers d'habitants divulguées - FrenchBreaches· il y a 5 heures
Guides techniques Veille Cyber & IA • PME Québec

Exporter l’inventaire Lansweeper en PowerShell (CSV + Excel), sans mot de passe

Sortez un inventaire Excel complet de votre parc depuis la base SQL de Lansweeper, en PowerShell, sur le serveur — sans module, sans mot de passe, en lecture seule.

Exporter l’inventaire Lansweeper en PowerShell (CSV + Excel), sans mot de passe
PROTECTION FLUX IA ACTIF WEITSM // GUIDES TECHNIQUES

Points clés à retenir (TL;DR)

Synthèse exécutive
  • La console web de Lansweeper limite les exports ; les données, elles, vivent dans une base Microsoft SQL Server qu'on peut interroger directement.
  • L'astuce centrale : exécuter le script sur le serveur Lansweeper lui‑même pour que Windows déchiffre tout seul la chaîne de connexion (DPAPl) — vous n'avez jamais à connaître ni saisir le mot de passe SQL.
  • Résultat : un export CSV + Excel (.xlsx) complet du parc (postes, portables, serveurs, VM), sans installer le moindre module ni Excel sur le serveur.
  • Le script ne contient aucun identifiant en dur : il relit la configuration chiffrée à chaque exécution. Opération strictement lecture seule.
  • Une fois au point, on le planifie pour obtenir un inventaire frais à la demande — utile pour la sécurité, les licences et le renouvellement du matériel.
Schéma de l’article
De la base d’inventaire au fichier : script PowerShell → extraction → export CSV et Excel.

Le problème qu’on résout

Tôt ou tard, toute équipe TI a besoin d’un inventaire propre et exploitable de son parc : combien de machines, lesquelles, sous quel système, quel modèle, quel état, quelle fraîcheur de scan. Lansweeper collecte tout cela, mais sa console web ne permet pas toujours l’export exact que l’on veut, et les widgets sont vite limités dès qu’on cherche des colonnes précises ou un format figé pour un rapport.

La bonne nouvelle : les données sont déjà là. Lansweeper les stocke dans une base SQL Server. Il suffit donc de l’interroger directement et de mettre en forme le résultat. Le seul vrai obstacle technique : se connecter à la base sans connaître — ni exposer — le mot de passe SQL. C’est précisément ce que la méthode ci‑dessous règle élégamment.

L’astuce : laisser Windows déchiffrer la connexion pour vous

La chaîne de connexion (serveur SQL + identifiants) est stockée dans le fichier de configuration du site web Lansweeper :

C:\Program Files (x86)\Lansweeper\Website\web.config

…mais elle y est chiffrée, via le mécanisme DPAPI de Windows (fournisseur DataProtectionConfigurationProvider). Détail capital : ce chiffrement est lié à la machine. Autrement dit, seul le serveur qui a chiffré la chaîne peut la déchiffrer.

La conséquence est à notre avantage : si on exécute notre code sur le serveur Lansweeper, Windows/.NET déchiffre automatiquement la chaîne en mémoire dès qu’on la lit via l’API System.Configuration.ConfigurationManager. On n’a donc jamais à manipuler le mot de passe :

  • ✅ On récupère la connexion sans taper de mot de passe.
  • ✅ Le mot de passe n’est jamais affiché, journalisé ni écrit sur le disque.
  • ✅ Le script ne contient aucun secret en dur : il relit le web.config à chaque exécution.

⚠️ Revers volontaire : le script doit tourner sur le serveur Lansweeper, avec un compte administrateur local. Copié sur un poste ou lancé à distance, DPAPI ne pourra pas déchiffrer et l’opération échouera. C’est une protection, pas une limite : le secret ne « voyage » jamais.

Comment le script fonctionne, en trois temps

1) Lire la connexion

Via ConfigurationManager, on ouvre le web.config et on lit l’entrée de connexion Lansweeper (la vraie chaîne est imbriquée dans une sous‑clé ConnectionString). Windows la déchiffre en mémoire au moment de la lecture.

2) Interroger la base

Une requête SQL joint les tables clés du schéma Lansweeper :

Table Ce qu’elle contient
tblAssets Infos réseau/matériel de base : nom, IP, MAC, dates de scan, RAM, CPU…
tblAssetCustom Champs « métier » : fabricant, modèle, n° de série, localisation, état
tblOperatingsystem Le système d’exploitation
tsysassettypes Le libellé du type d’asset (Windows, Linux, Serveur…)
tblState Le libellé de l’état (1 = Actif, 2 = Non‑actif, 9 = Stock…)

3) Écrire les fichiers

On produit un CSV (natif PowerShell) et un XLSX généré par un mini‑écrivain OpenXML utilisant System.IO.Packaging, présent d’office dans Windows. Résultat : un vrai fichier Excel sans aucun module tiers (ni ImportExcel, ni Excel installé).

Prérequis

  • Une session RDP sur le serveur Lansweeper.
  • Un compte administrateur local sur ce serveur (nécessaire pour lire le web.config et laisser DPAPI déchiffrer).
  • Rien d’autre : ni Excel, ni module PowerShell, ni sqlcmd.

Procédure

  1. Ouvrez une session RDP sur le serveur Lansweeper.
  2. Déposez le script, par ex. dans C:\Temp\Export-Inventaire.ps1.
  3. Lancez PowerShell en tant qu’administrateur.
  4. Autorisez l’exécution pour la session courante : Set-ExecutionPolicy -Scope Process Bypass.
  5. Exécutez : .\Export-Inventaire.ps1.
  6. Récupérez le inventaire.csv et le inventaire.xlsx dans le dossier de sortie.

Le script (version commentée)

Ci‑dessous une version simplifiée mais fonctionnelle. Les paramètres du haut sont les seuls à adapter à votre environnement ; aucune donnée sensible n’y figure.

# =====================  PARAMÈTRES  =====================
$ConfigWeb = "C:\Program Files (x86)\Lansweeper\Website\web.config"
$NomChaine = "lansweeper"          # nom de la ConnectionString dans le web.config
$Sortie    = "C:\Temp"             # dossier de sortie
# =======================================================

Add-Type -AssemblyName System.Configuration

# 1) Lire la chaîne de connexion (Windows la déchiffre en mémoire)
$map = New-Object System.Configuration.ExeConfigurationFileMap
$map.ExeConfigFilename = $ConfigWeb
$cfg  = [System.Configuration.ConfigurationManager]::OpenMappedExeConfiguration($map,'None')
$conn = $cfg.ConnectionStrings.ConnectionStrings[$NomChaine].ConnectionString
if (-not $conn) { throw "ConnectionString '$NomChaine' introuvable dans $ConfigWeb" }

# 2) Requête d'inventaire (lecture seule)
$sql = @"
SELECT  a.AssetName          AS Nom,
        a.IPAddress          AS IP,
        a.Mac                AS MAC,
        t.AssetTypename      AS Type,
        os.OSname            AS SystemeExploitation,
        c.Manufacturer       AS Fabricant,
        c.Model              AS Modele,
        c.Serialnumber       AS NoSerie,
        c.Location           AS Localisation,
        st.Statename         AS Etat,
        a.Lastseen           AS DernierScan
FROM        tblAssets a
LEFT JOIN   tblAssetCustom     c  ON c.AssetID = a.AssetID
LEFT JOIN   tblOperatingsystem os ON os.AssetID = a.AssetID
LEFT JOIN   tsysassettypes     t  ON t.AssetType = a.Assettype
LEFT JOIN   tblState           st ON st.State = c.State
ORDER BY    a.AssetName
"@

$cn = New-Object System.Data.SqlClient.SqlConnection $conn
$cn.Open()
$cmd = $cn.CreateCommand(); $cmd.CommandText = $sql
$da  = New-Object System.Data.SqlClient.SqlDataAdapter $cmd
$dt  = New-Object System.Data.DataTable
[void]$da.Fill($dt)
$cn.Close()

# 3) Export CSV (le XLSX peut se construire via System.IO.Packaging)
$csv = Join-Path $Sortie "inventaire.csv"
$dt | Export-Csv $csv -NoTypeInformation -Encoding UTF8
Write-Host "Export terminé : $($dt.Rows.Count) machines -> $csv"

Pour le fichier Excel, on ajoute un petit générateur OpenXML (quelques dizaines de lignes utilisant System.IO.Packaging) qui écrit un .xlsx valide à partir de la même DataTable — sans dépendance externe. L’idée reste la même : une requête, une table en mémoire, deux formats de sortie.

Contenu du fichier généré

Vous obtenez un tableau prêt à filtrer et à trier : nom de machine, IP, MAC, type d’asset, système d’exploitation, fabricant, modèle, numéro de série, localisation, état et date du dernier scan. À partir de là, vous répondez en quelques secondes à des questions concrètes : « combien de serveurs Windows obsolètes ? », « quelles machines n’ont pas été vues depuis 30 jours ? », « quel parc par site ? ».

Vérifier la fraîcheur des scans

Un inventaire ne vaut que s’il est à jour. Ajoutez une colonne « jours depuis le dernier scan » (différence entre la date du jour et Lastseen) et triez : toute machine « vue » il y a trop longtemps signale soit un appareil éteint/retiré, soit un agent de scan en panne. C’est un excellent indicateur de santé — et un moyen de repérer des équipements oubliés sur le réseau.

Planifier l’export (optionnel mais recommandé)

Pour disposer d’un inventaire frais sans y penser, enregistrez une tâche planifiée Windows qui lance le script, par exemple chaque matin :

$action  = New-ScheduledTaskAction -Execute "powershell.exe" `
           -Argument "-ExecutionPolicy Bypass -File C:\Temp\Export-Inventaire.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 6am
Register-ScheduledTask -TaskName "Export inventaire parc" -Action $action -Trigger $trigger -RunLevel Highest

La tâche doit s’exécuter sous un compte administrateur local du serveur, pour que DPAPI puisse déchiffrer la chaîne.

Dépannage

Symptôme Cause probable Solution
« Impossible de déchiffrer » / chaîne vide Script lancé à distance ou sur une autre machine Exécuter directement sur le serveur Lansweeper
Accès refusé au web.config PowerShell non administrateur Relancer « en tant qu’administrateur »
0 ligne exportée Nom de ConnectionString ou schéma différent Vérifier $NomChaine et l’existence des tables
Erreur sur une colonne Version de Lansweeper au schéma légèrement différent Retirer/renommer la colonne concernée dans la requête

Sécurité : les bonnes pratiques respectées

  • Aucun mot de passe en clair, nulle part — le secret reste géré par Windows.
  • Opération lecture seule : on interroge la base, on ne la modifie jamais.
  • Exécution locale et administrée : la protection DPAPI garantit qu’un script copié ailleurs ne fonctionnera pas, ce qui limite tout risque de fuite.
  • Pensez à restreindre l’accès aux fichiers d’export (ils contiennent la cartographie de votre parc).

À retenir

Pour un inventaire fiable, complet et récurrent de votre parc informatique, inutile d’acheter un module d’export : la base SQL de Lansweeper contient déjà tout. En exécutant un court script PowerShell sur le serveur, vous obtenez un CSV et un Excel complets — sans mot de passe, sans module, en lecture seule — puis vous le planifiez pour un inventaire toujours à jour. C’est la base invisible d’une bonne gestion de parc : sécurité, correctifs, licences et renouvellement s’appuient tous dessus.

Vous voulez automatiser l’inventaire de votre parc et l’exploiter pour la sécurité, les licences et la planification du matériel ? Parlez à WeITSM.

Accompagnement Cybersécurité & ITSM Québec

Besoin d'aide pour sécuriser votre PME ? Parlez à WeITSM

Audit de vos assistants d'IA (Copilot, ChatGPT Enterprise, agents CRM), mise en conformité Loi 25 et configuration des contrôles de moindre privilège en 48 heures.

Scroll to Top