匹配来自 ExchangeOnline 的用户输入

Match user input from ExchangeOnline

在 PowerShell Exchange-online 中,您可以从 Get-Mailbox 获取用户的邮箱

如果我有以下用户输入。

$email = Read-Host -Prompt 'what email is it?'

我如何检查用户输入并查看它是否与现有邮箱匹配,如果存在则说“邮箱存在”,否则脚本应该停止 运行。这是怎么做到的?

有多种方法可以解决这个问题。一种方法是将邮箱搜索结果存储到变量中。然后简单地检查变量是否实际存储了任何东西。

$email = Read-Host -Prompt 'what email is it?'
$mailbox = Get-Mailbox $email -ErrorAction SilentlyContinue
if ($mailbox) {
    "Mailbox exists"
} else {
    Exit
}

-ErrorAction SilentlyContinue用于抑制找不到邮箱时返回的错误。


更复杂的方法是捕获异常并采取相应的措施。

$email = Read-Host -Prompt 'what email is it?'
try { 
    $mailbox = Get-Mailbox $email -ErrorAction Stop
    "Mailbox Exists"
} catch [System.Management.Automation.RemoteException] {
    Exit
}