中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 21:37
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何定位HKEY_USERS键值
可打印版本  1,433 / 13
第1楼 cjfcjf222 发表于 2006-12-26 01:35
初级用户 发帖 77 积分 172
如何定位HKEY_USERS键值
请问:

如何定位HKEY_USERS键值下的如
HKEY_USERS\S-1-5-21-4246131455-3754887585-4005065376-500
此值的位置,
XP中S-1-5-21-4246131455-3754887585-4005065376-500这个值是随机的,每台计算机都不一样,如何用REG文件去定位,或者用BAT文件去定位,然后自动导入你要导入的注册表值
第2楼 namejm 发表于 2006-12-26 01:49
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  定位的确切含义是什么?提取这个键值?请在CMD窗口下运行如下代码,然后把D盘下的test.txt内容张贴出来看看:
第3楼 everest79 发表于 2006-12-26 02:49
金牌会员 发帖 1,127 积分 2,564
SID是具有唯一性的,在windows安装光盘的support/tool/support.cab里有whoami命令可以用来查阅本机SID对应关系
第4楼 cjfcjf222 发表于 2006-12-26 09:45
初级用户 发帖 77 积分 172
定位的含义是这样的,比如我要将一注册表文件写入
HKEY_USERS\S-1-5-21-4246131455-3754887585-4005065376-500\Printers下
但是因为S-1-5-21-4246131455-3754887585-4005065376-500,这个是当前用户的注册键值,每个电脑也不一样,XP系统是随机变化的,至使要将键值写入,只能用手工的方法打开而无法用导入注册表文件的方法导入,我的意思就是说如何在不打开注册表的情况下将HKEY_USERS\S-1-5-21-4246131455-3754887585-4005065376-500\Printers这样一个键值写入此注册表中,这就关联到如何自动取得S-1-5-21-4246131455-3754887585-4005065376-500这样一个键值,然后才能导入
我问的就是怎么才能用注册表文件或者批处理文件正确知道每台电脑的这个键值,而正确导入注册表值
第5楼 cjfcjf222 发表于 2006-12-28 04:44
初级用户 发帖 77 积分 172
有人回答吗,好象没有人来回答我的问题了吗
第6楼 everest79 发表于 2006-12-28 06:26
金牌会员 发帖 1,127 积分 2,564
你若只是修改当前用户账户的话,真接写入HKCU就行了,
例如全局用户策略之类的,你可以写入HKU\.default再新建账号
若是别的需要就得借助第三方工具,因为这些资料保存在HKLM\SAM下,默认是没有权限访问的(非system)
上边说的whoami.exe就是一个附助工具
还有第三方的如setacl.exe可以修改注册表权限,让你在命令行下访问SAM
第7楼 tao0610 发表于 2006-12-28 06:39
高级用户 发帖 218 积分 579
第8楼 cjfcjf222 发表于 2006-12-28 08:00
初级用户 发帖 77 积分 172
是这样的,很多软件设置好后都会写在HKEY_USERS\S-1-5-21-4246131455-3754887585-4005065376-500键值下,而我一般设置好后提取设置的键值,以便给别人安装的时候不用再去重新设置.省得浪费时间,有时还会忘了那项设置,但是在HKEY_USERS\S-1-5-21-4246131455-3754887585-4005065376-500里因为每台电脑的S-1-5-21-4246131455-3754887585-4005065376-500值或重装一次这个值也不一样,这样就产生了每次都要去重复一样的做法,很是烦.在2000里OwnerSID值是可以定位和写入的,只是自动取出这个值然后调用这串字符自动写入注册表到S-1-5-21-4246131455-3754887585-4005065376-500当前用户值里,但是XP里的定位却多了几个字符,无法能正确的借用.
各位都是BAT高手,如何能做到自动写入这个位置的值,我想应该会有人知道的吧
第9楼 cjfcjf222 发表于 2006-12-28 08:07
初级用户 发帖 77 积分 172
7楼所说的新建帐户大动干弋,我有时是发个软件给朋友,让对方安装后自己再点一下取出的注册表值,至于用第三方软件好象也不能知道这个键值的正确位置而写入吧,我查找了网上的资料,也找不到一个好的方法
第10楼 zh159 发表于 2006-12-28 08:27
金牌会员 发帖 1,467 积分 3,687
这样的软件估计是用该值进行注册、加密之类的,除非你找软件的开发者(随机生成的估计找开发者也没用),否则别人是不知道变化值的,BAT高高手也没用。
第11楼 tao0610 发表于 2006-12-28 08:31
高级用户 发帖 218 积分 579
reg query hku加FOR就可以了提取,也要有权限。
第12楼 HUNRYBECKY 发表于 2006-12-28 10:31
银牌会员 发帖 442 积分 1,179
楼上的兄弟,如果你明白了注册表的结构,那么你就不用那么费力的去想问题了。其实HKEY_USERS下的S-1-5-21-xxxx-500对应的就是HKEY_CURRENT_USER(当前用户)注册表项,所以你直接用这个项下的就不用定位了。
注册表中有很多交叉项目,如HKCR项对应的就是HKLM\SOFTWARE\CLASS下的内容.
第13楼 tao0610 发表于 2006-12-28 12:35
高级用户 发帖 218 积分 579
MS是楼主要求定位HKEY_USERS键值
登陆时HKEY_CURRENT_USER会调用HKEY_USERS里的用户的预配置信息
但登陆的用户并不能保证是administrator.
好像楼主不是想对当前用户添加注册表项,而是确定RID:500
楼上所说的S-1-5-21-xxxx-500,修订级别和NT机构几乎可以是固定
但SA并不能确定是单机或者是域控,所以也应该加进domain号里
用reg query hku也并不复杂

第14楼 HUNRYBECKY 发表于 2006-12-28 21:50
银牌会员 发帖 442 积分 1,179
Originally posted by tao0610 at 2006-12-28 12:35:
MS是楼主要求定位HKEY_USERS键值
登陆时HKEY_CURRENT_USER会调用HKEY_USERS里的用户的预配置信息
但登陆的用户并不能保证是administrator.
好像楼主不是想对当堮..



恩,我一直用FOR语句用的不是很好,也想到用REG QUERY来查询,谢谢楼主。其实一般而言DOMAIN都是本机,所以如果是做软件方便的注册表导入导出一般都只针对HKCU和HKLM就可以了,并不会操作HKU下的东西。根据楼主的意思好象是操作软件的注册信息,所以可以只使用HKCU代替HKU。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023