由于taskscheduler,我有一個自動運行的powershell腳本,其目的是獲取系統所有軟體的版本,以便列出并快速了解過時的版本。問題是為了讓它隨時運行,腳本被分配給 SYSTEM 用戶。但是,有些應用程式只分配給一個用戶,SYSTEM 在其 HKCU 密鑰中找不到它們。
那么問題來了,我怎樣才能列出所有的內容呢?
提前致謝
uj5u.com熱心網友回復:
如果此人已登錄,您必須進入 HKU 并找到所有以“_Classes”結尾的注冊表項。然后從這些鍵的末尾洗掉“_Classes”,這是屬于用戶的可能鍵的串列。如果只有一個,并且您知道此人已登錄,那么這可能是他們的密鑰。但是如果有不止一個,那么你有大部分是空的ghost副本/副本,而windows無法完全卸載它。Afaik,ghost 副本將沒有值為“USERNAME”的子項“Volatile Environment”,但我懷疑這不是一個真實的陳述。我有 PsLoggedon.exe 報告有兩個用戶登錄,但后來我才知道 PsLoggedon.exe 使用 HKU 來查找誰登錄(不確定它使用什么子鍵和值)。
但是如果用戶沒有登錄,除非你是一個非常注重細節的人,否則不要走那條路。如果您加載他們的注冊表配置單元,完成您的作業,卻忘記卸載他們的注冊表配置單元,您將鎖定他們的注冊表配置單元檔案,Windows 會認為組態檔已損壞,建立一個新的用戶組態檔,用戶將登錄發現 Documents 檔案夾為空并且認為他們的檔案不見了。在我對實際用戶組態檔執行此操作之前,我做了很多實驗,將映射的網路驅動器注入測驗用戶的注冊表配置單元檔案中。
uj5u.com熱心網友回復:
你需要先加載他們的蜂巢
REG LOAD HKEY_Users\johnshive "C:\Users\john\NTUSER.DAT"
然后,您可以通過 powershell 解決他們的蜂巢,例如
Get-ChildItem -Path Registry::HKEY_USERS\johnshive
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/437600.html
上一篇:使用Powershell獲取每個匯入的CSV的值的總和
下一篇:如何在此字串中添加引號
