powershell - Active Directory/Powershell 中名称和/或用户名的部分/接近匹配

标签 powershell active-directory

我们的用户有时会给我们拼写错误的名称/用户名,我希望能够在事件目录中搜索最接近的匹配项,按最接近的顺序排序(任何算法都可以)。 例如,如果我尝试

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/

相关文章:

authentication - IIS 匿名用户身份验证不适用于 AD 凭据

带有值表达式的 Powershell Add-Member

c# - 如何在 Windows 窗体应用程序中运行 PowerShell 命令?

powershell - 动态向Powershell cmdlet添加参数

azure - 尝试清理我制作的 PS 脚本

java - 浏览器不断发送 NTLM token 而不是 Kerberos - 如何解决?

c++ - 为什么我的 Active Directory 密码过滤器 DLL 中的用户名以 $ 结尾?

c# - 列出所有 Active Directory 组

powershell - 如何在NuGet PowerShell安装中从项目中删除和删除文件夹?

Azure PS 查询获取特定于给定资源组注册的资源提供程序