这个问题的灵感来自于使用C#标签的相似问题。如果我有一个Windows SID,并想将其转换为可读的账户名,我该如何使用PowerShell实现而非C#?
现在,我有以下代码,它检索当前登录用户账户的组成员身份:
那我该如何将这些
现在,我有以下代码,它检索当前登录用户账户的组成员身份:
$Identity = [System.Security.Principal.WindowsIdentity]::GetCurrent();
$Identity.Groups;
Groups
属性的结果只会返回SIDs,而不是任何账户名称。如果我将Groups
属性的输出导入PowerShell的Get-Member
命令中,我可以看到产生的对象是System.Security.Principal.SecurityIdentifier
对象。但是,在查看Groups
属性的文档(和Intellisense)时,显示它返回的是一个IdentityReferenceCollection
对象。那我该如何将这些
SecurityIdentifier
对象转换成适当的名称呢?