Как я могу получить путь к каталогу профилей Windows удаленно? - PullRequest
1 голос
/ 09 марта 2012

Я пытаюсь получить путь к каталогу профилей в разных версиях Windows.В старых версиях это может быть [диск]: \ Documents and Settings, в более новых версиях это [диск]: \ Users.Есть несколько способов сделать это локально без проблем, однако мне нужно найти путь на удаленной машине, к которой я подключился.

  • Удаленный реестр включен.
  • У меня есть маркер олицетворения, и я могу успешно собирать информацию с удаленного хоста через сетевой API и т. Д.
  • У меня есть доступ к административному общему ресурсу и, следовательно, ко всем файлам на удаленном диске.

Вот список других важных предостережений.

  • Это проект C ++.
  • Кажется невозможным для GetProfilesDirectory или GetUserProfileDirectory работать в удаленном контексте,Если я ошибаюсь, пожалуйста, дайте мне знать, но во всех моих экспериментах функция возвращала что-то с локальной машины.
  • Я не могу использовать WMI, мы много раз пытались интегрировать функциональность WMI в наш проект.и это просто не сработало.
  • Я бы предпочел сделать как можно меньше "очистки экрана".Если у вас есть идея, которая не предполагает чтение из какого-либо текстового файла и анализ результата, я бы хотел услышать ее.Но я бы очень признателен за любой полезный ответ.
  • Информация о каталоге профиля в реестре не кажется полезной, поскольку она содержит переменные среды, и, как и GetProfilesDirectory, функция расширения переменных среды не предназначена дляработа с удаленными хостами.Это означает, что решение не сработало бы, если бы я выполнял вызов с более новой машины Windows на более старую машину Windows или наоборот.
  • Решение должно быть достаточно общим, чтобы работать между хостами, которые могут работать на любом компьютере.версия Windows от Windows Server 2003 до Windows 7.

Заранее благодарим за любые идеи, которые у вас могут быть.В идеале я хотел бы просто иметь возможность заставить GetProfilesDirectory работать на удаленном хосте, поэтому, если вы знаете, как это сделать, я буду любить вас вечно.

1 Ответ

1 голос
/ 09 марта 2012

Если у вас есть доступ к удаленному реестру, вы сможете просмотреть ключ, в котором хранится каталог профиля и список профилей:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
...