PowerShell 技能连载 - 将用户名转换为 SID

以下代码演示了如何查找一个用户名的 SID:

1
2
$domain = 'MyDomain'
$username = 'User01'
1
2
3
$sid = (New-Object Security.Principal.NTAccount($domain, $username)).Translate([Security.Principal.SecurityIdentifier]).Value

$sid

只需要确保正确地调整了域名和用户名。如果您需要查看本地用户的 SID,只需要将域名设置为本地计算机的名称。

1
2
3
4
5
$username = 'Administrator'

$sid = (New-Object Security.Principal.NTAccount($env:computername, $username)).Translate([Security.Principal.SecurityIdentifier]).Value

$sid

这在 PowerShell 5 中更简单,因为有一个新的 Get-LocalUser cmdlet:

1
2
3
4
5
6
7
8
PS C:\> Get-LocalUser | Select-Object -Property Name, Sid

Name SID
---- ---
Administrator S-1-5-21-2951074159-1791007430-3873049619-500
CCIE S-1-5-21-2951074159-1791007430-3873049619-1000
DefaultAccount S-1-5-21-2951074159-1791007430-3873049619-503
Guest S-1-5-21-2951074159-1791007430-3873049619-501

PowerShell 技能连载 - 将用户名转换为 SID

http://blog.vichamp.com/2017/12/14/converting-user-name-to-sid/

作者

吴波

发布于

2017-12-14

更新于

2022-07-06

许可协议

评论