DHCP服务器禁用NetBios功能后引发WPAD失效解决方法
生活随笔
收集整理的這篇文章主要介紹了
DHCP服务器禁用NetBios功能后引发WPAD失效解决方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天的這篇博文呢,只是想把最近遇到在DHCP服務器上禁用NetBios選項后導致的Windows XP SP3版本無法正常應用WPAD值的問題。 關于禁用客戶端的Netbios選項功能的方法,微軟官方也有相應的解決方法,在這里簡單提一下,配置方法如下,也可以參考微軟KB313314中的解釋來配置 ,地址為http://support.microsoft.com/kb/313314。 單擊“開始”/“管理工具”,然后單擊“DHCP”。 在DHCP控制臺中,展開“作用域”,右鍵單擊“作用域選項”,然后單擊“配置選項”。 單擊“高級”選項卡,然后單擊“供應商類別”列表中的“Microsoft Windows 2000 選項”。 保證在“用戶類別”列表中的“默認用戶類別”處于選中狀態(tài)。 然后選中“可用選項”列下的“001 Microsoft 禁用 Netbios 選項”復選框。 在“數(shù)據(jù)輸入”區(qū)域中,鍵入 0x2,然后單擊“確定”即可。??? 但是當我們通過DHCP服務器來禁用掉客戶端的NetBios功能后,會發(fā)現(xiàn)一個非常有意思的問題,那就是如果你的客戶端安裝了FWC客戶端來發(fā)現(xiàn)TMG服務器,那么Windows 7 與Windows XP SP2版本是不受影響的,但是如果企業(yè)已經(jīng)將Windows XP客戶端安裝了最新的SP3補丁包的話,那么這時就需要注意了,Windows XP SP3客戶端上NetBios功能已經(jīng)被禁用了,但是FWC卻發(fā)現(xiàn)不了TMG了,如果將DHCP服務器上的禁用Netbios功能的選項取消,Windows XP sp3就立即可以正常發(fā)現(xiàn)了TMG服務器并進行上網(wǎng),有意思吧,當時將這個問題同微軟的工程師聊了聊,微軟工程師也幫助查詢了,反饋的結(jié)果是微軟Windows XP SP3的相關文檔中并未提及到此問題,那就是木有辦法了,總不能不裝SP3吧,所以我們還是需要看看有沒有相關的解決方法呢? 其實遇到這個問題的話可以利用如下方法先做一些基本的檢查 1、利用fwctools進行檢查,發(fā)現(xiàn)客戶端返回如下內(nèi)容,很明顯客戶端沒有正常下載應用到WPAD值哦: 2、客戶端手動指向TMG服務器發(fā)現(xiàn)可以正常發(fā)現(xiàn)TMG服務器并進行上網(wǎng),初步確定不是由于TMG引發(fā)的。 3、在DHCP上取消禁用NetBios選項時設置的那個值,Windows XP SP3客戶端通過DHCP自動發(fā)現(xiàn)了TMG,那么可以很肯定的確定不是由TMG引發(fā)的。 4、在客戶端上安裝抓包軟件,在當時我使用了wireshark進行抓包,分析結(jié)果如下: 5、 重新獲取IP地址進行抓包,Windows XP客戶端上有如下提示: Windows 7客戶端上重新獲取地址抓包如下: 通過上圖可以發(fā)現(xiàn)在Windows XP SP3版本中確實存在發(fā)現(xiàn)WPAD值異常的問題。 6、當然不排除版本問題,安裝Windows XP SP2版本后,在DHCP服務器上重新啟用禁用NetBios功能選項后,Windows XP SP2沒有出現(xiàn)發(fā)現(xiàn)不了TMG服務器的問題,抓包發(fā)現(xiàn)應用WPAD時正常,至此可以確定此問題與DHCP上禁用NetBios功能是有一定的關系的。 7、取消DHCP服務器的禁用NetBios選項后,手動到客戶端的本地聯(lián)接中禁用NetBios功能后,重新獲取IP地址,檢測WPAD正常,至此可以確定通過客戶端來關閉NetBios是可以的,如果大家平時有用注冊表的話,一定會想到的是必然可以通過修改注冊表對應鍵值來實現(xiàn)手動將本地聯(lián)接中NetBios功能取消一樣的結(jié)果,查找后發(fā)現(xiàn)當我們手動在客戶端中下圖所示位置禁用Netbios后其實是修改了注冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces中對應網(wǎng)卡健值中的NetBiosOptions值的,如下圖所示; 但是大家如果注意觀察會發(fā)現(xiàn)每臺計算機的Interfaces中的內(nèi)容是不一樣的,這就意味將無法通過組策略的方法來直接修改所有Windows 客戶端的這項值來達到批量禁用NetBios功能的。 但是真的沒有解決方法了嗎?其實到這一步我們就已經(jīng)有解決方法了,那就是利用腳本的方式來檢索此鍵值上所有NetBiosOptions選項非“2”的值,就全部改為2就好了,相關的解本呢如下,大家可以根據(jù)實際情況測試使用,這個腳本我這里用的是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?
===================================================================== 用netbios over tcp/ip來實現(xiàn),相關的方法也非常簡單,只需要把下邊的命令放到批處理中就可以了,提接組策略或播發(fā)就可以了。 ===================================================================== wmic nicconfig where (TcpipNetbiosOptions!=Null and TcpipNetbiosOptions!=2) call SetTcpipNetbios 2 ===================================================================== 以上就是關于通過DHCP來禁用NetBIOS時對TMG的一些影響及排錯的思路,可能也是不很完整但還是整理了一些分享出來,嘻嘻。
本文轉(zhuǎn)自wangtingdong 51CTO博客,原文鏈接:http://blog.51cto.com/tingdongwang/900939,如需轉(zhuǎn)載請自行聯(lián)系原作者
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來實現(xiàn),相關的方法也非常簡單,只需要把下邊的命令放到批處理中就可以了,提接組策略或播發(fā)就可以了。 ===================================================================== wmic nicconfig where (TcpipNetbiosOptions!=Null and TcpipNetbiosOptions!=2) call SetTcpipNetbios 2 ===================================================================== 以上就是關于通過DHCP來禁用NetBIOS時對TMG的一些影響及排錯的思路,可能也是不很完整但還是整理了一些分享出來,嘻嘻。
本文轉(zhuǎn)自wangtingdong 51CTO博客,原文鏈接:http://blog.51cto.com/tingdongwang/900939,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的DHCP服务器禁用NetBios功能后引发WPAD失效解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Laravel - Artisan 个人
- 下一篇: linux下监控用户的操作记录