Recent Posts

Using Test-NetConnection to diagnose network connectivity

3 minute read

Powershell version 4 and Windows 8.1 / 2012 R2 introduced the Test-NetConnection command as a tool for performing network connectivity tests with Powershell. Test-NetConnection allows you to perform ping, traceroute and TCP port tests and from Windows 10 and Server 2016 onward introduces the ability to do “Diagnose Routing” tests with the same cmdlet.

Get uptime from multiple servers with Powershell

2 minute read

The following script can be used to get the current uptime from a collection of servers in Active Directory using WMI. I used it as a way to audit our estate, keen to understand how long servers have been operational for, in part to identify those which were potentially not routinely receiving Windows Updates.

Synchronising Git repositories to disk with Chef

5 minute read

My team has an ever-growing collection of administration scripts and tools which are organised and maintained within a number of Git repositories. In order to ensure that the copies of these scripts in production always reflect the Master branch in Source Control we set up a Chef cookbook to synchronise the repositories to a network share in the environment. This post details how this functionality was developed and deployed.

Testing Active Directory with Pester and Powershell

4 minute read

Irwin Strachan published a Pester script for Operational Testing of Active Directory back in April which I was keen to try out. Afterwards I extended the script to add some additional health checks of Active Directory and this post explains how the resultant combination of our work can be used to validate your Active Directory.

Handling Powershell exceptions with Try..Catch..Finally

5 minute read

Recently while writing a script I expected two commands I was calling to throw exceptions because I expected my script to be unable to remotely connect to some of my servers. Initially I handled the result of these exceptions with If..Else blocks, but it felt like a Try..Catch might be more appropriate.