首页 > 解决方案 > 在 Exchange Online 中使用仅应用程序身份验证的 Search-Mailbox cmdlet 可用性

问题描述

我正在使用 PowerShell 和以下命令连接到 Exchange Online:

Connect-ExchangeOnline -AppId APP_ID -CertificateFilePath CERTIFICATE_PATH -Organization ORG_NAME

并且想使用“Search-Mailbox”cmdlet。

文档说:

默认情况下,Search-Mailbox 仅在邮箱搜索或邮箱导入导出角色中可用,并且这些角色未分配给任何角色组。

该应用在 Azure 中分配了 Exchange 管理员角色。

在 Exchange 管理中心,我将 Exchange 管理员添加到启用了邮箱搜索角色的发现管理角色组。

重新连接后,Search-Mailbox 仍然不可用:

Search-Mailbox:“Search-Mailbox”一词未被识别为 cmdlet、函数、脚本文件或可执行程序的名称。
检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

有人可以解释为什么它不起作用以及如何使它起作用吗?

标签: powershelloffice365exchange-server

解决方案


CmdLet不可用时,需要在正确的服务器上导入、安装或运行它。似乎Search-Mailbox是模块的一部分ExchangePowerShell

我相信您要么需要在 PowerShell 会话中导入模块:

Import-Module -Name 'ExchangePowerShell'

或者直接在 Exchange 服务器上运行 CmdLet 或使用Connect-ExchangeOnline


推荐阅读