這是Windows註冊表自動運行鍵為了我的目前的(管理員群組)使用者:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
這是為了“NT當局\系統”用戶:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run
這是一個簡單的腳本“Test.cmd”:
echo "Hello" >> C:\Test.txt
如果我將它添加到目前用戶 Run
鍵,它有效,但是如果我將它添加到系統用戶, 它不是。
這是怎麼回事,我該怎麼辦新增 .cmd 腳本透過Windows註冊表以使用者SYSTEM的權限執行?
在 Windows XP 上進行了測試,但也能得到 Windows 7 的一些答案。
答案1
我相信您最初的問題/帖子是不正確的。 HKEY_LOCAL_MACHINE 下的任何內容均適用不管用於登入的使用者帳戶的。無論您以誰身分登錄,您的執行金鑰都將駐留在此註冊表分支下:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
其他使用者將駐留在 HKEY_USERS 下。如果您在以管理員身分登入時編輯了上述按鍵,那麼也會編輯 HKEY_USERS 下的相關鍵(因為 HKCU 只是 HKEY_USERS 下條目之一的代理)。
如果將 test.cmd 腳本放置在 HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Run 下,則無論哪個使用者登錄,它都會執行。現在,標題中的原始問題表示您想要「在 Windows 啟動時」執行該命令。您的意思是在啟動過程中(即當 Windows 標誌顯示在黑屏上時),還是在啟動過程中?登入過程?