主要是把
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
"Start"=dword:00000004
設到登錄檔中
經過顯金和我的測試,直接執行 disable_USB.bat ,的確是可以鎖 usb 儲存裝置
--disable_usb.bat---
regedit /s Disusbstor.reg
xcacls.exe %systemroot%\inf\usbstor.inf /d everyone:r /y
xcacls.exe %systemroot%\inf\usbstor.pnf /d everyone:r /y
---------------------
但經過我的實驗,直接把 disable_USB.bat 放到 gpo 依使用者登入時執行,並未成功(猜測是 disable_USB.bat 的路徑問題);但此問題一直無法解決,於是嘗試以 wsh 撰寫程式,直接以 disable_USB.vbs 將上述的登錄值寫入系統
單獨將 disable_USB.vbs 放到 gpo 使用者/登入,是不行的,會有錯誤訊息:大意是說鍵值的路徑無效
但是以 admins 身份登入即可正常執行並具有鎖 usb 的效果,由此可知是權限的問題
使用 regedt32.exe 修改該鍵值的安全性,並加入 gpo 電腦設定/安全性/登錄,讓每一台電腦一開機就套用這個 gpo 個的登錄;這樣 disable_USB.vbs 就可以順利執行
-- disable_USB.vbs --
' VBScript.
Set Sh = CreateObject("WScript.Shell")
key = "HKEY_LOCAL_MACHINE\"
Sh.RegWrite key & "SYSTEM\CurrentControlSet\Services\USBSTOR\start", 4, "REG_DWORD"
---------------------
為了避免有權限的人知道怎麼改登錄檔,因此必須再加一道鎖,除 domain admins 外,所有人禁止使用登錄檔工具
禁用登錄檔工具有兩個方法,一是系統範本/系統/禁用編輯工具,二是同一個地方的禁用軟體(把程式名稱填進去:regedit.exe regedt32.exe);第二個方法有一個缺點:使用者要是把檔名改了,gpo 就鎖不到,因此用第一個方法
測試結果,一如所想
沒有留言:
張貼留言