首页 > 解决方案 > 可以让变量在设置接收者限制过滤器时起作用

问题描述

每个国家/地区都有一个 Exchange 管理范围,我们尝试在其中调整收件人筛选器。已创建以下代码:

Foreach ($Obj in $Scopes) {
    $Scope = Get-ManagementScope $Obj.Name
    Write-Host "Retrieved $($Scope)"
    $Country = ($Scope.Name -split "_")[1]
    Write-Host "Retrieved $($Country)"
    $CountryCode = $Co | ? {$_.Country -like "$Country*"}
    Write-Host "Retrieved $($CountryCode.Alpha3) for $($Country)" -ForegroundColor Green
    $Filter = {((CountryOrRegion -eq $Country) -or (Name -Like "$($CountryCode.Alpha3)_*"))}
    Set-ManagementScope $($Scope.name) -recipientRestrictionFilter $Filter
} 

我们得到的是这个 ((-not(CountryOrRegion -eq $Country) -or (Name -Like "$($CountryCode.Alpha3)_*")),而应该是((CountryOrRegion -eq 'USA') -or (Name -like 'USA_*')) 我们有50多个管理范围要调整,不想手动调整。$co 数组包含国家及其 alpha-2 和 alpha-3 国家代码。欢迎任何提示。

标签: powershellexchange-server

解决方案


推荐阅读