Configuration Bginfo : afficher des infos systèmes sur le bureau de Windows
Sommaire
I. Présentation
Dans ce tutoriel, nous allons voir comment configurer et déployer Bginfo sur des machines Windows pour afficher des informations système sur le Bureau, uniquement lorsqu'un Administrateur se connecte.
Bginfo est un logiciel gratuit qui fait partie de la suite d'outils SysInternals et il est connu de la plupart des administrateurs Windows. C'est un logiciel tout simple, mais qui permet d'afficher sur le Bureau Windows, des informations très utiles : nom de la machine, adresse IP, domaine, espace disque disponible, adresse MAC, version de Windows, vitesse du lien réseau, type de CPU, quantité de RAM, etc... En fonction de vos besoins, car il est totalement personnalisable.
Mon objectif est le suivant : afficher des informations sur le Bureau Windows lorsque les membres d'un groupe spécifique se connectent sur les postes (par exemple, les membres du service informatique) afin d'afficher quelques informations utiles. Dans le cas où un utilisateur lambda se connecte sur le poste, les informations de BgInfo ne seront pas affichées. Bien sûr, cela peut s'appliquer sur les serveurs.
Avant de commencer, téléchargez le logiciel "BgInfo" via ce lien : Télécharger BgInfo sur le site Microsoft
II. Configuration de BgInfo
Exécutez BgInfo : l'interface est minimaliste et ce que vous voyez en premier lieu à l'écran, c'est-à-dire les lignes blanches sur un fond noir, cela correspond à ce qui va s'afficher sur le bureau Windows en superposition du fond d'écran.
Il est possible de modifier le texte et les éléments à afficher, notamment pour écrire les intitulés en français et supprimer/ajouter certains champs (voir la liste sur la droite). La police, la couleur, la taille du texte, etc... sont également modifiables.
Voici un exemple de modèle que j'ai créé :
Si vous voulez faire un copier-coller, voici le contenu :
Informations générales: Nom hôte: <Host Name> Domaine: <Logon Domain> Logon server: <Logon Server> Utilisateur: <User Name> Adresse IP: <IP Address> Démarré depuis: <Boot Time> Caractéristiques: CPU: <CPU> Espace disque: <Free Space> RAM: <Memory> Réseau: <Network Speed> Version OS: <OS Version> ----------------- IT-Connect - www.it-connect.fr
En cliquant sur le bouton "Preview" vous pouvez voir ce que ça donne sur la machine locale où vous êtes actuellement. Voici ce que ça donne avec mon modèle :
En cliquant sur le bouton "Custom" à droite, vous pouvez créer des champs personnalisés. Par exemple, vous pouvez récupérer une valeur dans le Registre, exécuter une requête WMI, un script VBS ou PowerShell pour récupérer une information, récupérer des informations sur un fichier, etc. Personnellement, je n'ai jamais créé de champs supplémentaires via BgInfo, mais il faut savoir que ça existe.
Par défaut, BgInfo reprend le fond d'écran de l'utilisateur et il ajoute le texte sur cette même image. Si vous le souhaitez, vous pouvez définir un fond d'écran personnalisé qui sera utilisé lorsque BgInfo s'appliquera. A vous de voir.
Une fois que votre modèle est prêt, cliquez sur "File" dans le menu puis sur "Save". Enregistrez ce fichier : ce sera notre modèle à déployer sur les postes. Pour ma part, je nomme ce fichier "Template_Bginfo.bgi".
Quand vous souhaitez modifier ce template, il suffit de l'ouvrir puisque les fichiers ".bgi" sont associés à BgInfo.
III. Déployer Bginfo par GPO
Passons maintenant au déploiement de Bginfo par GPO. Pour cela, nous allons créer un dossier "BgInfo" au sein du partage "Netlogon" de notre contrôleur de domaine. Dans ce dossier, déposez "Bginfo.exe" et le modèle "Template_Bginfo.bgi".
Note : vérifiez que le template BGI soit bien en lecture seule pour les utilisateurs afin d'éviter qu'il soit modifié. Si un utilisateur mal intentionné modifie le template BGI pour ajouter l'exécution d'un script VBS malveillant, cela peut avoir des conséquences ! D'où l'intérêt de faire attention aux droits.
Dans ce dossier, nous allons ajouter également un script Batch qui va permettre d'exécuter BgInfo à l'ouverture de session, en utilisant notre modèle. On peut aussi trouver une alternative en PowerShell, mais pour lancer un simple exécutable, un script Batch c'est léger et efficace.
Ce qui nous donne le code suivant :
@echo off %logonserver%\netlogon\BGinfo\Bginfo.exe %logonserver%\netlogon\BGinfo\Template_Bginfo.bgi /accepteula /silent /timer 0 Exit
La variable d'environnement %netlogon% permet de récupérer automatiquement le nom du contrôleur de domaine auprès duquel notre machine s'est authentifiée. Cela va permettre d'aller récupérer Bginfo sur le serveur le plus proche de notre poste (en théorie, si vos sites AD sont bien configurés). Ensuite, on ajoute des options pour accepter les conditions d'utilisation du logiciel (/accepteula) et pour l'exécuter en mode silencieux (/silent).
Une fois que le script est prêt, vous devez l'enregistrer dans le répertoire "Bginfo" du répertoire "Netlogon". Enfin, vous pouvez le mettre dans un autre partage si vous le souhaitez, mais cela me semble plus logique de le stocker au même endroit que l'exécutable.
Maintenant, créez une nouvelle GPO à l'aide de la console de Gestion des stratégies de groupe. Pour ma part, je nomme cette GPO "BgInfo" tout simplement. Oui, ce n'est pas très original comme nom.
Modifiez la GPO et parcourez l'arborescence comme ceci :
Configuration utilisateur > Stratégies > Paramètres Windows > Scripts (ouverture/fermeture de session)
Cliquez sur "Ouverture de session" et dans l'onglet "Scripts", cliquez sur "Ajouter" puis sur "Parcourir". Il ne vous restera plus qu'à choisir le script "bginfo.bat" via le chemin réseau. Comme ceci :
Ensuite, validez et fermez l'éditeur de la GPO, car elle est prête ! Nous avons seulement besoin de lancer ce script à l'ouverture de session. J'ai lié la GPO au niveau de mon domaine Active Directory directement, car je souhaite avoir les informations de BgInfo sur toutes les machines (serveurs + postes de travail).
Néanmoins, il nous reste à gérer la partie filtrage de sécurité de la GPO. Je vous rappelle que je souhaite exécuter BgInfo seulement au sein de la session de certains utilisateurs. Pour cela, j'ai créé un groupe de sécurité "Adm-Bginfo" sur mon Active Directory et j'ai mis un utilisateur à l'intérieur.
Au niveau du filtrage de sécurité, il faut supprimer "Utilisateurs authentifiés" et ajouter "Adm-Bginfo", comme ceci :
Nous devons aussi ajouter "Utilisateurs authentifiés" en lecture via l'onglet "Délégation". Cliquez sur "Ajouter", indiquez "Utilisateurs authentifiés" et sélectionnez "Lecture" comme autorisation. Vous devez obtenir ceci :
C'est obligatoire si l'on veut que le filtrage de sécurité fonctionne. Plus d'infos à ce sujet au sein de mon cours sur les GPO : Appliquer une GPO à un groupe spécifique.
Voilà, tout est prêt, il ne reste plus qu'à tester !
IV. Tester BgInfo sur un poste Windows 11
Sur un poste Windows 11 de mon domaine Active Directory, je me connecte avec l'utilisateur membre du groupe "Adm-Bginfo". Une fois sur le Bureau Windows, voici ce que j'obtiens :
On peut voir les informations s'afficher à l'écran, en superposition du fond d'écran. On peut voir que je suis sur le poste "PC-01", que je suis connecté au domaine "IT-CONNECT" et que je me suis authentifié auprès du serveur "SRV-ADDS-01".
Sympa, non ? Maintenant, à vous de passer à l'action si BgInfo vous intéresse !
Bonjour,
impossible de faire fonctionner la GPO, pourtant bien vu dans un gpresult.
J’ai dû en 1er créer une gpo pour pouvoir exécuter un fichier .bat et quand j’exécute à la main cela fonctionne bien mais pas par GPO…il ne se passe rien…
Idem…:'(
Bonjour,
Il existe des options au lancement de BGInfo
Pour le débug, /LOG est une piste à creuser
(/LOG:***Chemin du dossier pour le stockage des logs***, attention aux droits d’écriture dans le dossier 🙂
Bon courage et bon débug
Hello Loïc,
Hum, étonnant car la GPO et le script sont assez basiques. Est-ce que tu as appliqué un filtrage de sécurité spécifique sur la GPO (si c’est le cas, il faut penser à faire la modif dans l’onglet « Délégation ») ? Ce n’est pas un problème de latence réseau ? La GPO essaie de lancer le script alors que le réseau n’est pas prêt, donc ça donne l’impression que ça ne fonctionne pas.
Bonjour Monsieur Burnel,
Je vous remercie pour cette présentation qui fonctionne parfaitement.
Sur un serveur 2019 et la dernière version de BGInfo (4.32), il est nécessaire de corriger les options du batch.
/Acceptlua a été remplacé par /NOLICPROMPT
/Timer 0 est à adapter en /TIMER:0
Encore merci
Bonjour,
Merci pour le poste.
Il semblerait que j’observe le même problème que sur la dernière capture d’écran.
A savoir, l’OS version indique Windows 10, alors qu’il s’agit d’un Windows 11…
L’article ne le mentionne pas mais cela m’a forcément sauté aux yeux ^^
Avez-vous une idée de comment contourner cela ? Recherche de l’info par un autre biais telle qu’une clé de registre par exemple ?
Merci beaucoup pour le retour !
Cordialement
Merci pour le tuto simple et efficace !
Sauriez vous m’indiquer comment ajouter une variable affichant le/les groupe de sécurité dont l’utilisateur fait partie ?
Je me casse les dents sur ce point.
Si quelqu’un a une idée je suis preneur
Merci d’avance
Cordialement
Bonjour,
La procédure fonctionne avec un AD en Windows 2016 serveur (BGInfo v4.32) / Windows 10.
Par contre quand on enlève un utilisateur du groupe « Adm-Bginfo » de l’Active Directory, les informations de BGinfo restent affichées sur le poste de l’utilisateur. Vous auriez une petite idée ?
Sinon merci du tuto très complet.
Encore merci
Bonjour,
Bginfo stocke son image sous c:\windows, donc j’ai le message suivant :
Error creating the output bitmap file
C:\WINDOWS\BGInfo.bmp:
Accès refusé.
J’ai loupé quelque chose, ou il y a une solution de contournement (gpo ordinateur et boucle de rappel) ?
Merci