|
cjfcjf222
初级用户
积分 172
发帖 77
注册 2006-11-23
状态 离线
|
『楼 主』:
如何定位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文件去定位,然后自动导入你要导入的注册表值
|
|
2006-12-26 01:35 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
2 楼』:
定位的确切含义是什么?提取这个键值?请在CMD窗口下运行如下代码,然后把D盘下的test.txt内容张贴出来看看:
reg query hkey_users>d:\test.txt
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-12-26 01:49 |
|
|
everest79
金牌会员
一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第
3 楼』:
SID是具有唯一性的,在windows安装光盘的support/tool/support.cab里有whoami命令可以用来查阅本机SID对应关系
|
|
2006-12-26 02:49 |
|
|
cjfcjf222
初级用户
积分 172
发帖 77
注册 2006-11-23
状态 离线
|
『第
4 楼』:
定位的含义是这样的,比如我要将一注册表文件写入
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这样一个键值,然后才能导入
我问的就是怎么才能用注册表文件或者批处理文件正确知道每台电脑的这个键值,而正确导入注册表值
|
|
2006-12-26 09:45 |
|
|
cjfcjf222
初级用户
积分 172
发帖 77
注册 2006-11-23
状态 离线
|
『第
5 楼』:
有人回答吗,好象没有人来回答我的问题了吗
|
|
2006-12-28 04:44 |
|
|
everest79
金牌会员
一叶枝头,万树皆春
积分 2564
发帖 1127
注册 2006-12-25
状态 离线
|
『第
6 楼』:
你若只是修改当前用户账户的话,真接写入HKCU就行了,
例如全局用户策略之类的,你可以写入HKU\.default再新建账号
若是别的需要就得借助第三方工具,因为这些资料保存在HKLM\SAM下,默认是没有权限访问的(非system)
上边说的whoami.exe就是一个附助工具
还有第三方的如setacl.exe可以修改注册表权限,让你在命令行下访问SAM
|
|
2006-12-28 06:26 |
|
|
tao0610
高级用户
朦胧的世界
积分 579
发帖 218
注册 2006-10-24
状态 离线
|
『第
7 楼』:
reg query hku
|
认识自己,降伏自己,改变自己,才能改变别人! |
|
2006-12-28 06:39 |
|
|
cjfcjf222
初级用户
积分 172
发帖 77
注册 2006-11-23
状态 离线
|
『第
8 楼』:
是这样的,很多软件设置好后都会写在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高手,如何能做到自动写入这个位置的值,我想应该会有人知道的吧
|
|
2006-12-28 08:00 |
|
|
cjfcjf222
初级用户
积分 172
发帖 77
注册 2006-11-23
状态 离线
|
『第
9 楼』:
7楼所说的新建帐户大动干弋,我有时是发个软件给朋友,让对方安装后自己再点一下取出的注册表值,至于用第三方软件好象也不能知道这个键值的正确位置而写入吧,我查找了网上的资料,也找不到一个好的方法
|
|
2006-12-28 08:07 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
10 楼』:
这样的软件估计是用该值进行注册、加密之类的,除非你找软件的开发者(随机生成的估计找开发者也没用),否则别人是不知道变化值的,BAT高高手也没用。
|
|
2006-12-28 08:27 |
|
|
tao0610
高级用户
朦胧的世界
积分 579
发帖 218
注册 2006-10-24
状态 离线
|
『第
11 楼』:
reg query hku加FOR就可以了提取,也要有权限。
|
认识自己,降伏自己,改变自己,才能改变别人! |
|
2006-12-28 08:31 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
12 楼』:
楼上的兄弟,如果你明白了注册表的结构,那么你就不用那么费力的去想问题了。其实HKEY_USERS下的S-1-5-21-xxxx-500对应的就是HKEY_CURRENT_USER(当前用户)注册表项,所以你直接用这个项下的就不用定位了。
注册表中有很多交叉项目,如HKCR项对应的就是HKLM\SOFTWARE\CLASS下的内容.
|
|
2006-12-28 10:31 |
|
|
tao0610
高级用户
朦胧的世界
积分 579
发帖 218
注册 2006-10-24
状态 离线
|
『第
13 楼』:
MS是楼主要求定位HKEY_USERS键值
登陆时HKEY_CURRENT_USER会调用HKEY_USERS里的用户的预配置信息
但登陆的用户并不能保证是administrator.
好像楼主不是想对当前用户添加注册表项,而是确定RID:500
楼上所说的S-1-5-21-xxxx-500,修订级别和NT机构几乎可以是固定
但SA并不能确定是单机或者是域控,所以也应该加进domain号里
用reg query hku也并不复杂
@echo off
for /f "skip=6 tokens=5-9* delims=\-" %%a in ('reg query hku') do (
if %%e==500 set domain=%%a-%%b-%%c-%%d
)
echo DOMAIN: %domain%
echo 管理员SID: HKEY_USERS\S-1-5-%domain%-500
pause>nul
|
认识自己,降伏自己,改变自己,才能改变别人! |
|
2006-12-28 12:35 |
|
|
HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『第
14 楼』:
Quote: | 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。
|
|
2006-12-28 21:50 |
|