powershell - 简单的PowerShell,括号内的变量不起作用
问题描述
我缺少格式或与变量有关的简单内容。当我输入变量数据时,没有输出。如果我输入 SMTP: address 手动脚本工作正常。
$EmailAddressAlias=Read-Host "Enter the FULL Email Address to find the associated Mailbox "
Get-Mailbox -Identity * |
Where-Object {$_.EmailAddresses -like 'SMTP:$EmailAddressAlias'} |
Format-List Identity, EmailAddresses
解决方案
我在这里看到两个问题和一个建议。您在单引号内有一个变量,并且您的-like
比较中没有通配符。为了使变量扩展为它的值,您需要使用这样的双引号:
$_.EmailAddresses -like "SMTP:$EmailAddressAlias"
此外,当您-like
不使用通配符时,您也可以使用-eq
. 最后,您应该真正在Get-Mailbox
级别进行过滤,而不是获取所有邮箱,然后只过滤您想要的邮箱。你可能想试试这个:
Get-Mailbox -Filter "EmailAddresses -like '*$EmailAddressAlias*'" | Format-List Identity, EmailAddresses