powershell - 在 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、函数、脚本文件或可执行程序的名称。
检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。
有人可以解释为什么它不起作用以及如何使它起作用吗?
解决方案
当CmdLet不可用时,需要在正确的服务器上导入、安装或运行它。似乎Search-Mailbox
是模块的一部分ExchangePowerShell
。
我相信您要么需要在 PowerShell 会话中导入模块:
Import-Module -Name 'ExchangePowerShell'
或者直接在 Exchange 服务器上运行 CmdLet 或使用Connect-ExchangeOnline。
推荐阅读
- reactjs - React 查询在新页面中显示上一页数据
- javascript - 如何在 JavaScript 中等待多个提取完成?
- c# - 如何在 C# azure 函数完成之前将输出发送到浏览器?
- javascript - 修复 React-facebook-pixel
- javascript - NodeJS:打印出textrow nodejs的值
- ubuntu - gunicorn.service:CHDIR 生成步骤失败 */env/bin/gunicorn:没有这样的文件或目录
- git - 在 circleCli 中获取以前的提交 sha
- c# - 服务器端 Blazor 5.0 级联 AuthState 未更新
- ios - SwiftUI 如何检测到有@State 变量值传递给子视图?
- javascript - 在 fabricjs 对象上应用 JSON.stringify 后自定义属性丢失