Доступ ко всем реестрам пользователей с помощью службы удаленного реестра

В настоящее время я работаю над инструментом PowerShell, который читает данные из реестра удаленно через службу удаленного реестра. Когда пользователь входит в систему, данные, с которых я читаю, находятся в HKCU\Software\, Очевидно, что когда компьютер имеет несколько учетных записей, HKCU не будет точно отражать всех пользователей. Есть ли динамический способ, которым я могу проходить через всех пользователей на компьютере и получать доступ к их реестрам?

В настоящее время я делаю следующее в PowerShell:

$KeyType = [Microsoft.Win32.RegistryHive]::CurrentUser
$BaseRegKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($KeyType, $RemoteComputer)
$SoftwareKey = $BaseRegKey.OpenSubKey($SoftwarePathEnding)

Как я смогу использовать подобный код для циклического прохождения всех пользователей, чтобы получить нужные данные, которые я ищу?

Извините, если это не объясняется слишком хорошо, и если мне нужно будет дать некоторые разъяснения.

1 ответ

HKCU это ярлык HKU\<User-SID>, где ntuser.dat из профиля пользователя загружается при входе в систему. Чтобы получить доступ к ветке реестра каждого пользователя, вам необходимо загрузить каждого пользователя. ntuser.dat во-первых, например, запустив reg load на удаленном хосте через Invoke-Command,

Invoke-Command -Computer 'hostname' -ScriptBlock {
    & reg load 'HKU\someuser' 'C:\Users\someuser\ntuser.dat'
}

Не забудь reg unload файл после того, как вы сделали.

Другие вопросы по тегам