What is the meaning of these Windows Environment variables:
- HOMEDRIVE,
- HOMEPATH,
- HOMESHARE,
- and USERPROFILE?
Who set them? When? Who use them? For doing what?
How the configuration of the samba server modify these variables?
USERPROFILE
由userenv!LoadUserProfileW
which 设置,当加载用户的配置文件(HKEY_USERS\<sid>
配置单元)时调用。
/noprofile
for runas
),则该进程在Default User
仍然设置了此变量的配置文件中运行 - 从系统启动时加载它的那一刻起。HOMEDRIVE
,HOMEPATH
和HOMESHARE
(以及其他几个变量)在 Explorer 初始化1shell32!RegenerateUserEnvironment
中被调用。它们被放置在 (volatile)键中,该键是易失的,直到配置文件卸载为止。HKCU\Volatile Environment
USERPROFILE
现在更喜欢。HOMEPATH
进行设置,SYSTEM
必须具有配置文件目录的权限(当然,它们最初是设置的,但在使用 Cygwin 时可能会消失chmod
)。1代码还设置了一些已经由 设置的变量userenv
。这表明这是自 NT4 天以来一直存在的旧代码。配置文件和主路径之间的差异 - 服务器故障证实了这一点。
HOMEDRIVE
/HOMEPATH
是用户个人文件所在的位置:下载、音乐、文档等。
HOMESHARE
HOMEDRIVE
如果主目录使用 UNC 路径,则使用它来代替。
USERPROFILE
用于存储用户的应用程序和操作系统配置文件以及个性化设置。它包括本地和漫游 (Active Directory) 文件夹。似乎人们比HOMEPATH
现在更喜欢使用它。
需要注意的是,尽管HOMEDRIVE
/HOMEPATH
通常与路径相同USERPROFILE
,但并非总是如此。
我认为 Samba 不会修改这些。它可能会利用它们来提供初始(主)目录。Active Directory 可能会更改它们。
参考:
if you go to the run box and type any of the above like this
%HOMEPATH%
then it will go to your environment path that is set on your machine. It's usefull when writing vb scrips and things like that where you want to perform a task on the users profile area for example.
Hope this helps
这些都是在登录时设置的,正如 SocialAddict 所说,当您需要在不同系统上执行操作时,它们在脚本中非常有用。
我对您的其他问题不太清楚,samba 服务器不应该关心这些变量。
有关详细说明,请参阅http://vlaurie.com/computers2/Articles/environment.htm。