DHCP伺服器禁用NetBios功能後引發WPAD失效解決方法
今天的這篇博文呢,只是想把最近遇到在DHCP伺服器上禁用NetBios選項後導致的Windows XP SP3版本無法正常應用WPAD值的問題。
關於禁用客戶端的Netbios選項功能的方法,微軟官方也有相應的解決方法,在這裡簡單提一下,配置方法如下,也可以參考微軟KB313314中的解釋來配置 ,地址為http://support.microsoft.com/kb/313314。
- 單擊“開始”/“管理工具”,然後單擊“DHCP”。
- 在DHCP控制檯中,展開“作用域”,右鍵單擊“作用域選項”,然後單擊“配置選項”。
- 單擊“高階”選項卡,然後單擊“供應商類別”列表中的“Microsoft Windows 2000 選項”。
- 保證在“使用者類別”列表中的“預設使用者類別”處於選中狀態。
- 然後選中“可用選項”列下的“001 Microsoft 禁用 Netbios 選項”核取方塊。
- 在“資料輸入”區域中,鍵入 0x2,然後單擊“確定”即可。
但是當我們通過DHCP伺服器來禁用掉客戶端的NetBios功能後,會發現一個非常有意思的問題,那就是如果你的客戶端安裝了FWC客戶端來發現TMG伺服器,那麼Windows 7 與Windows XP SP2版本是不受影響的,但是如果企業已經將Windows XP客戶端安裝了最新的SP3補丁包的話,那麼這時就需要注意了,Windows XP SP3客戶端上NetBios功能已經被禁用了,但是FWC卻發現不了TMG了,如果將DHCP伺服器上的禁用Netbios功能的選項取消,Windows XP sp3就立即可以正常發現了TMG伺服器並進行上網,有意思吧,當時將這個問題同微軟的工程師聊了聊,微軟工程師也幫助查詢了,反饋的結果是微軟Windows XP SP3的相關文件中並未提及到此問題,那就是木有辦法了,總不能不裝SP3吧,所以我們還是需要看看有沒有相關的解決方法呢?
其實遇到這個問題的話可以利用如下方法先做一些基本的檢查
2、客戶端手動指向TMG伺服器發現可以正常發現TMG伺服器並進行上網,初步確定不是由於TMG引發的。
3、在DHCP上取消禁用NetBios選項時設定的那個值,Windows XP SP3客戶端通過DHCP自動發現了TMG,那麼可以很肯定的確定不是由TMG引發的。
4、在客戶端上安裝抓包軟體,在當時我使用了wireshark進行抓包,分析結果如下:
5、 重新獲取IP地址進行抓包,Windows XP客戶端上有如下提示:
Windows 7客戶端上重新獲取地址抓包如下:
通過上圖可以發現在Windows XP SP3版本中確實存在發現WPAD值異常的問題。
6、當然不排除版本問題,安裝Windows XP SP2版本後,在DHCP伺服器上重新啟用禁用NetBios功能選項後,Windows XP SP2沒有出現發現不了TMG伺服器的問題,抓包發現應用WPAD時正常,至此可以確定此問題與DHCP上禁用NetBios功能是有一定的關係的。
7、取消DHCP伺服器的禁用NetBios選項後,手動到客戶端的本地聯接中禁用NetBios功能後,重新獲取IP地址,檢測WPAD正常,至此可以確定通過客戶端來關閉NetBios是可以的,如果大家平時有用登錄檔的話,一定會想到的是必然可以通過修改登錄檔對應鍵值來實現手動將本地聯接中NetBios功能取消一樣的結果,查詢後發現當我們手動在客戶端中下圖所示位置禁用Netbios後其實是修改了登錄檔
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces中對應網路卡健值中的NetBiosOptions值的,如下圖所示;
但是大家如果注意觀察會發現每臺計算機的Interfaces中的內容是不一樣的,這就意味將無法通過組策略的方法來直接修改所有Windows 客戶端的這項值來達到批量禁用NetBios功能的。
但是真的沒有解決方法了嗎?其實到這一步我們就已經有解決方法了,那就是利用指令碼的方式來檢索此鍵值上所有NetBiosOptions選項非“2”的值,就全部改為2就好了,相關的解本呢如下,大家可以根據實際情況測試使用,這個指令碼我這裡用的是VBS的。
======================================================================
Const sNetKey = "System\CurrentControlSet\Services\NetBT\Parameters\Interfaces\"
Dim oReg ' Registry object
Dim sSubKey ' SubKey instance
Dim aSubKeys ' SubKeys array
Dim dwValue ' registry value
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
oReg.EnumKey HKEY_LOCAL_MACHINE, sNetKey, aSubKeys
' Top layer is interfaces
For Each sSubKey in aSubKeys
oReg.GetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", dwValue
If dwvalue <> 2 Then
oReg.SetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", 2
End If
Next
Const sNetKey = "System\CurrentControlSet\Services\NetBT\Parameters\Interfaces\"
Dim oReg ' Registry object
Dim sSubKey ' SubKey instance
Dim aSubKeys ' SubKeys array
Dim dwValue ' registry value
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
oReg.EnumKey HKEY_LOCAL_MACHINE, sNetKey, aSubKeys
' Top layer is interfaces
For Each sSubKey in aSubKeys
oReg.GetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", dwValue
If dwvalue <> 2 Then
oReg.SetDWORDValue HKEY_LOCAL_MACHINE, sNetKey & sSubKey, "NetbiosOptions", 2
End If
Next
=====================================================================
用netbios over tcp/ip來實現,相關的方法也非常簡單,只需要把下邊的命令放到批處理中就可以了,提接組策略或播發就可以了。
=====================================================================
wmic nicconfig where (TcpipNetbiosOptions!=Null and TcpipNetbiosOptions!=2) call SetTcpipNetbios 2
=====================================================================
以上就是關於通過DHCP來禁用NetBIOS時對TMG的一些影響及排錯的思路,可能也是不很完整但還是整理了一些分享出來,嘻嘻。
本文轉自wangtingdong 51CTO部落格,原文連結:http://blog.51cto.com/tingdongwang/900939,如需轉載請自行聯絡原作者
相關文章
- MacOS Big Sur更新後git失效的解決方法MacGit
- 利用 NetBIOS 協議名稱解析及 WPAD 進行內網滲透iOS協議內網
- 解決遠端伺服器剪下板失效伺服器
- ime tools後ctrl+shift切換輸入法失效解決方法
- Win10應用搜尋功能失效無法使用的解決方法Win10
- Win10截圖功能失效怎麼解決?Win10
- iOS下的點選事件失效解決方法iOS事件
- macbook air裝win10系統後鍵盤快捷鍵失效解決方法MacAIWin10
- 解決Flutter打包後permission_handler失效問題Flutter
- Win10系統下OneDrive同步功能失效無法同步檔案的解決方法Win10
- 解決IE中img.onload失效的方法
- window10聚焦無法使用怎麼解決 win10聚焦功能失效修復方法Win10
- 【ASK_ORACLE】LOCK_SGA引數失效的解決辦法Oracle
- 解決requests庫中session.verify引數失效的問題Session
- VNPY中開盤前掛單失效的解決方法
- SKIP_UNUSABLE_INDEXES的使用與索引失效解決方法Index索引
- 伺服器高併發三種解決方法為:伺服器
- 安裝 python3 後,yum 失效問題解決Python
- vs2010 失效後的解決辦法
- [DHCP服務]——DHCP詳解
- jquerymobile通過a標籤頁面跳轉後,樣式丟失、js失效的解決方法jQueryJS
- windows10系統無法禁用DirectDraw的解決方法Windows
- Win10系統怎麼禁用藍芽功能 win10禁用藍芽功能的方法Win10藍芽
- 引起索引失效的原因和解決方法索引
- Win10截圖動畫失效怎麼辦 Win10截圖動畫失效解決方法Win10動畫
- DHCP伺服器問題伺服器
- .gitignore 失效問題解決Git
- DHCP是什麼?DHCP伺服器是什麼意思?伺服器
- iMac和MBP乙太網介面失效的原因與解決方法Mac
- win8.1update致win8.1啟用失效解決方法
- 重置win10系統後卡在引導迴圈中的解決方法Win10
- win10護眼模式怎麼開啟啟後只用一次就失效瞭解決方法Win10模式
- win10系統administrator被禁用的解決方法Win10
- Win10提示已禁用IME輸入不了中文解決方法Win10
- 【解決】Navicat 連線伺服器方法伺服器
- nas儲存伺服器磁碟陣列失效、伺服器無法訪問解決過程伺服器陣列
- ASP程式設計中Session物件失效的客戶端解決方法程式設計Session物件客戶端
- 解決busuanzi_count突然失效的方法(hexo-theme-next)Hexo