PowerShell邮箱过滤错误?

时间:2019-05-13 06:08:03

标签: powershell exchange-server

检查某个邮箱是否已使用某个地址作为SMTP或SIP地址。

以下命令不会在不添加前缀的情况下自动搜索SIP地址:

  • $ SMTP =“ bruce@###.com”
  • $ SIP =“ sip:bruce @ ###。com”

    Get-Mailbox -Filter 'emailaddresses -eq $SMTP -or emailaddresses -eq "sip:bruce@###.com"'
    

上面的方法有效,下面的方法无效:

   Get-Mailbox -Filter 'emailaddresses -eq $SMTP -or emailaddresses -eq $SIP'

尝试了ToString()和其他很多东西,但是我无法使其与变量一起使用,不确定这里出了什么问题...两个变量都是字符串。

1 个答案:

答案 0 :(得分:0)

doc.mircosoft

  

当您将字符串括在单引号中(单引号字符串)时,该字符串将在您键入时完全传递给命令。不执行替换。

所以过滤器:

Get-Mailbox -Filter 'emailaddresses -eq $SMTP -or emailaddresses -eq $SIP'

将按原样使用('emailaddresses -eq $SMTP -or emailaddresses -eq $SIP'),不会进行任何变量替换。

将其更改为:

 Get-Mailbox -Filter "emailaddresses -eq $SMTP -or emailaddresses -eq $SIP"

 Get-Mailbox -Filter "emailaddresses -eq $SMTP -or emailaddresses -eq `"sip:bruce@###.com`""

希望有帮助