【问题标题】:Using multiple variables to create a Transport Rule使用多个变量创建传输规则
【发布时间】:2021-06-21 22:30:34
【问题描述】:

我在让一段代码正常工作时遇到问题,希望得到一些帮助。 我相信这对其他人来说会非常容易。

基本上,我正在尝试设置一个脚本来使用两个变量创建(并最终更新)一个新的交换传输规则:

  • $Displaynames
  • $电子邮件

我的问题是我似乎无法找到同时利用这两个变量的方法。

我知道我可以通过首先将我的结果导出到 CSV 然后每次重新导入它们来解决这个问题,但我相信一定有更好的方法。

这是脚本的问题部分:

$ruleName = "My Rule"
$ruleHtml = "My html code"
$rule = Get-TransportRule | Where-Object {$_.Identity -contains $ruleName}
$DisplayNames = (Get-Mailbox -ResultSize Unlimited).DisplayName
$Emails = (Get-Mailbox -resultsize unlimited | Select-Object displayname -expandproperty emailaddresses).SMTPAddress

New-TransportRule -Name $ruleName -Priority 0 -FromScope "NotInOrganization" -ApplyHtmlDisclaimerLocation "Prepend" -HeaderMatchesMessageHeader From -HeaderMatchesPatterns $Displaynames -ApplyHtmlDisclaimerText $ruleHtml

我尝试过使用 -HeaderMatchesPatterns "$Displaynames","Emails" 以及将这两个变量变成一个变量的各种方法,但仍然没有成功。

任何帮助将不胜感激!

【问题讨论】:

    标签: powershell office365 exchange-server powershell-4.0


    【解决方案1】:

    稍后我有一个灯泡时刻,最终加入了两个字符串。这是最终结果:

    $AllRecipients = $DisplayNames+$Emails
    New-TransportRule -Name $ruleName -Priority 0 -FromScope "NotInOrganization" -ApplyHtmlDisclaimerLocation "Prepend" -HeaderMatchesMessageHeader From -HeaderMatchesPatterns $AllRecipients -ApplyHtmlDisclaimerText $ruleHtml
    

    这就是诀窍。

    我仍然不介意看看将来是否有更好的方法。

    谢谢!

    【讨论】:

      【解决方案2】:
      $VN = "Mike.*Meyer"
      $NV = "Meyer.*Mike"
      
      New-TransportRule -Name "Test123456" -HeaderMatchesPatterns $VN,$NV -HeaderMatchesMessageHeader "From"
      

      作品

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2016-05-10
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 2021-06-16
      • 2011-03-12
      • 1970-01-01
      相关资源
      最近更新 更多