如何查询
SID
及根据
SID
反查对应的账户
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1
、
PsGetSid
PsGetSid 是 PsTools 工具集中,由 sysinternals 发布,目前的最新版本是 2.44 。个人感觉 sysinternals 的工具功能非常强大也非常好用,如果用好这些工具工作效率大为提高。
下载地址: http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx
PsGetSid 是 PsTools 工具集中,由 sysinternals 发布,目前的最新版本是 2.44 。个人感觉 sysinternals 的工具功能非常强大也非常好用,如果用好这些工具工作效率大为提高。
下载地址: http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx
下面是使用
psgetsid
查询
sid
实例
C:\Documents and Settings\psyadmin>psgetsid /?
C:\Documents and Settings\psyadmin>psgetsid /?
查询本机
sid
C:\Documents and Settings\psyadmin>psgetsid
C:\Documents and Settings\psyadmin>psgetsid
查询
SID
对应的主机名
C:\Documents and Settings\psyadmin>psgetsid S-1-5-21-1665000383-1530267105-35274
31458
C:\Documents and Settings\psyadmin>psgetsid S-1-5-21-1665000383-1530267105-35274
31458
查询网络主机
SID
C:\Documents and Settings\psyadmin>psgetsid \\192.168.0.78 -u psyadmin
PsGetSid v1.43 - Translates SIDs to names and vice versa
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Password:
SID for \\192.168.0.78:
S-1-5-21-1214440339-2139871995-839522115
对方主机防火墙关闭文件和打印机共享,不能连接 135 端口导致找不到网络路径
C:\Documents and Settings\psyadmin>psgetsid \\192.168.0.76 -u psyadmin
PsGetSid v1.43 - Translates SIDs to names and vice versa
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Password:
Couldn't access 192.168.0.76:
找不到网络路径。
Make sure that the default admin$ share is enabled on 192.168.0.76.
查询本地用户 SID
C:\Documents and Settings\psyadmin>psgetsid admin
PsGetSid v1.43 - Translates SIDs to names and vice versa
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
SID for BEACON\admin:
S-1-5-21-1665000383-1530267105-3527431458-1625
2 、whoami
使用whoami查询
C:\Documents and Settings\Administrator>whoami /all
3、dsget user
在域控制器上可以用dsget user查看用户的属性信息,但是dsget user需要写全ldap路径,个人比较懒还是用图形界面看比较方便,呵呵。通过dsget user查询到的SID与psgetsid和acctinfo查询到的一致。
C:\Documents and Settings\psyadmin>dsget user "CN=admin,OU=domainadmins,DC=beacon,DC=local" -sid
sid
S-1-5-21-1665000383-1530267105-3527431458-1625
dsget 成功
4 、使用脚本查询SID
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objAccount = objWMIService.Get _
("Win32_UserAccount.Name='administrator',Domain='pc0406-09'")
Wscript.Echo objAccount.SID
'("Win32_UserAccount.Name='admin',Domain='beacon'")-- 查看域 beacon.com 用户 admin 的 SID 号,该 script 只能在 beacon.com 域内主机上运行。
'("Win32_UserAccount.Name='administrator',Domain='pc0406-09'")-- 查看工作组环境下主机 pc0406-09 上用户 administrator 的 SID 号。
C:\Documents and Settings\psyadmin>psgetsid \\192.168.0.78 -u psyadmin
PsGetSid v1.43 - Translates SIDs to names and vice versa
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Password:
SID for \\192.168.0.78:
S-1-5-21-1214440339-2139871995-839522115
对方主机防火墙关闭文件和打印机共享,不能连接 135 端口导致找不到网络路径
C:\Documents and Settings\psyadmin>psgetsid \\192.168.0.76 -u psyadmin
PsGetSid v1.43 - Translates SIDs to names and vice versa
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Password:
Couldn't access 192.168.0.76:
找不到网络路径。
Make sure that the default admin$ share is enabled on 192.168.0.76.
查询本地用户 SID
C:\Documents and Settings\psyadmin>psgetsid admin
PsGetSid v1.43 - Translates SIDs to names and vice versa
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
SID for BEACON\admin:
S-1-5-21-1665000383-1530267105-3527431458-1625
2 、whoami
使用whoami查询
C:\Documents and Settings\Administrator>whoami /all
3、dsget user
在域控制器上可以用dsget user查看用户的属性信息,但是dsget user需要写全ldap路径,个人比较懒还是用图形界面看比较方便,呵呵。通过dsget user查询到的SID与psgetsid和acctinfo查询到的一致。
C:\Documents and Settings\psyadmin>dsget user "CN=admin,OU=domainadmins,DC=beacon,DC=local" -sid
sid
S-1-5-21-1665000383-1530267105-3527431458-1625
dsget 成功
4 、使用脚本查询SID
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objAccount = objWMIService.Get _
("Win32_UserAccount.Name='administrator',Domain='pc0406-09'")
Wscript.Echo objAccount.SID
'("Win32_UserAccount.Name='admin',Domain='beacon'")-- 查看域 beacon.com 用户 admin 的 SID 号,该 script 只能在 beacon.com 域内主机上运行。
'("Win32_UserAccount.Name='administrator',Domain='pc0406-09'")-- 查看工作组环境下主机 pc0406-09 上用户 administrator 的 SID 号。
5
、使用脚本根据SID查询对应的账户
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objAccount = objWMIService.Get("Win32_SID.SID='S-1-5-21-2745346487-1701105897-3911078134-1583'")
Wscript.Echo objAccount.AccountName
Wscript.Echo objAccount.ReferencedDomainName
转载于:https://blog.51cto.com/larryhung/910384