如何在 Windows XP 中更改 HOMEDRIVE HOMEPATH 和 HOMESHARE?

Lui*_*ano 46 windows user-profiles

我有一台配置为在网络驱动器中包含用户配置文件的笔记本电脑。这让我很头疼,因为与我公司的连接速度很慢。我想将我的用户的配置文件重新定位到本地目录中。我怎么做?

这些是目前的设置:

C:\>set HOME
HOMEDRIVE=P:
HOMEPATH=\
HOMESHARE=\\SOMESERVER\_myuser$
Run Code Online (Sandbox Code Playgroud)

驱动器 P 是映射到 HOMESHARE 的网络驱动器。

我找不到 Windows 在哪里设置这些环境变量,甚至在注册表中也找不到。

笔记本电脑运行的是 Windows XP。

Mar*_*ski 29

我有一个类似的问题,导致msysgit出现问题。这是我使用的解决方案,它绝对对我有用。这个答案类似于这个那个SO 帖子。

  1. 如果您使用的是 Windows 7,则可以跳过此步骤。如果您使用的是 Windows XP,请下载并安装Windows XP Service Pack 2 支持工具,其中包含SS64technet 中SETX描述的实用程序,可让您设置永久系统和用户变量。您必须具有管理权限才能设置全局系统变量。基本用法是。SETX <variable> "<value>" [-m]

  2. 将以下脚本添加到您的启动文件夹 - W7:"C:\Users\<username>\Start Menu\Programs\Startup"和 XP: "C:\Documents and Settings\<username>\Start Menu\Programs\Startup"

     SETX HOMEDRIVE %SYSTEMDRIVE% -m
     SETX HOMEPATH "\Documents and Settings\%USERNAME%" -m
     SETX HOMESHARE "\\<server>\<share>" -m
     SET HOME=%SYSTEMDRIVE%\Documents and Settings\%USERNAME%
     SETX HOME "%HOME%"
     SET TEMP=%HOME%\Local Settings\Temp
     SETX TEMP "%TEMP%"
     SETX TMP "%TEMP%"
    
    Run Code Online (Sandbox Code Playgroud)

注意: SETX变量是永久的,但在脚本运行后才可用,因此用于SET在脚本中创建临时变量。还可以在要设置变量的值周围使用双引号,以防它有空格,但这对于SET. 机器变量用-m选项设置;用户变量是默认值。Windows 7 有更多选项和使用,/而不是-.


Ƭᴇc*_*007 10

很有可能您更改的任何内容在您下次附加到域时(通过组策略或类似方式)都会被放回原处。

您是否考虑过询问您公司的 IT 人员,他们是否可以为您进行更改?

也许在笔记本电脑上创建一个本地用户以供在域外使用,这样您就不会等待这些慢速链接快捷方式,也不会试图绕过公司规定的域用户设置。

  • 不,这就是他们提供和控制计算机的工作的美妙之处。或者,它的美妙之处在于能够统一和集中管理一个充满公司计算机的网络,用户一直试图入侵,因为他们认为这是他们的。Windows 与您的老板决定您如何使用公司资源(笔记本、网络等)无关。;) (10认同)
  • 不,这就是生态系统的美妙之处,它让动力绊倒的猴子很容易扮演上帝,而无需关心或担心它如何影响生产力。 (5认同)
  • 这就是 Windows 的魅力所在。即使您是 root,也会有其他人决定您的操作系统将做什么。 (4认同)
  • 不,它能够高效地管理数百台计算机,而无需用户破坏一切,这也是您没有随处看到 Linux 或 Mac 桌面的原因之一。并非每个人都是现实商业世界中的超级用户。我们不是在谈论编码商店。 (3认同)

小智 10

在办公室外工作时 TortoiseGit 出现问题,网络驱动器未连接。

改变HOMEHOMEPATH无济于事!!

解决方案:

mkdir c:\home
net use g: /delete
subst g: c:\home
Run Code Online (Sandbox Code Playgroud)

g:网络驱动器在哪里。

 


Ter*_*nce 9

我在我的公司环境中遇到了类似的问题,并开发了各种 hacks 和 work-arounds。在我当前的设置中,域强制使用以下值:

set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username
Run Code Online (Sandbox Code Playgroud)

但是通过我的解决方法,生成的映射是:

HOMEDRIVE => G: => \\Server\Users\username => C:\Users\username
HOMESHARE       => \\Server\Users\username => C:\Users\username
Run Code Online (Sandbox Code Playgroud)

而其他服务器路径/驱动器映射转到远程服务器:

O: => \\Server\Example => \\Real_Server\Example
      \\Server\Example => \\Real_Server\Example
Run Code Online (Sandbox Code Playgroud)

这些仅在 Windows 7 中进行过测试,但我想如果您有 mklink 工具,它们也可以在 Windows XP 中运行。


小智 9

我知道我迟到了这个线程,但是当我的 IT 部门更改组策略并且我的 HOMEDRIVE 变为 M: 而不是 C: 时,我遇到了同样的问题,而 HOMEPATH 只是将“\”插入为“\Users \ [用户名]” ”。我查看了 Git 代码,发现仅当未​​定义 HOME 时它才使用 HOMEDRIVE/HOMEPATH 组合。

所以我只是将 HOME (幸运的是不在 GP 中)定义为“C:\Users \ [用户名]”,Git.gitconfig又找到了。

  • 谢谢,我在 git 上遇到了同样的问题(感谢我的 IT 部门......),现在我解决了! (2认同)
  • 这是 Windows 版 Git 最优雅的解决方法。简单,不改变任何系统设置,快速简单。即使设置诸如“HOMEDRIVE”和“HOMEPATH”之类的用户环境变量,对于 Windows 版的 Git 来说也无法解决问题。相反,为“HOME”设置一个用户环境变量,它就可以工作。 (2认同)