【问题标题】:Matching ProxyAddresses to Surname and Firstname将 ProxyAddresses 与姓氏和名字匹配
【发布时间】:2018-08-29 15:13:31
【问题描述】:

我正在尝试从 AD 中提取一些信息,但遇到了困难。我正在尝试仅以特定格式(SMTP:firstname.lastname*)从 ProxyAddresses 属性(数组)获取具有 PRIMARY smtp 地址的用户列表。我只想要那些匹配“SMTP”(区分大小写)的那些,并且只想要那些具有 firstname.lastname 格式的电子邮件地址的那些。

Get-ADUser -SearchBase "DC=corp,DC=companyx,DC=com" -Filter * -Properties ProxyAddresses,sn,givenname,displayname,mail |
    Where-Object {$_.ProxyAddresses -clike "SMTP:{$_.givenname+$_.sn}*"} # | Select-Object proxyaddresses,displayName,givenName,sn

【问题讨论】:

  • 子表达式运算符为$()"SMTP:{$_.givenname+$_.sn}*" -> "SMTP:$($_.givenname).$($_.sn)*"

标签: powershell active-directory


【解决方案1】:

试试这个:

Get-ADUser -SearchBase "DC=corp,DC=companyx,DC=com" -Filter * -Properties ProxyAddresses,sn,givenname,displayname,mail | 
Where-object {($_.ProxyAddresses -cmatch "SMTP:") -and ($_.ProxyAddresses -match "$($_.givenname).$($_.sn)*")}

【讨论】:

  • ($_.ProxyAddresses -match "$($_.givenname).$($_.sn)*") 将不起作用,因为正则表达式中的星号是一个量词字符,与 like 不一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 1970-01-01
相关资源
最近更新 更多