Fighting the System

A blog of hacks and workarounds

Automate WSUS Server Cleanup on Windows Server 2012 R2 With PowerShell

I recently wanted to automate cleanup of my WSUS server. A lot of posts around the web advocate using strange PowerShell scripts that make .NET calls to work with WSUS or even use third-party applications to do so. That information all seems outdated. On server 2012 R2 you only need Invoke-WsusServerCleanup.

In my case I created a scheduled task on my WSUS server to run powershell with the arguments -command Invoke-WsusServerCleanup -CleanupObsoleteComputers -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates -DeclineExpiredUpdates -DeclineSupersededUpdates on a weekly basis.

Microsoft Visual C++ 2012 Redist Broken After Windows 10 1607 Upgrade

I’ve been deploying the Windows 10 build 1607 feature upgrade (also known as the Anniversary Update) via WSUS to a test lab at work. The machines are upgrading from 1511. Today I was informed that Autodesk 3ds Max & AutoCad would not launch on those machines. 3dsmax.exe gave an error: “The procedure entry point __crtCreateSymbolicLinkW could not be located in the dynamic link library C:\WINDOWS\SYSTEM32\MSVCP110.dll.”

I Created My First Chrome Theme!

I recently switch to Chrome from Firefox. I’m not sure how long I’ll stay but I really missed Firefox’s awesome dark Developer Edition Theme. The Chrome web store was lacking an equivalent, so I made one! You can find it on the Chrome Web Store under the name, Developer Edition Dark. It’s open source on GitHub too!

In the rest of this post, I’ll provide some notes on Chrome theme creation. Documentation online was quite sparse, so if this helps someone else I’ll be happy.

Running ExacqVision DVR Server on Hyper-V

ExacqVision is a DVR suite for security cameras. It works all right, I can’t really complain on that front. However, they license their software based on the MAC address of the server. This is pretty stupid on its face because it means a failure of the NIC means you need to relicense your server (which costs $$$ for a transfer) and in virtual environments, MAC addresses change easily. It gets really stupid when the software is incapable of reading the NIC’s MAC just because it is a Hyper-V NIC and I can’t license my server because of it. Thankfully, it’s possible to work around the issue.

Fix Non-working G930 Headset After Windows 10 Upgrade

I like my Logitech G930 wireless headset, but I also like running Windows 10 Preview builds. It seems like after every upgrade my headset stops working. I simply get no audio out of it. Reinstalling the application does not solve the problem. After every upgrade, I follow these steps to fix the audio:

  1. Exit the Logitech Gaming Software application.
  2. Open Explorer.
  3. In the address bar, go to %userprofile%\AppData\Local\Logitech
  4. Delete the Logitech Gaming Software folder.
  5. Restart the Logitech Gaming Software application.

Audio should work again!

How to Use Cincinnati Bell Fioptics With Your Own Router

I recently purchased gigabit Fioptics Internet service from Cincinnati Bell. At first I was hesitant to go through with it. I did not want to use a crappy ISP router and forgo my wonderful ASUS RT-N66U or be stuck running some sort of NAT-behind-NAT nightmare network. The day after installation, I took it upon myself to get my ASUS RT-N66U gateway working and remove Cincinnati Bell’s router. I was able to do this while keeping my Fioptics TV and on-demand features working. It was easy, but there is not much guidance out there on the Internet so I figured I would document my setup online.

Results of the 2015 /r/Linux Distribution Survey


About three years ago after seeing a failed comment survey on /r/Linux I decided to create a “real” survey using Google docs to find out what Linux Distributions the folks at /r/Linux were using. These past three years, the results of those surveys were very well received so I wanted to continue the tradition. You can still view the 2012 survey, the 2013 survey, and the 2014 survey.

As always, I’d like to prefix this by saying I’m no statistician. My stats knowledge is limited to a college class I took four years ago and can barely remember. If you feel like I’m representing anything incorrectly or have any kind of constructive feedback I’d appreciate a reddit PM about it or a comment on this page’s reddit thread.

Hardening Firefox to Protect Privacy

Your web browser is your gateway to the Internet. Unfortunately, sometimes the gate works both ways. In this guide I will cover some tricks to help protect yourself online. I have been using Firefox configured like this for quite a while and wanted to share this with you. I’ll admit this configuration could probably go further (eg. disabling JavaScript, employing NoScript, disabling remote fonts, etc.) but I feel like this setup provides a good balance between protecting privacy/security and keeping the browser usable.

Deploy Application Updates With Ninite With a Cache on Your LAN

Recently we purchased Ninite Pro for our organization and have implemented silent application updating via a scheduled task with PowerShell. This process uses a cache on our LAN to store updates and speed the whole process along. After some thinking I decided I wanted to get this working off-site so that when students take their laptops home over the summer, they can continue to receive updates.

Enable Bitlocker Disk Encryption via Scheduled Task

Enable Bitlocker Disk Encryption Via Scheduled Task

I’ve been working on deploying Bitlocker across our Active Directory domain via a scheduled task. My goals here were as such:

  • Enable encryption on any platform which is capable of running it.
  • Prepare the disk for encryption (if necessary).
  • On some of our devices (HP EliteBooks) the TPM was not enabled by default, so I needed to enable it.

The advantage of using a scheduled task to enable Bitlocker (versus a startup or shutdown script) is that I can configure it to run when the computer is idle. I liked this solution over a startup script because my users on laptops very very rarely reboot their computers, and so startup scripts very very rarely get a chance to run.