Update to the AAD Network Testing Tool
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 combinethe 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 https://aka.ms/aadnetwork. Cheers!