【问题标题】:What is the meaning of these Windows Environment variables: HOMEDRIVE, HOMEPATH, HOMESHARE, USERPROFILE这些Windows环境变量是什么意思:HOMEDRIVE, HOMEPATH, HOMESHARE, USERPROFILE
【发布时间】:2010-10-11 00:37:51
【问题描述】:

这些Windows环境变量是什么意思:

  • 家庭驱动,
  • 主路径,
  • 家庭共享,
  • 还有 USERPROFILE?

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

samba服务器的配置如何修改这些变量?

【问题讨论】:

    标签: windows samba


    【解决方案1】:

    如果您进入运行框并像这样输入上述任何内容

    %HOMEPATH%

    然后它将转到您机器上设置的环境路径。例如,在编写 vb 脚本和您想在用户个人资料区域执行任务之类的东西时,它很有用。

    希望对你有帮助

    【讨论】:

    • 这实际上并不适用,具体取决于资源管理器进程的配置和当前驱动器...在我的机器上,%HOMEPATH% 是 \ (%HOMEDRIVE% 是 Z:),如果我将 %HOMEPATH% 放在“运行”窗口中,它会打开 C:\ ...(现在,我不能保证它总是会打开该特定驱动器)
    【解决方案2】:

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

    我不太清楚你的另一个问题,samba 服务器不应该关心这些变量。

    详情请见http://vlaurie.com/computers2/Articles/environment.htm

    【讨论】:

      【解决方案3】:

      HOMEDRIVE/HOMEPATH 是用户个人文件所在的位置:下载、音乐、文档等。

      如果主目录使用 UNC 路径,则使用HOMESHARE 代替 HOMEDRIVE

      USERPROFILE 用于存储用户的应用程序和操作系统配置文件和个性化设置。它包括本地和漫游 (Active Directory) 文件夹。现在人们似乎比HOMEPATH更喜欢使用它。

      请务必注意,尽管HOMEDRIVE/HOMEPATH 通常与USERPROFILE 是同一条路径,但并非总是如此。

      我认为 Samba 不会修改这些。它可能会利用它们来提供初始(主)目录。但 Active Directory 可能会更改它们。


      参考资料:

      【讨论】:

      • 引用:“重要的是要注意,尽管 HOMEDRIVE/HOMEPATH 通常与 USERPROFILE 是相同的路径,但并非总是如此。”你碰巧知道它什么时候不同吗?
      • 我相信 HOMEDRIVE/HOMEPATH 目录可以很容易地修改 - 例如使用网络共享或不同的硬盘驱动器 - 在这种情况下,它将与 USERPROFILE 不同。
      • @CarlBosch 例如net user <username> /HOMEDIR:<path> 可以设置它(至少从win2k开始)。
      • 请注意,%HOMEPATH% 应始终以 %HOMEDRIVE% 为前缀
      • %HOMEDRIVE% 和 %HOMEPATH% 可以由组织通过 Active Directory (source) 设置。在我的情况下,它们被设置为网络驱动器位置。
      【解决方案4】:

      USERPROFILEuserenv!LoadUserProfileW 设置,它在加载用户配置文件(HKEY_USERS\<sid> 配置单元)时调用。

      • 这通常发生在第一次为用户启动进程时。
      • 如果您专门安排不加载配置文件(例如,使用/noprofile 加载runas),则该进程将在仍然设置了此变量的Default User 配置文件中运行 - 因为那一刻它 em> 在系统启动时加载。

      HOMEDRIVEHOMEPATHHOMESHARE(以及其他几个变量)由资源管理器初始化时调用的 shell32!RegenerateUserEnvironment 设置1。它们被放置在(易失性)HKCU\Volatile Environment 键中,该键是易失性的,直到配置文件卸载为止。

      1代码还设置了一些已经由userenv设置的变量。这表明这是自 NT4 天以来一直存在的旧代码。 Difference between profile and home path - Server Fault 证实了这一点。

      【讨论】:

      • 赞美主,你为我节省了很多时间:-D
      • 非常有趣的是,如果用户从未登录过,则 HOMEDRIVE 和 HOMEPATH 不存在(阅读:运行 explorer.exe)
      • 感谢您的回答,他们帮助我理解了在 git-bash for windows 中发生的问题(请参阅github.com/git-for-windows/git/issues/2709
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2021-03-31
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      相关资源
      最近更新 更多