Windows Server network Unidentified (Public/Private) when multiple NICs present

Updated February 11, 2019: I was able to resolve the issue by setting the Cisco switch port configurations to an Edge Port. I’ve updated the post with the final solution.  

I was struggling to identify an issue where Windows Server would boot with an Unidentified, Public, or Private rather than the appropriate Domain network type. This caused the Windows Firewall to kick in blocking my RDP access. Restarting the Network Location Awareness service or cycling one of the Network Adapters would resolve the issue. But the root cause was a mystery until just recently…  (more…)

How to forward all WordPress pages from HTTP to HTTPS

Redirecting a WordPress website from HTTP to HTTPS is not as easy as it should be. I have yet to understand why there isn’t a simple checkbox to complete this task. There’s also numerous references which provide inaccurate information of how to accomplish this task. I’ll explain how to accomplish this with Apache, Nginx, IIS, as well as some popular web hosting control panels. These configuration changes are not WordPress-specific and can be referenced for any type of website. 

If you don’t already have a certificate, check out Let’s Encrypt to obtain a trusted certificate at no cost. In most cases Let’s Encrypt certificates can be easily requested from your CPanel or Plesk web hosting control panel. 


HTA to prompt for computer name and time zone in OSD of Configuration Manager

A common requirement of new operating system deployments from Configuration Manager is to have the ability to prompt for variables such as a computer name, time zone, and whether or not to install applications and updates. You could add MDT integration to Configuration Manager or you could create your own HTA using basic HTML and VBScript. However there are limitations with HTA files you should be aware of and you’ll need to tweak your task sequences. (more…)

WSUS virtual machine high CPU usage

I was recently deploying a WSUS server as part of a System Center Configuration Manager implementation when my Configuration Manager server’s CPU became pegged at 100%. It was clear the issue was being caused by the WsusPool IIS application pool. I was expecting the CPU to struggle for a few hours during the initial check-ins by Windows Clients. I had also made the recommended changes to the WsusPool to service the demands of Windows 10 clients. However after 24 hours the server was still struggling with 8 vCPU using 99% CPU.

Eventually I noticed VMTools was absent from the virtual machine. I researched whether this could have an enormous performance impact and as it turns out, it can. The storage drivers alone vastly improve I/O performance for intensive workloads.Installing VMTools immediately resolved the issue. The WsusPool continued to be intensive for a few more hours while it processed client check-ins but used only 20-30% CPU while the IIS Worker Process was able to grow to consume 12GB of memory. But a few hours later initial client check-ins had completed and everything was back to normal.

Conclusion: Install VMTools.

Windows 10 Express Updates in Configuration Manager taking a long time to download and install

Windows 10 and Server 2016 Express Updates may not be what we think they are. I was recently implementing System Center Configuration Manager 1702 and thought I’d try enabling Microsoft’s newly released Express Updates functionality which become fully supported as of the April 2017 Cumulative Update. However I quickly discovered there’s major consequences of enabling the global settings.


Send vCenter statistics to Graphite/Grafana with PowerShell

In this article I’ll walk you through setting up VMPerf-To-Graphite PowerShell script written by Matthias and available on GitHub. This will provide the ability to graph metrics such as CPU memory, IOPS, read latency, and write latency on a per-VM basis. It’s extremely useful information that will provide insight for troubleshooting resource contention. And the best part, it’s Open Source.

If you don’t already have Grafana and Graphite, see the article Installing and configuring Grafana on Ubuntu. (more…)

Installing and configuring Grafana on Ubuntu

Graphite is a scalable metric graphing solution. It’s a popular choice in the enterprise for collecting metrics from multiple sources and producing readable graphs. However, Graphite’s graphing interface isn’t all that user friendly and it’s difficult to showcase the collected metrics. This is where Grafana shines. Grafana is a web front-end for Graphite or InfluxDB. Although they have their own graphing solutions, Grafana is far more powerful and much easier to use. I’ll guide you through installing and configuring Graphite and Grafana on Ubuntu 14.04.

Installing PHP for IIS on Server 2012 R2 using the Web Platform Installer

Installing PHP on IIS appears to be fairly straight forward. Microsoft even has a tool called the Web Platform Installer which is supposed to make it even easier but it can actually be a bit frustrating. Many resources available on the web overlook a few prerequisites when installing PHP on IIS running on Windows Server 2012 R2. I’ve developed a guide and a list of requirements that will make the process of installing PHP on IIS much easier.  (more…)

“VMware Remote MKS has stopped working” when rebooting virtual machines

Recently I started receiving the error “VMware Remote MKS has stopped working” when starting, rebooting, and shutting down virtual machines with the VMware vSphere Client console. I searched the VMware community forums and was overwhelmed with the amount of ignorance. It turns out the problem is caused by overlapping versions of the vSphere Infrastructure Client.

It appears that the VI Client for vSphere 6 relies on the version 5.5. This is fine until you need to install version 5.1 of the VI Client which overwrites some registry values causing version 6 to become unstable. Luckily the user enriquepessoa on the VMware community forums has a solution by running a simple registry file which can be downloaded from this thread, I no longer receive the error “VMware Remote MKS has stopped working” when starting, rebooting, and shutting down virtual machines.