В чем смысл этих переменных Windows Environment: HOMEDRIVE, HOMEPATH, HOMESHARE, USERPROFILE

В чем смысл этих переменных среды Windows:

  • HOMEDRIVE,
  • HOMEPATH,
  • HOMESHARE,
  • и USERPROFILE?

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

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

Ответ 1

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

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

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

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

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


Литература:

Ответ 2

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

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

Подробнее см. http://vlaurie.com/computers2/Articles/environment.htm.

Ответ 3

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

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

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

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

Ответ 5

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

% HOMEPATH%

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

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