Have you ever found yourself with multiple RDP sessions to clients or servers open on your desktop and accidentally performed a task on the wrong host? How many times have you sat down at a machine and wondered what kind of hardware resources the machine has or the current IP address? Sure, you can right-click my computer or open a command prompt to get this information but how great would it be if the information you were looking for was right there on the desktop? If you answered yes to any of the above questions, then I have a nifty tool for you!
Windows Sysinternals is a collection of advanced system utilities for the Windows operating system. I highly encourage everyone to take a look at the available tools as they can save you a lot of time and frustration. BGInfo is a sysinternals utility that creates a desktop bitmap with customizable information. BGInfo can be run on both clients (Windows XP and higher) and servers (Windows Server 2003 and higher).
In the example that follows, I will be demonstrating how I setup and configure BGInfo on a Windows Server 2008 machine.
After creating an easily distinguishable folder like C:\BGInfo, download the .exe utility and copy into the folder.
Double-click the application to launch the configuration interface.
Here you can customize your dynamic background to show only the information you are looking for and format it to be aesthetically pleasing. One side note here – if you do not click anywhere in the GUI interface within 10 seconds, the application will terminate. The countdown timer is in the upper right-hand corner. You will see why this is necessary a little later…
Once you have the settings configured for your tastes, save the template by going to the File menu and clicking Save As.
The corresponding template can be saved anywhere but I just choose to store mine locally in the same location as the application.
In order to make BGInfo refresh the system information, you can create a batch file that launches on login. To do this, open Notepad and type the following: “[Path to BGInfo App]\bginfo.exe” “[Path to template]\[TemplateName].bgi” /TIMER:0 /accepteula
The /TIMER:0 option forces the application to launch with the timer set to 0 seconds so the application GUI used earlier to configure the template never displays to the user.
The /accepteula flag prevents the user agreement splash screen from displaying during the first launch.
Save the new notepad file as a batch script. I choose to just store this file in the same location as the application and template.
The next step is to setup the .bat file to launch on login. Among the many ways to accomplish this, I choose to use the registry. (Note: The example that follows demonstrates on a Windows 2008 server)
Open the registry by using regedit and navigate to the key: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Create a String value named something like BGInfo to identify the application being launched. In the value field type the path to your batch file (i.e. C:\BGInfo\bginfo.bat)
Close the registry editor and you are all set! Logoff/Login to the machine to verify the new background is working properly.
If your environment is anything like mine, you may have over a hundred servers or clients you wish to deploy this too. Performing these manual steps on each individual servers is tedious and time consuming. Fortunately, many software deployment tools can be utilized to push this application out. In my case, Microsoft System Center Configuration Manager is being used to maintain our servers so I simply created a deployment package and scripted the installation with a batch file. Active Directory can also handle this deployment rather easily.