Active Directory - ß 与 ss

Active Directory - ß 与 ss

我正在尝试统一streetaddress我们用户的属性。在德语中,该字符ß也可以表示为ss

有些用户有Examplestraßeasstreetaddress值,而其他用户有Examplestrasse

我正在尝试列出所有用户Examplestraße(请注意ß),但这似乎是不可能的:

Get-ADUser -server domain.example.com -properties StreetAddress -filter "Streetaddress -eq 'Examplestraße'" 

这将列出具有ssß属性的用户。同一问题会影响 AD 用户和组的“查找”功能。

如果我尝试过滤列,Excel 也会这样做。这让我很抓狂。我该如何强制“严格”匹配这些字符?

答案1

虽然过滤器Get-ADUser -Filter看起来像 PowerShell 语法,但其内部被转换为 LDAP 过滤器。据我所知,Active Directory 中的 LDAP 实现不支持任何常见的“可扩展匹配”规则,这些规则允许覆盖服务器端 LDAP 过滤器的行为(无论如何您都无法通过 Get-ADUser 使用它)。

因此,你必须首先获取服务器提供的内容,然后应用当地的PowerShell 过滤器可进一步缩小范围:

Get-ADUser -Filter "StreetAddress -eq 'Examplestraße'" | `
    Where-Object { $_.StreetAddress -eq "Examplestraße" }

这是第二个-eq 由 PowerShell 本地完成,并且是“愚蠢”的字符串比较,因此它不会匹配strasse

相关内容