![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 17:45 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]用系统SID值替换注册表SID值 |
| 可打印版本 1,288 / 11 |
| 第1楼 hgx126 | 发表于 2008-09-13 00:33 |
| 初级用户 发帖 80 积分 100 | |
|
[求助]用系统SID值替换注册表SID值 我导出了一个注册表文件,以便我重装系统后快速恢复设置。可重装系统后,系统的SID值发生变化。我想从系统中获取SID值,再替换已经导出的注册表文件。
SID值即注册表中“HKEY_USERS\S-1-5-21-××××××××××-××××××××××-××××××××××-×××\”中的红色部分。 比如我导出的注册表文件为Win.reg,部份内容为: Windows Registry Editor Version 5.00 ; 2008-9-12 22:20:22 S-1-5-21-1409082233-1563985344-1417001333-500\Software\Microsoft\Windows\CurrentVersion\Explorer] "ShellState"=hex(03):24,00,00,00,35,ac,01,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,01,00,00,00,0d,00,00,00,00,00,00,00,00,00,00,00 S-1-5-21-1409082233-1563985344-1417001333-500\Software\Microsoft\Windows\CurrentVersion\Explorer\SmallIcons] "SmallIcons"="no" S-1-5-21-1409082233-1563985344-1417001333-500\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams] "Settings"=hex(03):08,00,00,00,04,00,00,00,01,00,00,00,00,77,7e,13,73,35,cf,\ 11,ae,69,08,00,2b,2e,12,62,04,00,00,00,01,00,00,00,43,00,00,00 我现在就是想编一个批处理,用系统中获取的SID值替换此注册表文件中的SID值(红色部分),然后导入系统。求高手帮忙。 [ Last edited by hgx126 on 2008-9-13 at 12:37 AM ] |
|
| 第2楼 s11ss | 发表于 2008-09-13 01:50 |
| 银牌会员 发帖 566 积分 2,098 | |
|
|
|
| 第3楼 hgx126 | 发表于 2008-09-13 09:57 |
| 初级用户 发帖 80 积分 100 | |
|
首先感谢S11SS.
不过我要是SID2从系统中获取,不是0-0-0-0-0-0-0-0.还求帮忙. |
|
| 第4楼 HAT | 发表于 2008-09-13 10:05 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 3楼 |
|
| 第5楼 hgx126 | 发表于 2008-09-13 13:06 |
| 初级用户 发帖 80 积分 100 | |
|
谢谢两位。
我综合两位的,结果如下: @echo off @set SID=S-1-5-21-1409082233-1563985344-1417001333-500 @set reg=win.reg @for /f "tokens=2 delims=\" %%a in ('reg query HKEY_USERS^|findstr /i "S-1-5-21-"') do ( set sid2=%%a goto :show ) goto :eof :show set reg2=win2.reg @for /f "delims=" %%a in (%reg%) do @set s=%%a&call echo %%s:%SID%=%SID2%%%>>%reg2% regedit /s win2.reg del win2.reg 终于达到我要的效果。 我还有一个想法(不要嫌我太婆婆妈妈哈^-^): 同一目录下,有好几个注册表文件,类似于win.reg,其中也有SID值(S-1-5-21-1409082233-1563985344-1417001333-500),想批量替换成系统中的SID值后导入注册表,能否? |
|
| 第6楼 HAT | 发表于 2008-09-13 14:17 |
| 版主 发帖 5,017 积分 9,023 | |
| 第7楼 hgx126 | 发表于 2008-09-13 15:07 |
| 初级用户 发帖 80 积分 100 | |
|
衷心感谢,学习ing!!!
[ Last edited by hgx126 on 2008-9-16 at 11:07 PM ] |
|
| 第8楼 hgx126 | 发表于 2008-09-16 23:09 |
| 初级用户 发帖 80 积分 100 | |
|
不知为什么,用我5楼的批处理有时候又替换不成功?
[ Last edited by hgx126 on 2008-9-16 at 11:10 PM ] |
|
| 第9楼 HAT | 发表于 2008-09-16 23:14 |
| 版主 发帖 5,017 积分 9,023 | |
|
哪个时候替换不成功?举个例子出来看看?
|
|
| 第10楼 hgx126 | 发表于 2008-09-16 23:58 |
| 初级用户 发帖 80 积分 100 | |
|
Windows Registry Editor Version 5.00
; 2006-1-11 19:07:50 - 2006-1-11 19:13:27 ;比较于 \HKEY_USERS [HKEY_USERS\S-1-5-21-1409082233-1563985344-1417001333-500\Printers\DevModePerUser] [HKEY_USERS\S-1-5-21-1409082233-1563985344-1417001333-500\Software\Microsoft\Office\11.0\Common\BaseSuite] "1EBDE4BC9A514630B5412561FA45CCC5"=dword:00000001 [HKEY_USERS\S-1-5-21-1409082233-1563985344-1417001333-500\Software\Microsoft\Office\11.0\Common\DrawAlerts] [HKEY_USERS\S-1-5-21-1409082233-1563985344-1417001333-500\Software\Microsoft\Office\11.0\Common\DrawAlerts\FTP Sites] [HKEY_USERS\S-1-5-21-1409082233-1563985344-1417001333-500\Software\Microsoft\Office\11.0\Common\Internet] "UseOnlineContent"=dword:00000002 |
|
| 第11楼 HAT | 发表于 2008-09-17 00:18 |
| 版主 发帖 5,017 积分 9,023 | |
| 第12楼 pusofalse | 发表于 2008-09-17 00:36 |
| 银牌会员 发帖 646 积分 1,604 | |
|
getsid/?
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |