gpt4 book ai didi

.net - 如何在 PowerShell 中将 SID 转换为帐户名?

转载 作者:行者123 更新时间:2023-12-04 21:53:53 26 4
gpt4 key购买 nike

这个问题的灵感来自 this similar question使用 C# 标记。如果我有一个 Windows SID,并想将其转换为可读的帐户名,我如何使用 PowerShell 而不是 C# 来实现这一点?

现在,我有以下代码,它检索当前登录用户帐户的组成员身份:

$Identity = [System.Security.Principal.WindowsIdentity]::GetCurrent();
$Identity.Groups;
Groups的结果属性没有给我任何帐户名,只有 SID。如果我从 Groups 输出管道属性到 PowerShell 的 Get-Member cmdlet,我可以看到生成的对象是 System.Security.Principal.SecurityIdentifier对象。然而,看着 the documentation (和 Intellisense)用于 Groups属性显示它正在返回 IdentityReferenceCollection目的。

我如何转换这些 SecurityIdentifier对象转换为专有名称?

最佳答案

将 SID 解析为帐户名称的一种方法是使用 Win32_SID 类(class):

PS C:\> $sid = 'S-1-5-18'
PS C:\> [wmi]"Win32_SID.SID='$sid'"


__GENUS : 2
__CLASS : Win32_SID
__SUPERCLASS :
__DYNASTY : Win32_SID
__RELPATH : Win32_SID.SID="S-1-5-18"
__PROPERTY_COUNT : 5
__DERIVATION : {}
__SERVER : CARBON
__NAMESPACE : root\cimv2
__PATH : \\CARBON\root\cimv2:Win32_SID.SID="S-1-5-18"
AccountName : SYSTEM
BinaryRepresentation : {1, 1, 0, 0...}
ReferencedDomainName : NT-AUTHORITY
SID : S-1-5-18
SidLength : 12
PSComputerName : CARBON

关于.net - 如何在 PowerShell 中将 SID 转换为帐户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22331668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com