會想寫這篇文章,主要是看到這篇在微軟TechNet 技術論壇的問題討論:能否透過Domain Policy禁止user將電腦離開網域?,裡面提到希望透過GPO 去禁止用戶端退出網域。
但可惜的是,有兩個問題要先瞭解:
1. 我翻遍了2003/2008 的群組原則,卻找不到可能的相關設定。
2. 基於上面這點,只要讓使用者在電腦上屬於Administrators 群組,就無法阻止他們去亂動。
本來想找出像下圖的機碼,讓「變更」失去效果,連Administrators 都無法使用該功能。
不過,我用搜尋引擎翻遍各中英文網站及討論區,反而只找到如何隱藏「電腦名稱」標籤的資訊。後來想想,如果可以隱藏的話,那其實跟想辦法把「變更」弄失效,有異曲同工之妙了。
方法很簡單,就是修改「netid.dll」的權限!
1) 到 開始 -> 程式集 -> 附屬應用程式,開啟「命令提示字元」。
2) 切換到「C:WindowsSystem32」目錄下,參考下面圖片及輸入指令:
「cacls c:\windows\system32\netid.dll /G "NT AUTHORITY\SYSTEM":F」,
比較要特別注意的是,「NT AUTHORITYSYSTEM」前後需用雙引號包起來。
由於不清楚netid.dll 這檔案還有被哪些服務所使用,所以還是讓netid.dll 至少剩下System可以存取,這樣「電腦名稱 」標籤就會在使用者的GUI介面上消失了。
但是,經過仔細測試有幾點分享:
1. 其實這方法只防君子不防小人,只要使用者擁有Administrators 權限,並且安裝了Windows Support Tools,就還是能用netdom 指令修改電腦名稱甚至退出網域。
2. 僅適用於Windows 2000/XP/2003,而Vista/2008 無法使用。
3. 如果想在網域裡部署,一般較快速的方法是用Logon Script。但這有很大的問題,這樣會跳出是否確定執行該指令的選項。 因為小弟不會寫VBS,我猜想應該可以透過程式的方式去作強行修改。
最後,萬一想把netid.dll 的權限修改回來呢?其實非常簡單,不用一項項把權限加回去,只要把現存的netid.dll 檔案刪除掉,等個2至3秒後,netid.dll 檔案又會自己生出來囉!而且連權限都會恢復原來的設定值。
傑克,這實在是太神奇了!
好文~幫你推一下 ;)
"變更"會反白,主要還是那一台是有安裝憑證授權服務的關係.....
是的,那台主機本身有憑證服務,
所以我本來想用他來研究讓該項目變成反白的方法,
可惜找不到可能的設定啊~~