2014-06-06 143 views
-1

試圖用批處理文件刪除以下注冊表項,但我甚至無法在註冊表編輯器中刪除。關於如何編寫批處理文件的任何想法,也許它需要更改權限。用批處理文件刪除受保護的註冊表項

HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \枚舉\ SWD \ PRINTENUM \

有下PRINTENUM約8個子鍵,如{1974F44D-A278 - ......},我想被刪除。

HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \枚舉\ SWD \ PRINTENUM

同上。

+0

「試圖」意味着您已經做出了努力,但您忘記了包括它。如果您實際向我們展示您的代碼,那麼當您要求我們診斷代碼問題時,它會有所幫助。 StackOverflow不是一個「這是我的要求,你能爲我寫代碼嗎?回來後再來找它,謝謝!」輸入問題。:-)除讀取權限外,訪問HKLM需要現代版本的Windows下的管理員權限。您是否以管理員身份打開的命令提示符下運行? –

+0

這些信息沒有幫助,因爲這是一句不完整的句子,什麼也沒說。請[編輯]您的問題,以更具體地說明「嘗試」是什麼意思,您已經嘗試了哪些**具體**,以及您正在使用的帳戶(以及正在運行批處理文件的命令窗口)有管理權。 –

+0

基本上它只是\\ server \ scripts \中包含[-HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ SWD \ PRINTENUM \ {1974F44D-A278-470C-AF90-2B94CC6F71A0}]等的一個「remove printers.reg」文件,而我有一個名爲刪除reg.bat的批處理文件,其中包含%systemroot%\ regedit.exe/s「\\ server \ scripts \ remove printers.reg」即使我在註冊表編輯器中並且將其刪除,註冊表也不會刪除,說不能刪除,刪除密鑰時出錯。 – user3713487

回答

1

首先,閱讀Microsoft支持文章What are Control Sets? What is CurrentControlSet?

這樣做,應該很清楚,無論是HKLM\SYSTEM\CurrentControlSet下,修改是實時完成的(通常)也HKLM\SYSTEM\ControlSet001並在下次開機應用也HKLM\SYSTEM\ControlSet002後。

密鑰HKLM\SYSTEM\Select包含控制集是當前控制集(通常是控制集1)的信息,哪一個是Windows啓動時的默認控制集(通常也是控制集1),哪一個是最後一個已知的好(通常控制組2)。

接下來閱讀關於HKLM\SYSTEM\CurrentControlSet\Enum Registry Tree的Microsoft開發人員網絡文章。

默認情況下,只有SYSTEM帳戶具有必要的權限才能更改枚舉註冊表樹中的某些內容。這可以通過Regedit.exe進行更改,但不建議這樣做。例如使用Windows設備管理器卸載驅動程序時,枚舉器密鑰會自動刪除。不建議從Windows註冊表手動刪除它們。

有可能在Regedit.exe導航至關鍵HKLM\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM,右鍵點擊此鍵,在上下文菜單項權限左擊,使每個人組完全訪問權限,關閉權限對話框,刪除該子項,重新打開重新鍵入PRINTENUM的權限對話框,並取消選中所有人都可以恢復標準權限的完全訪問權限。但是,除非你真的知道你做了什麼,否則不要這樣做。

查看超級用戶的問題Change registry permissions via command line (batch file)包含你的問題的答案。

0

我在服務器上嘗試了psexec -s -i,並且在服務器上也有.reg文件,但是無法使用\ server .....在管理命令提示符下在客戶端上運行它。運行reg文件與-aaceptuela給我錯誤0應該是沒有錯誤和我嘗試登錄使用-u來運行它或runas等等,錯誤1,

在最後我必須使用腳本將.reg文件和psexec複製到本地硬盤驅動器,然後運行D:\ PsExec.exe -i -s -accepteula reg導入「D:\ hidden_​​printers.reg」以使其工作。

再次感謝。