Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu

 Windows OS Hub / Windows Server 2019 / Display System Information on Windows Desktop with BgInfo

February 27, 2023 Active DirectoryGroup PoliciesWindows 10Windows Server 2019

Display System Information on Windows Desktop with BgInfo

If you manage a large number of servers or workstations running Windows, sometimes it is useful to display basic information about the operating system and environment right on the Windows desktop. It will be especially convenient for your users if they connect the support and have to tell their IP or MAC address, computer or domain name, Windows version, memory size, CPU type, etc. Then they just need to look at their desktop. To show information about the operating system, hardware, and software environment on the desktop, we will use the BgInfo tool by Microsoft.

BgInfo allows to overlay text information over the user’s desktop wallpaper and replace the current wallpaper image.

Contents:
  • Create a Bginfo Text Template to Display on the Desktop
  • Deploying BgInfo Config File to Workstations/Servers via GPO
  • Using VBS and PowerShell Scripts with BgInfo

Create a Bginfo Text Template to Display on the Desktop

First of all, you need to create a template file to be used by BgInfo to show information on a Windows desktop.

    1. Download the Bginfo (https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo) and run the bginfo.exe;
    2. A default BgInfo configuration window appears. It contains a list of system information the tool displays by default;
    3. The BgInfo window is a simple text editor where you can add, remove, or edit any of the displayed values, change font color or size, select the screen position where to show the info, add your logo, etc; bginfo default system fields
    4. The values of the variables that BgInfo gets from an operating system are shown in the <Host name> format;
    5. I have created the following template displaying basic information about a computer and added support team contacts:
      Device Info:
      Computer Name: <Host Name>
      Domain: <Machine Domain>
      Logon DC: <Logon Server>
      OS Version: <OS Version>
      User Name: <User Name>
      IP Address: <IP Address>
      Default Gateway: <Default Gateway>
      MAC Address: <MAC Address>
      System Info:
      Boot Time: <Boot Time>
      CPU: <CPU>
      Memory: <Memory>
      System Type: <System Type>
      ___________________________________
      HelpDesk Team: +49-163-555-5555
      helpde[email protected]
      CRM Team: +49-163-555-5554
      [email protected]

      create bginfo template file

    6. Save the configuration to bg_config.bgi file.

Deploying BgInfo Config File to Workstations/Servers via GPO

Then create a new GPO (domain Group Policy Object) to apply the BgInfo configuration file to all domain computers and/or servers.

Create a Bginfo folder in SYSVOL on your domain controller and copy the bg_config.bgi and Bginfo.exe files to it.

Create apply_bginfo.bat script in the same folder. This file will be used to apply the BgInfo settings to a computer:

reg add HKEY_CURRENT_USER\Software\Sysinternals\BGInfo /v EulaAccepted /t REG_DWORD /d 1 /f
%logonserver%\NETLOGON\Bginfo\Bginfo.exe %logonserver%\NETLOGON\Bginfo\bg_config.bgi /silent /TIMER:00 /nolicprompt

batch script to apply bginfo settings

      • Open the Domain GPO editor (gpmc.msc), create a new Group Policy named bgInfoGPO and link it to the computers OU; link BGO policy to computers OU
      • Switch to the GPO edit mode;
      • Go to User Configuration -> Policies -> Windows Settings -> Scripts (Logon/Logoff) -> Logon -> Scripts -> Add and  the UNC path to your script (for example, \\woshub.loc\NETLOGON\Bginfo\apply_bginfo.bat);
      • Enable the GPO loopback processing mode to apply the GPO to users: Computer Configuration –> Administrative Templates -> System -> Group Policy -> Configure user Group Policy loopback processing mode = Enabled (Merge); Group Policy loopback processing mode
      • To apply the new Group Policy settings, you need to log on to the computer under a user account and make sure that the system information you configured is now shown on the desktop; Display Windows System Information on Desktop

BgInfo copies the current desktop background to BGInfo.bmp to the user %Temp% directory and puts your text on top of it. Then the file is set as the desktop wallpaper. However, if you set user desktop wallpaper using a domain GPO, note that the BgInfo policy must be applied after the wallpaper one. If needed, change the GPO links order.

If the policy is not applied, use the gpresult.exe tool or tips from the article Common issues that prevent Group Policy from being applied to troubleshoot the problem.

bginfo.bpm - user desktop wallpaper image

Using VBS and PowerShell Scripts with BgInfo

BgInfo allows displaying not only preset parameters, but also any other computer, application, or Active Directory properties using WMI queries, VBS, or PowerShell scripts.

To add custom values to BgInfo, click Custom -> New.

define new filed in bginfo

The tool allows to display:

  • A value of an environment variable
  • A registry parameter value
  • Results of a WMI query
  • A file version
  • A file contents
  • Run a VBS script file

BgInfo even has a built-in WMI Explorer. For example, the following WMI query will display an operating system build on your desktop (it is especially relevant for Windows 10):

SELECT BuildNumber FROM Win32_OperatingSystem

using wmi query in bginfo

The following VBS script will show computer model information on the desktop:

winmgt = "winmgmts:{impersonationLevel=impersonate}!//"
Set oWMI_Qeury_Result = GetObject(winmgt).InstancesOf("Win32_ComputerSystem")
For Each oItem In oWMI_Qeury_Result
Set oComputer = oItem
Next
If IsNull(oComputer.Model) Then
sComputerModel = "*no-name* model"
Else
If LCase(oComputer.Model) = "system product name" Then
sComputerModel = "Custom-built PC"
Else
sComputerModel = oComputer.Model
End If
End If
sComputer = Trim(sComputerModel)
Echo sComputer

bginfo -getting computer info via powershell script

Note that the value you want to see in BgInfo must be returned using Echo by the VBS script.

Thus, using BgInfo you can display almost any information about a computer on the user desktop.

0 comment
8
Facebook Twitter Google + Pinterest
previous post
PowerShell: Get, Modify, Create, and Remove Registry Keys or Parameters
next post
Fix: Cannot Open Executable (.EXE) Files on Windows

Related Reading

Zabbix: How to Get Data from PowerShell Scripts

October 27, 2023

Tracking Printer Usage with Windows Event Viewer Logs

October 19, 2023

How to Use Ansible to Manage Windows Machines

September 25, 2023

Installing Language Pack in Windows 10/11 with PowerShell

September 15, 2023

How to View and Change BIOS (UEFI) Settings...

September 13, 2023

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange Server
  • Microsoft 365
  • Azure
  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • PowerShell
  • VMWare
  • Hyper-V
  • Linux
  • MS Office

Recent Posts

  • Zabbix: How to Get Data from PowerShell Scripts

    October 27, 2023
  • Tracking Printer Usage with Windows Event Viewer Logs

    October 19, 2023
  • PowerShell: Configure Certificate-Based Authentication for Exchange Online (Azure)

    October 15, 2023
  • Reset Root Password in VMware ESXi

    October 12, 2023
  • How to Query and Change Teams User Presence Status with PowerShell

    October 8, 2023
  • How to Increase Size of Disk Partition in Ubuntu

    October 5, 2023
  • How to Use Ansible to Manage Windows Machines

    September 25, 2023
  • Installing Language Pack in Windows 10/11 with PowerShell

    September 15, 2023
  • Configure Email Forwarding for Mailbox on Exchange Server/Microsoft 365

    September 14, 2023
  • How to View and Change BIOS (UEFI) Settings with PowerShell

    September 13, 2023

Follow us

  • Facebook
  • Twitter
  • Telegram
Popular Posts
  • Configure Google Chrome Settings with Group Policy
  • Get-ADUser: Find Active Directory User Info with PowerShell
  • How to Find the Source of Account Lockouts in Active Directory
  • How to Disable or Enable USB Drives in Windows using Group Policy
  • Get-ADComputer: Find Computer Properties in Active Directory with PowerShell
  • Deploy PowerShell Active Directory Module without Installing RSAT
  • Configuring Proxy Settings on Windows Using Group Policy Preferences
Footer Logo

@2014 - 2023 - Windows OS Hub. All about operating systems for sysadmins


Back To Top