我们的用户有时会给我们拼写错误的名称/用户名,我希望能够在事件目录中搜索最接近的匹配项,按最接近的顺序排序(任何算法都可以)。 例如,如果我尝试
Get-Aduser -Filter {GivenName -like "Jack"}
我可以找到用户 Jack,但如果我使用“Jacck”或“ack”则找不到
有没有简单的方法可以做到这一点?
最佳答案
你可以计算出Levenshtein distance在两个字符串之间并确保它在某个阈值以下(可能是 1 或 2)。这里有一个 powershell 示例: Levenshtein distance in powershell
例子:
- Jack 和 Jacck 的 LD 为 1。
- Jack 和 ack 的 LD 为 1。
- Palle 和 Havnefoged 的 LD 为 8。
关于powershell - Active Directory/Powershell 中名称和/或用户名的部分/接近匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49510873/