Fan*_*Fox 18 windows cmd environment-variables
我找到了一种方法来更改用户的默认主目录,但我遇到了问题.



这样做会将主驱动器更改为C:
但是当我检查环境变量时:

它仍然是H :,系统重启时,Windows设置中的Enviroment变量也将返回H:/
我也尝试过这样更改:

这似乎工作,但如果我打开一个新的cmd它将恢复为H:/
现在我试图这样做,以便OpenSSH将C识别为我的主目录而不是H:这是一个网络驱动器,迫使OpenSSH无法工作,除非我通过VPN连接到我的大学网络.
我可以做些什么来永久地设置这个并且在OpenSSH的眼中?
joo*_*cer 11
它没有提到HOMEDRIVE值和HOMEDIRECTORY值之间的依赖关系,发生了什么(我认为)是它未能将主目录映射到HOMEDRIVE,因此默认返回到安全值(C :)
我写了一个脚本来更新本地AD,用你的值替换[]中的值.复制并粘贴到.vbs文件中,然后双击它以运行它.
Set objUser = GetObject("WinNT://[COMPUTERNAME]/[USERNAME],user")
objUser.homeDirDrive = "H:"
objUser.HomeDirectory = "[URNPATH]"
objUser.SetInfo
Run Code Online (Sandbox Code Playgroud)
例如
Set objUser = GetObject("WinNT://UQBDART-2328/BEN,user")
objUser.homeDirDrive = "H:"
objUser.HomeDirectory = "\\SERVER\SHARE"
objUser.SetInfo
Run Code Online (Sandbox Code Playgroud)
运行它,重新启动并测试.它对我有用.
听起来像域上的AD配置文件正在覆盖用户定义的变量.我看到您的屏幕截图显示您已连接到eait.org.edu.au域.那将是你问题的根源.只是在这里包含我在其他地方发现的一些细节,这可能对你有所帮助:
通过Active Directory设置和更新HOMEDRIVE,HOMEPATH和HOMESHARE.HOMEDRIVE&HOMEPATH即使没有在帐户上设置家用驱动器也可以设置; 但是,它们将被AD中设置的任何用户帐户属性覆盖.
另请参阅这些知识库文章:
http://support.microsoft.com/kb/841343
http://support.microsoft.com/kb/237566
http://support.microsoft.com/kb/101507
Run Code Online (Sandbox Code Playgroud)
关于问题的另一种解决方法:
- 我在过去创建一个自动运行的自定义脚本的Windows命令行shell执行的新实例,所以每次你启动外壳,环境变量可以被覆盖.
- 要做到这一点,您可以将您发布的代码更改为环境变量,将其更改为批处理脚本,存储在您喜欢的任何位置,然后通过转到属性>然后更改目标框来编辑用于启动shell的快捷方式: %SystemRoot%\ system32\cmd.exe/K"C:\ Documents and Settings\Administrator\My Documents\customshellscript.cmd"(显然,/ K之后的路径部分是自定义脚本的位置)
这样,如果您在控制台上使用openSSH,它将始终正确设置homedrive.
| 归档时间: |
|
| 查看次数: |
44213 次 |
| 最近记录: |