2011-02-08 25 views
0

如果我在Windows XP上安裝應用程序,並且該應用程序將某些密鑰寫入HKCU註冊表,那麼這些密鑰是否會被複制到HKCU以供其他用戶使用?針對機器中所有用戶的應用程序的Windows註冊表項

我試着安裝一個應用程序,並驗證了一些在HKCU中創建的密鑰。 現在我登錄到另一個用戶,並且我可以在該用戶的HKCU中找到相同的密鑰。

這兩個用戶都在同一個管理員組中。

我在Windows XP的VMWare映像中重複了相同的步驟,但我無法在vmware映像的其他用戶中找到註冊表項。

我想知道它是windows功能複製所有用戶的HKCU中的所有註冊表項?

回答

4

不,這是一件很好的事情。大公司中有公司的機器可供100,000個其他用戶使用(無笑話)。 HKCU正在那裏漫遊。如果一個應用程序能夠吸引來自世界各地的所有100,000個配置文件,從字面上看,管理員不會有點生氣。

注意HKCU通常是HKEY_USERS\S-1-5-21-{UserID}

+0

我無法理解HKCU漫遊是什麼意思? – anand

+0

@ Alien01做一個網絡搜索「漫遊配置文件」 –

+0

好吧,這意味着漫遊配置文件應該只適用於公司域用戶。如果我只在本地機器上創建新用戶,而不在域中,那麼它將被視爲漫遊配置文件?對於本地機器上的用戶,我仍然能夠看到所有註冊表項。 – anand

1

沒有一個鏈接,你不能做到這一點。如果可以的話,這將是一個巨大的安全漏洞。配置文件對每個用戶是私人的。

+0

不是。 HKCU條目中的典型ACL允許管理員完全訪問。由於我們正在討論軟件安裝上下文,因此可以假定管理員權限。 – MSalters

+0

@MSalters你是對的。安全是一個錯誤的詞。我真的在談論隱私,但正如你所說,因爲管理員可以看到所有的隱私,所以隱私並不在這裏。 –

0

不。沒有這樣的功能。 HKCU存儲在用戶配置文件的文件中。在註冊表中爲每個用戶保留數據的應用程序會爲該用戶首次運行時創建數據。

3

Windows有一個很好的功能,可以用來實現非常接近你需要的場景。該功能的名稱是「Active Setup」。該功能使用企業網絡的許多管理員對已安裝的軟件進行一些定製,這將根據用戶配置文件或HKCU中的更改進行。

在介紹了Internet Explorer 4之後(我希望它是IE4),微軟發現有時需要能夠運行可以修改HKCU設置或從用戶配置文件修改某些文件的小設置。所以微軟做了一些這樣的IE4組件。稍後,組件(Active Setup)是Windows操作系統的一部分。

由於時間可以使用下面的註冊表項做一個軟件運行的這個

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid] 

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid] 

主要設置在行政方面和創建HKLM關鍵SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]一些值。最重要的是名稱爲StubPathVersion值的REG_EXPAND_SZ值。 StubPath定義了迷你設置的路徑,如果用戶登錄並且他的HKCU部件中沒有SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid],則應該運行此迷你設置。在迷你設置運行後,將SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]值的副本從HKLM複製到HKCU,因此在下次登錄時不會啓動該設置。因此,HKLM值定義了微型設置,HKCU值用於驗證微型設置是否必須運行/重新運行。如果增加HKLM部分中的Version值,則迷你設置將重新運行一次,並且將更新Version的HKCU值。

因此,主軟件設置不僅可以創建一些HKCU設置,還可以將其導出到reg文件中,並且可以使用regedit.exe/s TheRegFile.reg作爲值StubPath

如果能讀取here活動設置的簡短描述。

相關問題