Я пытаюсь очистить беспорядок от случайных подключенных сетевых дисков. Все наши сетевые диски были сопоставлены для каждого пользователя (в результате gwmi win32_mappedlogicaldisk
прийти пустым).
Я пытаюсь получить удаленный доступ к реестру каждой рабочей станции и перечислить содержимое HKCU:\Network
, но когда я запускаю это:
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("CurrentUser", $computername)
$Reg.GetSubKeyNames()
Я получаю только следующий вывод:
AppEvents
Console
Control Panel
Environment
Identities
Keyboard Layout
Printers
Software
UNICODE Program Groups
Отсутствует более нескольких подключей. Если я запускаю ту же команду на своем локальном компьютере, отображаются все подразделы.
Почему я не могу получить доступ к этим подразделам и как это обойти?
HKEY_CURRENT_USER
на самом деле не существует как такового. Это просто проекция HKEY_USERS\<SID>
пользователя, вошедшего в систему, и предоставляется только для удобства просмотра.
Ульи HKCU расположены в каталогах профиля пользователя. Они не являются частью основного куста реестра (% SystemRoot% \ System32 \ Config).
Вы можете получить список активных кустов для машины из HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ hivelist.