Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
techrepublic.com/article/10-powershell-commands-for-network-troubleshooting
Jesus Vigo
Image: iStock/gorodenkoff
While PS boasts a vast number of cmdlets, thankfully most are grouped based on
functionality or the service they manage. For the purposes of this article, the cmdlets that
pertain to managing network-based settings are all found within the base PowerShell
framework.
Another feature of the Test-NetConnection cmdlet is the ability to test the connectivity
between the local device and the target host by specifying a port number. This is extremely
useful for testing services between devices and the ports they communicate on specifically.
Performing a trace route to determine how many hops (or steps) a packet must go through
to get from the source to its destination is an important tool, as it allows you to see where
the transmission is going, and more important, whether it was successful. If it wasn't, trace
route will indicate where the packet failed along the path.
SEE: IT pro's guide to saving time with PowerShell (free TechRepublic PDF)
Arguably, the backbone of a network is the DNS service. Without it, users would be forced
to know the IP addresses for all websites and services. And yet when connectivity issues
arise, DNS is often the culprit after ruling out IP-related errors. By appending the "-server"
switch, followed by a DNS server's IP address, IT can perform a DNS resolve request
against a specific server to verify resolution is working properly.
2/4
Just like netstat before it, the Get-NetTCPConnection cmdlet allows for viewing of the
current TCP connections that have been made to/from a device, as well as open or
listening connections. This helps you troubleshoot issues that pertain to IPs and ports,
specifically those bound to certain network services.
This cmdlet lets you check the DNS client information for a device. It will indicate what DNS
server(s) are being used by the device to perform address resolutions as configured on
multiple adapters. The Set-DnsClientServerAddress cmdlet allows for specified DNS
servers to be added to the network configuration.
The DNS cache helps keep often used DNS resolution records stored locally on a device,
allowing it to read that record instead of performing a lookup every time a record is
requested. This helps speed up the already fast resolution process. If stale records—or
those that haven't been updated—are present, this could lead to poor network
performance, denial of service, or security issues that seek to exploit incorrect records that
point user requests to the wrong server/service.
While PowerShell includes many cmdlets to manage network settings, there is no direct
way to release/renew DHCP leases without referencing another cmdlet first, then piping the
results to a second or third cmdlet to be able to modify the DHCP setting. However, by
leveraging the Invoke-Command, you can remotely (or via script) perform a release and/or
renew by calling upon the ipconfig command.
Last but certainly not least is the cmdlet for disabling/enabling network adapters on a
device. While not as fancy a method for troubleshooting network problems as the cmdlets
listed above, as any IT professional will tell you, sometimes the only thing you have to do to
resolve a network-based problem is turn it off and on again.
Also read...
3/4
Other options?
What PowerShell cmdlets have worked best for your network troubleshooting tasks? Share
your experiences and advice with fellow TechRepublic members in the discussion below.
Related Topics:
Microsoft Enterprise Software Developer Open Source Software Mobility
4/4