我得到了一个包含用户列表的变量(作为字符串)。其中一些用户具有相似的名称。唯一不同的是它们以“$”符号结束。
示例:
FRANK
FRANK$
我想获得具有相似名称的所有这些用户的列表。所以如果我有这个清单:
MAX
FRANK
FRANK$
HARRY
HARRY$
JULIA
TOM
我只想在列表中获得FRANK,FRANK $,HARRY和HARRY $,然后检查AD用户的mail属性是否为空。
这是我到目前为止,但模式不合适:
$users = get-aduser -filter * | where givenname -ne $null | select -ExpandProperty name
select-string -InputObject $users -Pattern "[A-Z]+\$"
答案 0 :(得分:2)
以下是查找匹配用户的一种方法:
$users = Get-ADUser -Filter * |
Where-Object GivenName -ne $null |
Group-Object @{e={$_.Name -replace '\$',''}} |
Where-Object Count -gt 1
您可以再次访问实际的用户对象:
$users.Group
答案 1 :(得分:1)
模式应为[A-Z]+[$]?
,即文字$
的零或一次出现。