Что означают эти переменные среды Windows: HOMEDRIVE, HOMEPATH, HOMESHARE, USERPROFILE - PullRequest
16 голосов
/ 03 марта 2009

Что означают эти переменные среды Windows:

  • ДОМАШНИЙ,
  • HOMEPATH,
  • ДОМАШНЯЯ, * ​​1008 *
  • а ПОЛЬЗОВАТЕЛЬСКИЙ?

Кто их установил? Когда? Кто их использует? Для чего?

Как конфигурация сервера samba изменяет эти переменные?

Ответы [ 4 ]

13 голосов
/ 10 января 2012

HOMEDRIVE / HOMEPATH - это место, где находятся личные файлы пользователя: загрузки, музыка, документы и т. Д.

HOMESHARE используется вместо HOMEDRIVE, если домашний каталог использует UNC-пути.

USERPROFILE используется для хранения пользовательских приложений, файлов конфигурации ОС и настроек персонализации. Он включает в себя как локальные, так и перемещаемые (Active Directory) папки. Кажется, что люди предпочитают использовать это больше, чем HOMEPATH в настоящее время.

Важно отметить, что хотя HOMEDRIVE / HOMEPATH часто совпадает с путем USERPROFILE, это не всегда так.

Я не думаю, что Самба изменил бы это. Он может использовать их для предоставления начального (домашнего) каталога. Active Directory может изменить их, хотя.


Ссылки:

6 голосов
/ 04 апреля 2016

USERPROFILE устанавливается userenv!LoadUserProfileW, который вызывается при загрузке профиля пользователя (улей HKEY_USERS\<sid>).

  • Обычно это происходит при первом запуске процесса для пользователя.
  • Если вы специально договорились не загружать профиль (например, с помощью /noprofile для runas), тогда процесс запускается в профиле Default User, в котором по-прежнему установлена ​​эта переменная - с момента it был загружен при запуске системы.

HOMEDRIVE, HOMEPATH и HOMESHARE (а также некоторые другие переменные) устанавливаются с помощью shell32!RegenerateUserEnvironment, который вызывается при инициализации Explorer 1 . Они помещаются в (энергозависимую) клавишу HKCU\Volatile Environment, которая, будучи энергозависимой, сохраняется до выгрузки профиля.

1 Код также устанавливает несколько переменных, которые уже установлены userenv. Это говорит о том, что это старый код, который сохраняется с NT4 дней. Разница между профилем и домашним путем - сбой сервера подтверждает это.

3 голосов
/ 15 апреля 2009

Все они установлены при входе в систему, и, как сказал SocialAddict, они очень полезны в сценариях, когда вам нужно выполнить действие в разных системах.

Я не совсем ясно по вашему другому вопросу, сервер samba не должен заботиться об этих переменных.

См. http://vlaurie.com/computers2/Articles/environment.htm для подробного объяснения.

1 голос
/ 03 марта 2009

если вы зайдете в окно выполнения и наберите любой из вышеперечисленных слов, как это

% HOMEPATH%

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

Надеюсь, это поможет

...