2012-08-22 38 views
3

我是一名負責將軟件安裝到個人電腦的小型局域網的管理員。該軟件必須分開安裝(三個不同的可執行安裝程序包)。在電腦上爲每個用戶帳戶插入一個條目

銷售木偶以錯誤的順序提供了階段,並且由於它們按錯誤順序安裝,因此註冊表項沒有正確生成。

所以我需要在註冊表中爲每臺PC上的每個現有用戶創建一個HKCU條目。

我需要安裝該註冊表項是

Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Software\AcmeSoft\AcmeApp] 
"InstallLocation"="C:\\Program Files (x86)\\AcmeApp" 
@="" 

我想編寫一個腳本(語言是不重要的,我很熟悉C++和Python雖然)我可以每臺PC運行一次將此新註冊表項部署到HKCU \ Software \ AcmeSoft \ AcmeApp配置單元。

Regedit顯示一個名爲HKEY_USERS的配置單元,我懷疑它可能包含PC上所有用戶的條目。

我能以某種方式迭代HKEY_USERS並檢查上述密鑰並安裝它,如果它丟失? 謝謝。如果你喜歡這樣你就可以運行它

+2

您需要使用登錄腳本,或者如果您不能這樣做,請讓每個用戶手動導入必要的註冊表設置。 HKEY_USERS只包含真正登錄的用戶的配置單元。 –

+0

感謝Harry,我發現難以實現:)登錄腳本就是我將如何完成這一步的!謝謝! – fishfood

+0

可以在沒有登錄腳本的情況下執行此操作。您只需從默認配置文件和任何現有配置文件加載NTUSER.DAT配置單元。 – Jason

回答

1

如果你不反對使用一個簡單的批處理腳本,您可以使用此:

您甚至可以添加一個計算機名香港大學前(\計算機\ HKU像這樣)遠程。你必須運行它作爲管理員(提升)

for /F "delims=\ tokens=1,*" %%t in ('reg query HKU') do reg add HKU\%%u\Software\AcmeSoft\AcmeApp /ve 
for /F "delims=\ tokens=1,*" %%t in ('reg query HKU') do reg add HKU\%%u\Software\AcmeSoft\AcmeApp /v InstallLocation /d C:\\Program Files (x86)\\AcmeApp 
+0

謝謝rene,其他的東西已經出現了,但我很快就會看到,看起來就像我需要的東西。謝謝! – fishfood

+0

除了一個小的語法錯誤,這幾乎解決了我的問題。 – fishfood

+0

香港大學只有當前登錄的用戶。這不會改變任何未登錄的現有用戶。 – Jason

1

我在提供的答案中發現了幾個簡單的語法錯誤。以下是可能需要它的人的正確語法。

for /F "delims=\ tokens=2,*" %t in ('reg query HKU') do 
    reg add HKU\%t\Software\AcmeSoft\AcmeApp /ve 

for /F "delims=\ tokens=2,*" %t in ('reg query HKU') do 
    reg add HKU\%t\Software\AcmeSoft\AcmeApp /v InstallLocation /d C:\\Program Files (x86)\\AcmeApp 

但這不是很正確。這裏的條目在香港大學的列表:

HKU hive

,似乎是在系統中的有效帳戶的只有一個: S-1-5-21-856089149-4157031032-549160387-500

但是,有很多用戶登錄到這臺機器。

user accounts on the PC

所以我需要一個替代。如果我得到它,我會在這裏發佈。

更新 我發現,列出了所有用戶的命令,但是這似乎查詢域控制器的信息,它返回系統(包括管理員,模板,不活動如禁用帳戶等)上的所有帳戶

wmic useraccount get name,sid 

有用的知道,但爲我的目的矯枉過正。

相關問題