【问题标题】:Match user input from ExchangeOnline匹配来自 ExchangeOnline 的用户输入
【发布时间】:2020-12-30 02:16:49
【问题描述】:

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

如果我有以下用户输入。

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

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

【问题讨论】:

  • 输入后为什么不运行Get-Mailbox $email
  • 如果我这样做了,我该如何做一个 if 来检查它是否有效?如果邮箱存在(来自输入),否则退出()。

标签: powershell office365 exchange-server


【解决方案1】:

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

$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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    相关资源
    最近更新 更多