Use BGInfo to identify details about a machine you are on

This is an awesome feature to identify which computer you are using quickly on the desktop. It’s great to deploy as an IT admin because it doesn’t interfere with the user’s wallpaper.

  1. Create a folder on a shared network drive that you will be pulling the script, config, and bginfo files from.
  2. Download and extract the bginfo files. https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo
  3. Create a custom bginfo config that suits your environments needs by opening bginfo64.exe, make the changes you prefer and click File>save as. The file extension should be .bgi.
  4. Create a script file in the same shared network path you created with bginfo.exe in it. (bginfo.bat is a great name for it).

  5. Include the following in the script file (modify file names and paths as needed below):
    reg add HKU\.DEFAULT\Software\Sysinternals\BGInfo /v EulaAccepted /t REG_DWORD /d 1 /f

    \\servername.domain.com\Scripts\Bginfo64.exe \\servername.domain.com\Scripts\mycustomconfig-bg.bgi /TIMER:00 /nolicprompt
  6. Create or select the GPO that is applied to the machines/ users you wish to apply this feature to.
  7. Navigate to User Configuration> Policies> Windows Settings> Scripts> Logon
    1. Put in the location of the script. IE: \\servername.domain.com\Scripts\bginfo.bat
  8. Now when you log in to a User account that has this policy applied, the desktop background should be updated assuming you have selected that option when you set up the configuration.
  9. Use gpupdate /force if it doesn’t apply the first time. Remember, this is NOT dynamic. If you opt to have it show disk space on logon, it won’t be regularly updated until the account is signed off and back on.
  10. You may want to tweak some of these settings a bit. There are some potential side effects when doing it as shown here, but where we use this primarily for our techs and not so much our end users, there hasn’t been a need for it to be customized. An example is listed below which I believe is caused due to me switching screen sizes constantly when accessing this server.

Change all users to an alternate domain suffix

In Active Directory users and computers, right click Queries> New. Give it a name, click “define query”. Stay on the “Users” tab. Select “Is not” and type an invalid name like testtesttest. Click ok, ok. It should return a result with all users whose name is <<not>> testtesttest. Select all, right click> Properties. Go to Account tab> check “UPN Suffix” and change it to the appropriate suffix. That’s it! There are PowerShell methods to do this too but when handling hundreds of user accounts, you have to be absolutely careful in PowerShell. There are solutions online that work fine that I am not going to post here. This is purely for the GUI. Good luck!

Updating InvoiceNinja on Windows Bitnami Install (Also works with Linux)

This guide will show you how to update your Bitnami NinjaInvoice Stack on Windows to the latest. Note: This did work with no issues going from to 2.9.1 which is the current version as of today. For Linux, review steps 6-12.

  1. Navigate to C:\Bitnami\invoiceninja-\apps\invoiceninja\htdocs
  2. Download the latest copy of InvoiceNinja from https://www.invoiceninja.com/self-host/
  3. Extract the contents of the freshly downloaded zip file
  4. I suggest renaming the HTDOCS folder before doing this… it creates an extra step or two but it might be worth it.
  5. Create a new htdocs folder
  6. Paste all of the contents of the downloaded zip file into the folder (or www\ninja folder for Linux).
  7. Go to your OLD install and copy the .env in the root directory to your new folder. This is the file that contains settings such as database connection settings.
  8. Go to your url with /update at the end. IE: www.mywebsite.com/ninja/update
  9. Wait a while for the upgrade.
  10. It should say successful. In a new tab, attempt to browse to the page! Should be updated and good to go.

Note: Bitnami no longer supports InvoiceNinja. You may have a hard time finding a copy. It’s relatively easy to install on Centos with Apache in my experience. The documentation for install is pretty great too.

Space Use Scanner (Free Utility)

Is your hard drive full and you have no idea why? I use this little utility called Space Use Scanner. You can download it here: www.steffengerlach.de. It shows you a graphical chart of your hard drive. You can actually click any portion of the graph to see more details about what in that folder is using so much space. [This actually points out hiberfil.sys (Hibernation file and system info) and pagefile.sys (virtual memory stored on hard disk) as taking up a lot of space most of the time.]


The screenshot is from: http://www.steffengerlach.de/. I did not make the screenshot above. Please visit the site to download the freeware.

Removing GRUB Bootloader

I installed Linux a while ago and found myself with the GRUB bootloader. This is definitely a pain and means I have to go through GRUB, select the OS I want to run, then go through Windows. For now, I just want Windows. Perhaps I will do the Linux thing through a VM or something similar. Here is a link that will show you how to get back to your original Windows Boot Loader.



Use Robocopy to make a mirror image of a drive. This is essentially a Windows method of backing up files to another location. Works great in a batch file with a scheduled task to maintain backups and sync data across a local computer to a network share (or drive to drive).

robocopy (/mir – MIrror) (local drive) (destination drive) (/r:x – retries) (/w:x – wait period before trying again)

robocopy /mir C:\localfiles \\networkshare\myfiles /r:1 /w:1

NOTE: Quotes are required around source or destination IF it has a space.

Use Task Kill on Remote Computer

Windows comes with a nice command line option that will allow you to close a process. The way I typically do this is as follows:

taskkill /f /im processtokill.exe

That closes the process according to the process name (under process tab in explorer). It force closes an application that is not responding pretty much instantly. How to do this on a remote computer?

taskkill /s computername /f /im processtokill.exe

*You may be required to put in username & password!!!