PowerShell,Exchange 2010-比较变量返回不正确的结果

PowerShell,Exchange 2010-比较变量返回不正确的结果

我在比较变量时遇到问题。

有人可以告诉我我做错了什么吗?

在此示例中,“account.name”是 SamAccountName。

$DN = (获取邮箱帐户.名称).DistinguishedName

$DN

返回:CN=Account.Name,OU=Users,OU=IT,OU=Science Lab,DC=company,DC=com

$DN.GetType().名称

返回:字符串

获取分发组-结果大小无限-筛选器{成员-eq“$DN”}

返回:无

Get-DistributionGroup -ResultSize Unlimited -Filter {Members -eq“CN=Account.Name,OU=Users,OU=IT,OU=Science Lab,DC=company,DC=com”}

返回:正确结果

答案1

问题是该-Filter参数使用了脚本块。请尝试以下方法:

$scriptBlock = [scriptblock]::Create("Members -eq ""$DN""")
Get-DistributionGroup -ResultSize Unlimited -Filter $scriptBlock

答案2

删除引号。

Get-DistributionGroup -ResultSize Unlimited -Filter {Members -eq $DN}

会做的。

它不返回任何内容的原因是,它使用引号专门查找 $DN,而不是变量包含的数据。

答案3

找到了另一种方法来做到这一点,使用“引号”而不是{scriptblock}:Get-DistributionGroup -ResultSize Unlimited -Filter“Members -eq '$DN'”

相关内容