找回密码
 加入
搜索
查看: 3103|回复: 6

[系统综合] [已解决]注册表的特殊键值怎么正确获取

  [复制链接]
发表于 2014-4-24 10:43:33 | 显示全部楼层 |阅读模式
本帖最后由 qq1244521 于 2014-5-30 15:05 编辑

注册表键值:
HKEY_USERS\S-1-5-21-3827369595-2479336200-1576430648-500\
这个注册表在换系统的时候S-1-5-21-3827369595-2479336200-1576430648-500数字的号码会变
我现在的临时解决办法是获取一个相同名字的文件夹
C:\Users\Administrator\AppData\Roaming\Microsoft\Crypto\RSA\S-1-5-21-3827369595-2479336200-1576430648-500

有没有更准确 更好的办法
发表于 2014-4-24 10:55:03 | 显示全部楼层
API可以获取,具体代码是
#Include <Security.au3>
#include <array.au3>
$array=_Security__LookupAccountName("Administrator")
_ArrayDisplay($array)
发表于 2014-4-24 10:56:34 | 显示全部楼层
For $i = 1 To 6
    Local $var = RegEnumKey("HKEY_USERS\", $i)
    If @error <> 0 Then ExitLoop
    If  StringRegExp($var,"S-1-5-21-\d{2,}-\d{2,}-\d{2,}-\d{2,}$") Then
        MsgBox(4096, $i, $var)
    EndIf
Next
发表于 2014-4-29 22:53:30 | 显示全部楼层
学习了,感谢!
发表于 2014-4-30 21:36:43 | 显示全部楼层
CMD命令行
for /f "tokens=3 delims=_" %%i in ('REG QUERY HKEY_USERS^|findstr S-1-5-21') do set sid=%%i
发表于 2014-4-30 21:37:59 | 显示全部楼层
$wshNetwork = ObjCreate("WScript.Network")
$objWMIService = ObjGet("winmgmts:\\.\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_Account")
For $objItem In $colItems
        If $objItem.Name = $wshNetwork.UserName Then
                $SID = $objItem.SID
        EndIf
Next
 楼主| 发表于 2014-5-30 15:04:46 | 显示全部楼层
回复 2# 虫子樱桃


    谢谢 樱桃 谢谢大家
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-30 03:14 , Processed in 0.072937 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表