我正在更新我们的PowerShell脚本,以使用更安全的连接方法。当我尝试的时候,我得到一个错误,显示“未经授权”
PS X:>连接-交换在线-AppID$客户端ID-认证指纹$Thumbprint-组织$组织在C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\3.0.0\netFramework\ExchangeOnlineManagement.psm1:730字符:21处未经授权
- 抛出$_.Exception;
- CategoryInfo:操作停止:(:)[],未授权访问异常
- FullyQualifiedErrorID:未经授权
我在下面的屏幕截图中突出显示的是我应该用于组织参数的内容吗?[截图]
如何修复未经授权的错误?
谢谢
2条答案
按热度按时间gjmwrych1#
我同意*@scottwtang*,如果您的应用程序没有所需的角色和权限,则会出现未授权错误。
我使用了您上一个问题中的以下脚本来生成证书:
输出:
现在,我将此证书上传到Azure AD应用程序,如下所示:
**
$organization
**参数需要传入您的域名。你可以在这里找到:当我运行以下脚本连接Exchange Online时,我收到了**
Access denied
**错误,如下所示:输出:
要解决错误,您需要在应用程序中添加**
API permission
和Directory
**角色:新增权限一定要管理员同意,如下所示:
现在,我在应用程序中添加了Exchange管理员角色,如下所示:
成功分配角色可能需要几分钟,如下所示:
现在我通过再次运行脚本连接到Exchange Online,并运行示例命令
Get-EXOMailbox -PropertySets Archive
进行验证,成功地获得了响应,如下所示:输出:
因此,请确保为您的应用程序分配修复错误所需的角色和权限。
ssgvzors2#
遗憾的是,Exchange.ManageAsApp不再出现在API权限中