Update to the AAD Network Testing Tool

Update to the AAD Network Testing Tool

5/5 - (3 votes)

Hey, all!  One AAD tool update deserves another!

Every so often, I check in to make sure I’m keeping the AAD Connect Network Test Tool as fresh as I can.  I’ve made a few changes to the way it works (hopefully which you all think is for the better).  One of the changes that I made on another tool recently was manipulating $PSBoundParameters to set some defaults, and I decided to pull that change into here as well:

If ($AllTests)
    If (!$PSBoundParameters.ContainsKey("AzureCredentialCheck")) { $AzureCredentialCheck = $true }
    If (!$PSBoundParameters.ContainsKey("Dns")) { $Dns = $true }
    If (!$PSBoundParameters.ContainsKey("Network")) { $Network = $true }
    If (!$PSBoundParameters.ContainsKey("OnlineEndPoints")) { $OnlineEndPoints = $true }
    If (!$PSBoundParameters.ContainsKey("ActiveDirectory")) { $ActiveDirectory = $true }
    If (!$PSBoundParameters.ContainsKey("SystemConfiguration")) { $SystemConfiguration = $true }

So, what I did was add a new switch parameter called AllTests.  If the AllTests switch is called, then I’m going to use it to turn on all the individual test parameters.  Running -AllTests is functionally equivalent to running -AzureCredentialCheck -Dns -Network -OnlineEndPoints -ActiveDirectory -SystemConfiguration.  One of the benefits of doing it this way is that you can combine the AllTests parameter with an individual test parameter to exclude a certain test.

For example, -AllTests -Dns:$false will run all tests except Dns.  Pretty nifty.

At any rate, in addition to that change, I’ve updated the endpoints list and put some error handling around the Resolve-DnsName cmdlets that the script uses.  I ran into a use case where the network was timing out, and it spit back some unsightly errors to the screen.  I don’t like when someone calls my baby ugly, and I also don’t like showing my baby being ugly.  Green is good.  Red is bad.

The completed result is pretty again:

I fixed a few extra little pieces as well–such as instances when the Azure AD credential check wouldn’t run, and making the -AllTests parameter on by default if no other parameters were specified.

You can get the updated tool at http://aka.ms/aadnetwork. Cheers!

Published by Aaron Guilmette

Helping companies conquer inferior technology since 1997. I spend my time developing and implementing technology solutions so people can spend less time with technology. Specialties: Active Directory and Exchange consulting and deployment, Virtualization, Disaster Recovery, Office 365, datacenter migration/consolidation, cheese. View all posts by Aaron Guilmette

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Exit mobile version