So if we want to do a test connection to my domain controller,
and then normally I'll give it a port,
and it will attempt a TCP port connection at that
address and then give you the results, as you can see here.
And what you want to look for is True or False on TcpTestSucceeded.
Now, this most likely is due to Firewall running on that domain controller,
and it's obviously not set up as an HTTPS web server either.
You see what I mean?
Another thing you can add when you're doing network
troubleshooting with Test‑NetConnection is add,
let's see, InformationLevel Detailed.
That's very much like the verbose flag that you can add to
your PowerShell commands and pipelines.
In here it just gives you a little bit more latency metric data.
Now, there was one about route, get, let me try a help Get‑NetRoute ‑Examples.
Let's see if there's any examples here.
A couple of them.
Let's see.
This command gets all the routes for the computer.
So that's kind of cool.
If we do a Get‑NetRoute and pipe that to Format‑List ‑Property *,
that would be the equivalent of dumping the route table for the local computer.
Looks like we can look at route entries only for particular interfaces,
for protocols, IPv4, IPv6, so on.
So it looks like, wow, there are a lot of options here for getting that route.
I'm going to hit Q to dump out of there and cls to clear my screen.
I don't want to belabor this too much, I would encourage you,
in your lab environment,
to test out with some of those PowerShell commands and so on.
Ipconfig, I always throw on /all so I can get all adapters worth of information.
And we want to verify the correct IP address.
We can, at a glance,
see whether that IP address has been statically assigned or dynamically.
DHCP Enabled here tells me that this is a static IP address.
Our way out of my subnet's going to be through a default gateway.
Then we can verify name resolution.
All of that is important to know because I know in my own troubleshooting work,
my first question is going to be,
is the problem localized to a single machine or multiple machines?
And if it's a single machine,
I'm going to focus the bulk of my troubleshooting effort on that single machine.
If it's a bunch of machines,
then it's going to most likely be a more systemic issue so I'm going to want to
look at a higher level of abstraction like go to the switch,
router level, the server level, and so on,
and so forth.
Okay?
So, I think that's pretty good for now.
Let's go out into Azure and kick the tires a little bit.
Let me go out to my monitorvm virtual machine.
And for your Linux and Windows Server VMs,
you can go to the Networking blade under Settings.
This leaves nothing to the imagination.
Now you have to remember that the software or host‑level firewall is
going to be enabled on these unless you've disabled it,
but here, in Azure Resource Manager,
we're not able to see the host‑level firewall,
the software firewall.
Instead we've got our network security groups,
which, as you can see,
I've got one here called monitorvm‑nsg that's attached to the network interface.
This VM, actually surprisingly, has a public, an incident‑specific public IP.
The private IP is coming from system DNS.
We can go to the network interface for the VM,
and as long as the VM is running, we can change its IP configuration,
put the VM on another subnet.
We can come in and adjust Public and Private IP addresses here.
Now actually the VM could be stopped to do a lot of that work.
To view the routing table, down here under Support + troubleshooting,
Effective routes,
the only way that you can see the routing table of the VM
is when it's online because the routing table is dynamic
in memory on that machine, all right?
Takes a little while to load up the routes.
These are routes that have been dynamically injected by Azure.
I don't have any user‑defined routing going on.
And it's saying here, if we're within 10/16 for our destination,
stay on the virtual network.
And if none of these other route entries match,
we have the default route of 0.0.0.0/0 go out to the public internet.
So,
here we see an example of those service tags I told you
about before that can be really useful, all right?
Let's see, what else do we have?
Let's go back to the monitorvm, and let's go down under troubleshooting.
Where is it?
There's a command called Run command.
Let me just search the settings.
There it is under Operations.
For troubleshooting things like network connectivity,
I'm sure we'll come back to this in the next couple of lessons,
but this is a convenient way to run a preconfigured PowerShell script.
And Microsoft created these, I believe, to help their own support desk,
really, when they have common things that they want to check.
How about PowerShell remoting, how about getting the IP configuration?
Let's actually select the IPConfig command script and click Run.
Azure will inject that script into the VM,
run it under system credentials,
and then put our output right here in the portal where we can verify it.
So this would be an alternative to making a Bastion connection or
some other administrative connection to the VM. It's a more convenient way to go.