非常简单的概念,需要从变量创建Exchange OPATH收件人过滤器语法。
$rf = { ((Company -eq $company_name) -and (Alias -ne $null)) }
公司名称是一个简单的字符串。
尝试运行Set-AddressList
命令时,收到Cannot bind parameter 'RecipientFilter' to the target, Invalid Filter Syntax
错误
我已经尝试过多种方法来连接字符串和变量,但似乎Exchange并不期望这个RecipientFilter参数的正常字符串,如果我将工作过滤器转换为基于变量的连接字符串,则所有停止工作
答案 0 :(得分:0)
有趣!根据{{3}},-ReceipientFilter 应该接受一个字符串。如果Set-AddressList对该字符串进行语法验证,我不会感到惊讶,但字符串是字符串是字符串。
$ rf,正如你在上面定义的那样,不是字符串,但它是一个ScriptBlock。这是我跑的:
$Company = "Contoso"
$Alias = "*jerry*"
$rf = { (($Company -eq "Contoso") -and ($Alias -ne $null)) }
$rf | Get-Member
在单引号中包含 $ rf = 赋值给我们一个字符串:
$rf = '{ (($Company -eq "Contoso") -and ($Alias -ne $null)) }'
但是我没有可以测试的Exchange环境。如果这对你不起作用,你能提供完整的Set-AddressList命令进行诊断吗?