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


40

我有一台笔记本电脑,该笔记本电脑配置为将用户配置文件放在网络驱动器中。由于与公司的连接速度非常慢,这使我头疼不已。我想将用户的个人资料重新定位到本地目录中。我怎么做?

这些是目前的设置:

C:\>set HOME
HOMEDRIVE=P:
HOMEPATH=\
HOMESHARE=\\SOMESERVER\_myuser$

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

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

便携式计算机正在运行Windows XP。

Answers:


27

我有一个类似的问题,这导致了msysgit的问题。这是我使用的解决方案,它一定对我有用。这个答案是类似这样那个 SO职务。

  1. 如果您使用的是Windows 7,则可以跳过此步骤。如果您使用的是Windows XP,请下载并安装Windows XP Service Pack 2支持工具,其中包含SETXSS64technet中介绍的实用程序,可用于设置永久性系统和用户变量。您必须具有管理权限才能设置全局系统变量。基本用法是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%"
    

注意: SETX变量是永久性的,但是直到脚本运行后才可用,因此可用于SET在脚本中创建临时变量。如果变量有空格,也要在您想要将变量设置为的值周围使用双引号,但这不是必需的SET。机器变量通过-m选项设置。用户变量是默认值。Windows 7有更多选项和用途,/而不是Windows 7 -


9

您所做的更改很有可能会在您下次附加到域时(通过组策略等)被撤回。

您是否考虑过询问公司的IT人员是否可以为您改变这种情况?

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


3
那就是Windows的美。即使您是root用户,其他人也可以决定您的OS会做什么。
Luigi R. Viggiano

9
不,那是他们提供和控制计算机的工作之美。或能够统一并集中管理充满公司计算机的网络之美,因为用户认为这是他们自己的,因此用户一直试图对其进行攻击。Windows与老板决定如何使用公司资源(笔记本,网络等)无关。;)
Ƭᴇcʜιᴇ0072011年

3
没错,这就是生态系统的美,它使跳闸的猴子可以轻松地扮演上帝,而无需关心或担心它如何影响生产力。
nathanchere 2015年

2
不,这是一种高效管理数百台计算机的能力,而无需用户破坏所有内容,这是为什么您到处都看不到Linux或Mac桌面的原因之一。在现实世界中,并非每个人都是超级用户。我们不是在谈论编码商店。
艾伦B

9

在公司环境中,我遇到了类似的问题,并且开发了各种技巧和解决方法。在我当前的设置中,以下值是域强制的:

set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username

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

HOMEDRIVE => G: => \\Server\Users\username => C:\Users\username
HOMESHARE       => \\Server\Users\username => C:\Users\username

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

O: => \\Server\Example => \\Real_Server\Example
      \\Server\Example => \\Real_Server\Example

这些仅在Windows 7中经过测试,但是我想如果您拥有mklink工具,它们也将在Windows XP中工作。


谢谢你的建议;最后,我设法使某些程序(如Java应用程序,mingw等)使用其他主文件夹;我必须配置或破解这些应用程序才能欺骗它们,但它确实有效。我现在离开了公司,因此无法验证您的解决方案是否适用于我的案子,但是当我发布此问题时,我希望得到您的帮助。
Luigi R. Viggiano

8

外出工作时(未连接网络驱动器),TortoiseGit会出现问题。

变化HOMEHOMEPATH无济于事!!

解:

mkdir c:\home
net use g: /delete
subst g: c:\home

g:网络驱动器在哪里。

 


杜德,你是我的英雄。
Chad Schouggins '18

4

它们位于高级系统属性中。在Vista / Win 7上:

  1. 右键单击“我的电脑”
  2. 选择“属性”
  3. 选择“高级系统设置”(窗口左侧的链接)
  4. 选择“高级”(标签)
  5. 选择“环境变量”(按钮)

2
谢谢,但是笔记本电脑正在运行Windows XP(我对此问题进行了更新)。这些变量在系统设置中不可见也不可编辑。
Luigi R. Viggiano

2
其中一些仅存在于环境中以提供信息,并在其他位置设置/存储。HOMEDRIVE / HOMEPATH是在“用户和帐户”中的帐户配置中设置的主目录。尝试运行“ lusrmgr.msc”(本地用户和组管理器)。某些高级路径设置是通过该方法进行管理的。

1
不幸的是,我的用户是域用户(不是本地用户),因此未在本地用户和组管理器中列出。
Luigi R. Viggiano

1
然后,您必须在域控制器上对它进行修改,这是为域帐户保留这些内容的地方。另一种选择是仅在本地访问时使用本地帐户访问该域帐户的文件

谢谢,我将检查(域控制器)。在Wikipedia上找到:en.wikipedia.org/wiki/Domain_controller
Luigi R. Viggiano

0

我知道我迟到了该线程,但是当我的IT部门更改了组策略并且HOMEDRIVE变成M:时,我遇到了同样的问题:代替C:和HOMEPATH只是将“ \”插入了“ \ Users \ [username] ”。我查看了Git代码,发现只有在未定义HOME的情况下,它才使用HOMEDRIVE / HOMEPATH组合。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.