“This PC” Folders

Ever go from Windows 7 to Windows 10 and notice how the default “This PC” Explorer view is just so cluttered with Pictures, Videos, Documents, Etc? Also notice how these folders also show up on the left navigation bar?

Want to fix it? This is for you.

Go from this:

To this:

Please note that I have ONLY test this on x64 Windows 10 1703, Server 2016, and Server 2012 R2

View the source on Github and download the EXE here.

View Technical Details
This software works by modifying regkey’s.

Windows 10 / Server 2016:

Documents : {f42ee2d3-909f-4907-8871-4c22fc0bf756}
Pictures : {0ddd015d-b06c-45d5-8c4c-f59713854639}
Videos : {35286a68-3c57-41a1-bbb1-0eae73d76c95}
Downloads : {7d83ee9b-2244-4e70-b1f5-5393042af1e4}
Music : {a0c69a99-21c8-4671-8703-7934162fcf1d}
Desktop : {B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
3D Objects : {31C0DD25-9439-4F12-BF41-7FF4EDA38722}
Windows 8.1 / Server 2012 R2:

Documents : {A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}
Pictures : {3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}
Videos : {A0953C92-50DC-43bf-BE83-3742FED03C9C}
Downloads : {374DE290-123F-4565-9164-39C4925E467B}
Music : {1CF1260C-4DD0-4ebb-811F-33C572699FDE}
Desktop : {B4BFCC3A-DB2C-424C-B029-7FE99A87C641}

WSUS – Updates available but clients are up to date

Recently I started playing around with WSUS and after getting everything setup, I was finding that clients were reporting into WSUS & WSUS was showing that updates were available, but when I would click “Check for Updates” in the Windows 10 client it would come back with “Your device is up to date!”

If you ever run into this issue, I have a solution. 2 things to know:

  1. If you are not using client side targeting in your GPO, your computer gets automatically added into the “Unassigned Computers” computer group.
  2. WSUS works on it’s own magic schedule. Even though you manually pressed “Check for updates”, unless it’s time for your computer to refresh in WSUS, it won’t pickup any group changes that were made.

In my case, this was the issue. I would domain join, computer would get put into the “Unassigned Computers” group which had no approved updates, I would then move the computer and press “Check for Updates” and it would take about 30-60 minutes for the computer to actually show there are updates.

If you read your Window Update Logs you will see an entry that goes something like this “Cookie still valid, continuing”. This essentially means that your computer is caching the setting it last used from WSUS, and is not seeing those updates. You need to force it to update by doing “wuauclt /resetauthorization /detectnow” This tells the computer to clear it’s cache, and re-detect updates from WSUS.

As soon as I did this, my client OS was able to pick up updates without a problem.

Alternatively – If you use the client side targeting GPO you won’t run into this problem, since your computer will be automatically added into the appropriate pool, and your initial sync will be accurate.

Battery Notification

After purchasing a UPS, I was surprised by the quality of the monitoring software that was available.

It was either too bloated, or looked so old that I didn’t want to install it. I still don’t understand why I need such a large program, to do such a basic task.

Due to this, I decided to create Battery Notification. It’s a simple open source program, less than 1mb in size, that (as of now) runs in the users session and monitors the computers power state. If it notices the power state change, it send you an email (which you can configure within the program) and writes to a local log file.

I wrote this mainly for myself, but while making it decided to ‘extend’ it a little and make it more universal.

The next goal is to create a Windows Service that can run in the background, but this will come in the future. Check back here, or on my github page for more.


License: GNU GPL v3
Source Code

RDP Settings

In the recent years I have been more and more reliant on using Remote Desktop for managing computers.

Windows helps RD users out by storing a history of 10 “Most Recently Used (MRU)” connections, and stores the username for any server that you have accessed in the past.

This is great, however, if you use Remote Desktop every day like I do, this list might get messy very fast.

I got frustrated in having to memorize where this data is stored in the Windows Registry, so I have made a small application that pulls this data from the registry, and allows you to edit it.

This application also allows you to edit the Port Number that RDP listens on (default is 3389).

I tested this on Windows 10 x64, but it should work on previous version of Windows.
If you notice any bugs, please contact me and let me know!

— Always be mindful of making changes in the registry. Always have a backup! I am not responsible if this program does not work as intended on an unsupported OS —

License: GNU GPL v3
Source Code

MD5 Checker

In this category of “Software” posts I will be documenting a few useful little Windows applications I have made that help make my life a bit easier, and teach me something about coding.

This particular application is a very basic MD5 hash generator. Simply select a file, and click “Check MD5.” It will output the hash into the box below, and there you go! Very small application, and you don’t have to memorize how to do this in CMD.

If an error is generated, the application will create an ‘errorLog.txt’ file in the same directory as the EXE.

If you find any bugs, please comment or email me, and let me know in the comments or by email.

License: GNU GPL v3
Source Code

Configuring the Central Management Server & Sophos UTM

In this post I will be going over how to configure the Sophos UTM software appliance that we install here

Quick recap:
– We created two virtual switches, one for our internal Lab network, and one for the WAN.
– We created a new VM and installed Sophos UTM.

Feel free to read along below, or follow my YouTube video here.

Thinking logically, we actually do not currently have a way to configure the Sophos UTM, since we have no other devices on that “Sophos – Private” network! Not to worry though, we are about to start now.

In this lab we will be using software and Operating Systems provided by Microsoft. You can find links to the free trials on my blog posting here

Our lab will consist of multiple Windows Server installations and because of this it will be easier to have a centralized place to manage them from – instead of having to individually log into each server directly.

Let’s create the management VM!

1) Create a new Hyper-V VM with Windows Server 2012 R2
Here are my VM settings:

  • VM Name: Lab1-Mgmt1 – Easy name to remember this is a management PC
  • Generation 2, SecureBoot Off
  • 3GB of RAM, not Dynamic
  • Connected to “Sophos – Private” Network adapter
  • 30 GB Disk – We won’t be storing much on this disk, so I won’t allocate much. We can get away with 20, but I’ll stick with 30 to be safe.
  • Windows Server 2012 R2 setup ISO to boot

Begin by clicking through the Windows Setup process, and install the Standard non Core version of Windows Server.
Continue through the steps until you are able to create your local password, and login to the machine.
Once you are logged into the server, let’s go ahead and
2) Configure our network adapter with a static IP

  • Right click the network icon & select “Networking and Sharing Center”
  • Click on the blue “Ethernet” text
  • Click on “Properties”
  • Select Internet Protocol Version 4 (TCP/IPv4) and click on “Properties”

We will be assigning the following values:

  • IP Address:
  • Subnet Mask:
  • Default Gateway:
  • Preferred DNS Server:
  • Alternate DNS Server:

Remember that our Sophos is set to, and we currently don’t have any local DNS servers so we will stick with Google’s Public DNS Servers for now.
Click OK through the dialogs to save, and open up a web browser and browse to to access the Sophos configuration UI
3) Configure the Sophos UTM Network Router & Firewall
As you can see, I was able to pull up the Sophos Web UI and begin the initial configuration process.
Type in your own information for the first page, click the “I accept the license agreement” checkbox, and click on “Perform Basic System Setup”.

You will a message in green text saying “Please wait, this will take 40 seconds”. Be patient during this process!

Next, we will be at the login screen. Provide the information you created in the previous page. The username is ‘admin’.

– We will be prompted to either perform a new setup, or restore from a backup. In this case, press on “Continue” to setup as new.
– We don’t have a license file, so leave this blank. This will allow us a 30 day trial period. If you end up liking Sophos UTM, you can create a Sophos account and generate a personal license for free.
– Leave the Internal (LAN) firewall IP as, since we don’t want to change this. Leave the Netmask default as well.
– I will be leaving the “Enable DHCP server on internal interface” unchecked since I will have Windows Server give out DHCP.
– On the “Internet Uplink (WAN) Settings” page select the only interface available in the dropdown box, and for “Internet uplink type” select “Standard Ethernet interface” with “Address Type” set to “Dynamic (DHCP)”.
Setting the WAN settings here automatically create the interface, and the corresponding NAT masquerading rules.
– On the “Allowed Services” page, go ahead and select the boxes that you think you will need. For me I selected Web, Terminal Services, DNS. Since the Sophos UTM is an advanced firewall, we can easily configure these later. These are just the barebones basics.
– On the “Advanced Threat Protection Settings” page, I left everything unchecked. Since this is a lab environment, I don’t see a reason to use resources for this function.
– Under “Web Protection Settings” I will also leave everything blank – but we will be revisiting this in a future blog post.
– Under “Email Protection Settings” leave everything unchecked.
– Click on “Finish” and you will be taken to the home page. You’ll see a bunch of red X’s but this is OK.

4) Create a “Firewall Off” rule
Since we will be spending a lot of time playing around with these devices, let’s go ahead and disable the firewall so we aren’t running into any strange networking issues.
Sophos does not provide a global ‘Firewall off’ button, but it should be pretty straight forward to accomplish with just one rule.
– Click on “Network Protection”
– Click on “Firewall”
– Click on “New Rule…”
– Do the following:

  • Position: Top
  • Sources: Any
  • Services: Any
  • Destination: Any
  • Action: Allow
  • Comment: Firewall Off

Make sure you enable this rule by putting the slider to the “On” position.

5) Confirm that you are able to reach the web!
In the Sophos WebAdmin, go to the search on the top left and type in ‘ping’ & click on the “Tools” under “Support”.
Type in into the Hostname/IP Address box, and click Apply. You should be seeing a response.
If you get a response, try sending a Ping command from our Management server. Everything should be working now.
In this blog post we went over:

  • How to create a basic Windows Server 2012 R2 VM for management of our lab
  • Configure the network adapter in the management VM
  • Configure the Sophos using the built in Wizard
  • Create a firewall rule to disable the firewall

In the next blog post, we will begin to play around with Windows Server roles.