如何从命令行更改regedit注册表?

时间:2017-03-31 13:20:29

标签: batch-file registry regedit

我正在使用" D:\ users"我的域用户的profilePath。当我改变我的" systemdrive"使用新的Windows映像,域用户可以创建新的配置文件,例如" D:\ Users \ old.DNS"。

我想使用旧的profilepath,但我找不到任何方法来告诉Windows"使用现有的配置文件"。因此,我需要从regedit更改配置文件路径!

我试着写一些东西,但我不知道如何修改注册表只有更改" dnsname"。

因为每台机器的用户名都不同,并且不同公司的DNS名称也可能不同。

我带着用户sid

set sid=wmic useraccount where name='%username%' get sid

%sid%

然后我需要使用用户名并从中删除.DNS,但我不知道我该怎么做。 我可以写一些喜欢"删除"。" "点"批量生产?

1 个答案:

答案 0 :(得分:0)

我找到了自己,这个脚本需要管理员权限。

::get usersid first
for /F "tokens=2" %%i in ('whoami /user /fo table /nh') do set usersid=%%i

::get userpath
for /F "tokens=3" %%i in ('reg QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%usersid%" /v "ProfileImagePath"') do set oldpath=%%i

::delete after "."
for /f "tokens=1 delims=." %%a in ('echo %oldpath%') do set newpath=%%a

::update the reg with new path
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%usersid%" /v "ProfileImagePath" /t REG_EXPAND_SZ /d "%newpath%" /f

echo EVERYTHING OKAY MATE!
pause