PowerShell正则匹配仅含单个下划线的字符串问题求助
匹配仅含单个下划线的AD用户名称
你当前的问题是正则没限制整个字符串的范围,导致带多个下划线的内容也会被误匹配。要精准筛选仅含一个下划线的用户名称,用这个正则表达式就可以:^[^_]+_[^_]+$
正则规则说明:
^:锁定字符串开头位置[^_]+:匹配一个或多个非下划线的字符_:精准匹配单个下划线[^_]+:再匹配一段非下划线的字符$:锁定字符串结尾位置
这套规则能确保整个用户名称里只有一个下划线,直接排除lastname_firstname_middleinitail这类多下划线的情况。
修改后的完整代码:
$newUsers = Get-ADUser -SearchBase "CN=Users,DC=atlantic,DC=county" -Filter {WhenCreated -ge $date7DaysAgo} | Where-Object {$_.Name -match '^[^_]+_[^_]+$'}
内容的提问来源于stack exchange,提问作者Warlord213
相关产品推荐
相关产品推荐

