问题描述
在PowerShell Exchange-online中,您可以从Get-MailBox获取用户的邮箱
如果我随后输入了以下用户信息。
<!DOCTYPE html>
<html lang = "en">
<head>
<Meta charset ="utf-8">
<Meta name= "viewport" content = "width=device-width,initial-scale =1">
<title>Solution Assignment Module-3!</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<header>
<nav id="header-nav" class="navbar navbar-default">
<div class="container">
</div>
</nav>
</header>
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>
我如何检查用户输入并查看它是否与现有邮箱匹配,如果存在则说“邮箱存在”,否则脚本应停止运行。该怎么办呢?
解决方法
有多种方法可以解决此问题。一种将邮箱搜索结果存储到变量中的方式。然后只需检查该变量是否实际存储了任何东西。
$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
}