10個PowerShell cmdlet 快速排除網絡故障
正確的PowerShell cmdlet可以幫助您快速輕松地識別網絡問題并解決連接問題。
隨著微軟發布其Windows客戶端和服務器操作系統的更新版本,繼續加倍使用PowerShell (PS),這是為管理系統和自動化而開發的框架。憑借其不斷擴展的命令列表(稱為cmdlet),PS可以幫助配置Windows中的任何設置。
雖然PS擁有大量的cmdlet,但幸運的是,大多數cmd是根據功能或他們管理的服務進行分組的。本文主要列出可以在基本PowerShell框架中找到與管理基于網絡的設置相關的cmdlet。
在深入研究cmdlet之前,必須滿足一些要求,以確保所有cmdlet都可用并得到充分支持:
- 安裝了Windows Vista或者更新版本的PC。
- Windows Management Framework 3.0或更新的版本。
- 交換網絡(大多數cmdlet正常運行所需)
- 寬帶互聯網接入(可選,但建議)
1. 本地或遠程ping設備
- Test-NetConnection -ComputerName“主機名或IP”
Test-NetConnection cmdlet提供了多種方法來測試LAN和WAN上的網絡連接。輸入上面鍵入的命令,計算機將主要執行ping操作,以確定本地設備與目標計算機或域之間是否存在網絡連接。
2. 根據端口或服務檢查連接
- Test-NetConnection“Hostname”-Port#
Test-NetConnection cmdlet的另一個功能是通過指定端口號來測試本地設備與目標主機之間的連接。這對于測試設備之間的服務以及它們專門通信的端口非常有用。
3. 跟蹤路由通信
- Test-NetConnection“Hostname”-traceroute
執行跟蹤路由以確定數據包從源到目的地必須經過的跳數(或步數)是一個重要的工具,因為它允許您查看傳輸的去向,更重要的是,它是否是成功的。如果不是,則跟蹤路由將指示數據包沿路徑失敗的位置。
4. 獲取IP配置詳細信息
- GET-NetIPConfiguration
與ipconfig命令類似,Get-NetIPConfiguration cmdlet提供在計算機的網絡適配器上設置的網絡配置的整體視圖。IP,DNS和網關地址按適配器名稱顯示和排序。
5. 執行DNS查找
- Resolve-DnsName -Name“Hostname”
可以說,網絡的骨干是DNS服務。沒有它,用戶將被迫知道所有網站和服務的IP地址。然而,當出現連接問題時,DNS通常是排除與IP相關的錯誤后的罪魁禍首。通過附加“-server”開關,然后附加DNS服務器的IP地址,IT可以針對特定服務器執行DNS解析請求,以驗證解析是否正常工作。
6. 查看當前的TCP連接
- GET-NetTCPConnection
就像之前的netstat一樣,Get-NetTCPConnection cmdlet允許查看與設備建立的當前TCP連接,以及打開或偵聽連接。這有助于您解決與IP和端口有關的問題,特別是那些綁定到某些網絡服務的問題。
7. 查看和設置DNS信息
- Get-DnsClient
- Set-DnsClientServer Address
通過此cmdlet,您可以檢查設備的DNS客戶端信息。它將指示設備正在使用哪些DNS服務器來執行多個適配器上配置的地址解析。Set-DnsClientServerAddress cmdlet允許將指定的DNS服務器添加到網絡配置中。
8. 刷新DNS緩存
- Clear-DnsClientCache
DNS緩存有助于將常用的DNS解析記錄保存在設備本地,允許它讀取該記錄,而不是每次請求記錄時執行查找。這有助于加快已經快速解決的過程。如果存在過時記錄(或尚未更新的記錄),則可能導致網絡性能不佳,拒絕服務或尋求利用將用戶請求指向錯誤服務器/服務的錯誤記錄的安全問題。
9. 發布和續訂DHCP租約
- Invoke-Command -ComputerName -ScriptBlock {ipconfig / release}
- Invoke-Command -ComputerName -ScriptBlock {ipconfig / renew}
雖然PowerShell包含許多cmdlet來管理網絡設置,但是沒有直接的方法來釋放/續訂DHCP租約而不首先引用另一個cmdlet,然后將結果傳遞給第二個或第三個cmdlet以便能夠修改DHCP設置。但是,通過利用Invoke-Command,您可以通過調用ipconfig命令遠程(或通過腳本)執行發布和/或續訂。
10. 禁用并啟用網絡適配器
- Disable-NetAdapter -Name“Adapter Name”
- Enable-NetAdapter -Name“Adapter Name”
最后但同樣重要的是用于在設備上禁用/啟用網絡適配器的cmdlet。雖然不像上面列出的cmdlet那樣對網絡問題進行故障排除,但正如任何IT專業人員都會告訴您的那樣,有時您要解決基于網絡的問題唯一需要做的就是重啟。