如何用PowerShell正则筛选名称含3个以上非连续数字的AD对象
解决方案
你之前用的\d\d\d\d正则只会匹配连续4个数字,但要筛选名称中累计包含4个及以上数字(无需连续)的AD对象,得换下面的正则:
修改后的脚本:
Get-ADObject -Filter * | Where-Object { $_.Name -match '(?:.*\d){4}' } | Format-Table -AutoSize
正则说明
(?:.*\d):匹配任意字符(包括0个)后跟一个数字,用(?:...)是避免捕获不必要的分组{4}:要求上述模式至少出现4次,也就是整个名称里至少有4个数字,不管数字之间有没有其他字符
这个正则完全符合“3个以上数字(无需连续)”的筛选需求,能匹配你给出的所有示例对象。
内容的提问来源于stack exchange,提问作者Senior Systems Engineer
相关产品推荐
相关产品推荐

