获取广告组过滤器 "SID -like '*-512'"
get-adgroup -filter "SID -like '*-512'"
我一直想弄清楚如何使用-filter
得到我想要的东西。我想做的是通过 *-512
的 -like
语句针对 SID 属性 使用以下语句找到 Domain Admins
组:
get-adgroup -filter "SID -like '*-512'"
如果我输入实际的 SID 就可以了
get-adgroup -filter "SID -eq 'S-1-5-21domain-512'"
我知道这样做会奏效
get-adgroup -filter * | ? {$_.SID -like '*-512'}
如目录中的, you cannot partially filter on SIDs in LDAP queries, because of the way SID values are stored。您看到的 SID 字符串是底层字节数组的 SDDL 表示。
我假设您尝试与众所周知的 RID 进行通配符匹配的动机是您事先不知道域 SID。您可以使用 Get-ADDomain
cmdlet 轻松获得它:
$DomainSID = (Get-ADDomain).DomainSID
$DomainAdminsSid = New-Object System.Security.Principal.SecurityIdentifier ([System.Security.Principal.WellKnownSidType]::AccountDomainAdminsSid,$DomainSID)
Get-ADGroup -Filter {SID -eq $DomainAdminsSid}
我一直想弄清楚如何使用-filter
得到我想要的东西。我想做的是通过 *-512
的 -like
语句针对 SID 属性 使用以下语句找到 Domain Admins
组:
get-adgroup -filter "SID -like '*-512'"
如果我输入实际的 SID 就可以了
get-adgroup -filter "SID -eq 'S-1-5-21domain-512'"
我知道这样做会奏效
get-adgroup -filter * | ? {$_.SID -like '*-512'}
如目录中的
我假设您尝试与众所周知的 RID 进行通配符匹配的动机是您事先不知道域 SID。您可以使用 Get-ADDomain
cmdlet 轻松获得它:
$DomainSID = (Get-ADDomain).DomainSID
$DomainAdminsSid = New-Object System.Security.Principal.SecurityIdentifier ([System.Security.Principal.WellKnownSidType]::AccountDomainAdminsSid,$DomainSID)
Get-ADGroup -Filter {SID -eq $DomainAdminsSid}