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