首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >连接-可互换在线UnAuthorized

连接-可互换在线UnAuthorized
EN

Stack Overflow用户
提问于 2022-10-26 19:22:15
回答 2查看 178关注 0票数 0

我正在更新我们的PowerShell脚本,以使用更安全的连接方法。当我尝试时,我会发现一个错误,上面写着"UnAuthorized“

Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\3.0.0\netFramework\ExchangeOnlineManagement.psm1:730连接-

PS X:>连接

$_.Exception;

  • 抛掷

  • FullyQualifiedErrorId
    • CategoryInfo : OperationStopped:(:) [],UnauthorizedAccessException
    • :UnAuthorized

我在下面的屏幕截图中突出显示的是我应该用于组织参数的内容吗?剪辑

如何修复UnAuthorized错误?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-27 08:08:54

我同意@scottwtang,如果应用程序没有必需的角色和权限,您将得到未经授权的错误。

我尝试在我的环境中复制相同的结果,结果如下:

我在前面的问题中使用了脚本下面的来生成证书:

代码语言:javascript
运行
复制
$CN = "GraphApp" 
$cert=New-SelfSignedCertificate -Subject "CN=$CN" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -NotAfter (Get-Date).AddYears(5)
$Thumbprint = $Cert.Thumbprint
Get-ChildItem Cert:\CurrentUser\my\$Thumbprint | Export-Certificate -FilePath $env:USERPROFILE\Downloads\GraphApp.cer
Write-Output "$Thumbprint <- Copy/paste this (save it)"

输出:

现在,我将这个证书上传到Azure应用程序,如下所示:

对于$organization参数,需要传递您的域名。你可以在这里找到:

转到Azure Portal -> Azure Active Directory ->概述->主域

当我运行下面的脚本连接Exchange 时,得到了如下所示的错误:

代码语言:javascript
运行
复制
$clientId="47xxxd8-8x2x-4xxx-bxx7-30cxxxxx8"
$thumbPrint="E4A0F6C6B85EBFxxxxxCD91B5803F88E5"
$organization="xxxxxxxx.onmicrosoft.com"

Connect-ExchangeOnline -AppId $clientId -CertificateThumbprint $thumbPrint -Organization $organization

输出:

要解决错误,需要将API permissionDirectory角色添加到应用程序中:

确保为添加的权限授予管理同意,如下所示:

现在,我将Exchange管理员角色添加到应用程序中,如下所示:

转到Azure Portal -> Azure Active Directory ->角色和管理员-> Exchange管理员->添加赋值

可能需要几分钟才能成功地分配角色,如下所示:

现在,我再次运行脚本连接到Exchange ,并运行示例命令Get-EXOMailbox -PropertySets Archive来验证它,并成功地获得了response,如下所示:

代码语言:javascript
运行
复制
$clientId="47xxxd8-8x2x-4xxx-bxx7-30cxxxxx8"
$thumbPrint="E4A0F6C6B85EBFxxxxxCD91B5803F88E5"
$organization="xxxxxxxx.onmicrosoft.com"

Connect-ExchangeOnline -AppId $clientId -CertificateThumbprint $thumbPrint -Organization $organization

输出:

因此,请确保为应用程序指定修复错误所需的角色和权限。

票数 1
EN

Stack Overflow用户

发布于 2022-11-07 11:58:22

不幸的是,Exchange.ManageAsApp不再出现在Graph权限中,因此不能在门户中直接选择。但是,您可以通过在Manifest中向JSON添加以下内容来添加权限:

代码语言:javascript
运行
复制
{
    "resourceAppId": "00000002-0000-0ff1-ce00-000000000000",
    "resourceAccess": [
        {
            "id": "dc50a0fb-09a3-484d-be87-e023b12c6440",
            "type": "Role"
        }
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74213208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档