powershell - 在 Powershell Get-ADUser 查询中过滤具有未知数量的前导零的扩展属性
问题描述
我正在尝试通过 EmployeeID 匹配我的 AD 中的用户。问题是有些用户的前面有零,有些则没有。例如,有些用户是 001234,而其他用户是 01234 或 1234,所以我不能使用“eq”比较。是否有一个合理的查询我可以用来过滤这个而没有任何不匹配?我尝试了以下方法,几乎可以正常工作。
$employeeID = "*$($user.EmployeeID)"
$ADUser = Get-ADuser -Filter "EmployeeID -like '$employeeID'" -Properties SAMAccountName, EmployeeID
问题是,当搜索 1234 时,这将返回诸如 001234 和 012345 之类的内容。其他示例是 000123 和 002123 等都将为具有 EID 123 的用户出现。
有没有更好的方法可以构建它?我查看了 Get-ADUSer 和 about_ActiveDirectory_Filter 技术文档,但没有一个完全涵盖了我想要的内容。我不太确定如何构建它以仅搜索它。
谢谢!
解决方案
$reg = "[0]*1940$"
$users = Get-ADUser -Filter * -Properties EmployeeID | select EmployeeID
$users | ? {$_.EmployeeID -match $reg}
我做了一些进一步的测试和谷歌搜索,最后在这里 - 搜索,然后是正则表达式结果。是的,这很慢,但我正在构建 $users 然后每周与正则表达式匹配一次,所以并不十分担心。
推荐阅读
- azure - 如何将保留历史记录(时间戳和版本)的 Databricks 表复制到新订阅中的另一个 Databricks?
- swift - 如何在Firebase / Swift中更新字段等于的文档字段
- powershell - PowerShell:Visual Studio Code - 不反映模块中的更改
- serverless-framework - 使用无服务器离线在本地捕获 Dynamo 流事件
- python - Python中的可变宽度负向后看
- .htaccess - 使用 .htaccess 将特定 URL 重定向到 404
- python - psycopg2 / python中的动态“CREATE TABLE”语句
- css - react-native flatList,在每个元素之间留出负空间
- html - 使用 CSS 网格显示当列少于预期时填充剩余宽度
- python - 如何覆盖 Django 中每个测试文件的设置?