Get-AzureADApplicationProxyApplication 在自动化帐户中失败

问题描述 投票:0回答:0

我正在尝试编写一些代码来管理 Azure 应用程序代理(特别是 SSL 证书),基于此 https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/scripts /powershell-get-all-app-proxy-apps-extended

在本地运行时,代码有效。在 azure 自动化帐户的上下文中运行时,我收到以下信息:

错误: 异常 System.NullReferenceException:对象引用未设置到对象的实例。 在 X 中的 Microsoft.Open.MSGraphV10.PowerShell.GetApplicationProxyApplication.ProcessRecord():tQ8881 epo\src\dev\PowerShell.V2\MSGraphV10.PowerShell\MSGraphV10.PowerShell.AutoGen\Api\ApplicationProxyApi.cs:第 103 行

打电话时

$app = Get-AzureADApplicationProxyApplication -ObjectId $item.ObjectId -ErrorAction SilentlyContinue

完整示例:

# Before you begin:
#    Run Connect-AzureAD to connect to the tenant domain.
#    Required Azure AD role: Global Administrator or Application Administrator or Application Developer

Disable-AzContextAutosave -Scope Process
$AzureContext = (Connect-AzAccount -Identity).context
$context = Set-AzContext -Tenant $tenantId  -DefaultProfile $AzureContext
$aadToken = Get-AzAccessToken -ResourceTypeName AadGraph
Connect-AzureAD  -TenantId $context.tenant.id -AadAccessToken $aadToken.Token -AccountId $context.Account.Id

$allApps = Get-AzureADApplication  -all $true
$aadapServPrinc = Get-AzureADServicePrincipal -Top 100000 | where-object {$_.Tags -Contains "WindowsAzureActiveDirectoryOnPremApp"}  
$aadapApp = $aadapServPrinc | ForEach-Object { $allApps -match $_.AppId} 

foreach ($item in $aadapApp) { 

            $app = Get-AzureADApplicationProxyApplication -ObjectId $item.ObjectId -ErrorAction SilentlyContinue
}

作为调试的一部分,我已经分配了托管身份应用程序开发人员、应用程序管理员和全局管理员,但是,它仍然失败。

有人可以帮忙吗?

最终,我希望查询

$app.VerifiedCustomDomainCertificatesMetadata
以确定证书的到期日期。如果有人知道不同的方式,我愿意输入。

[编辑] 如果我获得自动化帐户的访问令牌,我可以在本地重现错误。

所以这与身份表现不佳有关,即使它具有相关权限(测试为分配的全局管理员角色)

azure-powershell azure-automation azure-managed-identity azure-application-proxy
© www.soinside.com 2019 - 2024. All rights reserved.