Powershell将变量传递给带括号的其他变量

Powershell passing variables into other variables with parentheses

抱歉,标题令人困惑,但这是我在不在标题中发布代码的情况下描述它的最佳方式。我尝试获取 $MajorCode 变量并将其放入 $filter 变量中。这样输出看起来像

{((customattribute5 -eq "CurrentStudent") -AND (customattribute3 -eq "2101"))}
                NOT
{((customattribute5 -eq "CurrentStudent") -AND (customattribute3 -eq $MajorCode))}

CSV 看起来像这样:

Name             Alias       EmailAddress                  code 
DDL-PayPal       PayPal    PayPal0@test.test               2101 

完整代码是这样的:

$groups = Import-Csv -Path .\Book2.csv

foreach
($group in $groups)
{

$MajorCode = $group.code

$Filter = {{((customattribute5 -eq "CurrentStudent") -AND (customattribute3 -eq $MajorCode))}}

New-DynamicDistributionGroup -Name $group.Name -Alias $group.Alias -RecipientFilter $filter
 }

继续我的评论,RecipientFilter 应该是一个 字符串 ,特别是如果它包含一个变量,而不是 scriptblock

尝试

$Filter = "(customattribute5 -eq 'CurrentStudent') -AND (customattribute3 -eq '$MajorCode'")

在整个字符串周围使用双引号,以便扩展内部变量。在里面,使用单引号