这些Windows环境variables的意义是什么:HOMEDRIVE,HOMEPATH,HOMESHARE,USERPROFILE

这些Windows环境variables的含义是什么:

  • HOMEDRIVE,
  • HOMEPATH,
  • HOMESHARE,
  • 和USERPROFILE?

谁设置了他们? 什么时候? 谁使用它们? 为了做什么?

samba服务器的configuration如何修改这些variables?

HOMEDRIVE / HOMEPATH是用户拥有个人文件的地方,例如下载,音乐,文件等。

如果主目录使用UNC路径,则使用HOMESHARE而不是HOMEDRIVE。

USERPROFILE用于存储用户的应用程序和操作系统配置文件以及个性化设置。 它包括本地和漫游(活动目录)文件夹。 现在看来,人们似乎更喜欢使用HOMEPATH。

请注意,虽然HOMEDRIVE / HOMEPATH通常与USERPROFILE的路径相同,但情况并非总是如此。

我不认为桑巴会修改这些。 它可能会利用它们来提供一个初始(home)目录。 Active Directory可能会更改它们。

参考文献:

http://support.microsoft.com/kb/100843

http://blogs.msdn.com/b/patricka/archive/2010/03/18/where-should-i-store-my-data-and-configuration-files-if-i-target-multiple-os- versions.aspx

这些都是在登录时设置的,正如SocialAddict所说,它们对于需要在不同系统上执行操作的脚本非常有用。

我不太清楚你的其他问题,桑巴服务器不应该关心这些变量。

有关详细说明,请参阅http://vlaurie.com/computers2/Articles/environment.htm

USERPROFILEuserenv!LoadUserProfileW设置,当加载用户的配置文件( HKEY_USERS\<sid> hive)时调用。

  • 这通常是在用户第一次启动进程时发生的。
  • 如果您特别安排不加载配置文件(例如使用/noprofile for runas ),那么进程将在Default User配置文件中运行,该配置文件仍然包含此变量集 – 从系统启动时加载的那一刻开始。

HOMEDRIVEHOMEPATHHOMESHARE (以及其他一些变量)由shell32!RegenerateUserEnvironment设置,它在Explorer初始化1上调用。 它们被放置在(易失性) HKCU\Volatile Environment键中,易失性持续到轮廓卸载。

  • 因此,只有在用户登录到桌面会话时才设置。 不适用于二级登录或服务。
    • 难怪现在人们更喜欢USERPROFILE
  • 为了设置HOMEPATHSYSTEM必须拥有配置文件目录的权限 (当然,它们最初是设置的,但是在使用Cygwin的chmod时可能会消失)。

1 代码还设置了一些已经由userenv设置的变量。 这表明这是自NT4以来一直存在的旧代码。 配置文件和主路径之间的区别 – 服务器故障确认。

这是一个更全面的Windows环境变量列表,其位置位于:

  • Windows XP
  • 远景

http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows

如果你去运行框并键入上面的任何这样的

%HOMEPATH%

那么它将转到您的机器上设置的环境路径。 编写vb脚本和类似于你想在用户配置文件区域执行任务的东西是有用的。

希望这可以帮助