Windows

為所有現有使用者和所有新使用者添加 HKCU 鍵和值的最佳方法?

  • August 16, 2012

我需要將 HKCU 鍵和值添加到特定 OU 中的所有電腦、所有現有使用者配置文件和預設配置文件。解決這個問題的最佳方法是什麼?

我可以列舉並遍歷所有 NTUSER.DAT,載入配置單元,添加密鑰,然後解除安裝配置單元,但這似乎是一種笨拙的方法。

有人有更好的主意嗎?我想編寫腳本(最好是 PowerShell)並儘可能推送更改,但組策略登錄腳本也可以。

我的首選方法是使用 Active Setup。它的作用是檢查使用者登錄到機器時是否執行了特定的腳本或命令(例如您將擁有的),如果沒有,則執行它。因此,您只會在使用者的工作站上為使用者執行一次特定腳本。我發現這非常適合寫給 HKCU,因為您不必載入每個配置單元,只需修改人們登錄的帳戶。

不是為了自我推銷,但我確實寫了一篇關於這樣做的部落格文章。基本解決方案如下:

添加以下系統資料庫​​項:

[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\UniqueID]
"Version"=""
"Stubpath"=""
@=""
  • 您可以選擇任何您想要的唯一 ID。GUID 經常被使用,但您可以使用任何唯一的東西。
  • Version是您要使用的任何版本號。
  • Stubpath是將要執行的命令。MSI、EXE 和 VBS 呼叫似乎都很好。
  • @是命令執行時應該顯示的內容。

有了這個解決方案,腳本語言就無關緊要了。你可以做一個 VBScript、Powershell、批處理文件。無論您如何以登錄使用者的身份向 HKCU 寫入數據。reg.exe直接使用也可以。

您可以進行的另一個可選的最終操作是載入和修改預設使用者 Hive。這將為首次登錄該特定係統的任何新使用者設置系統資料庫值。

引用自:https://serverfault.com/questions/11253