Powershell字符串扩展难题

时间:2017-07-04 04:02:17

标签: powershell exchange-server

非常简单的概念,需要从变量创建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参数的正常字符串,如果我将工作过滤器转换为基于变量的连接字符串,则所有停止工作

1 个答案:

答案 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命令进行诊断吗?