You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Microsoft.Graph.Entra.Beta导入失败及PowerShell命令缺失问题

问题1:GitHub Actions中无法导入Microsoft.Graph.Entra.Beta模块

问题描述

需要使用Set-EntraBetaTrustFrameworkPolicy向Azure AD B2C上传XML配置,执行安装命令:

Install-Module -Name Microsoft.Graph.Entra.Beta -Scope CurrentUser -Force -AllowClobber

但导入模块时出现错误:

found in any module directory.
At D:\a\_temp\360a07d2-14b9-4abd-8843-bc54622430e9.ps1:22 char:1
+ Import-Module Microsoft.Graph.Entra.Beta
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (Microsoft.Graph.Entra.Beta:String) [Import-Module], FileNotFoundEx 
   ception
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

解决办法

  • 指定模块版本安装:最新版本可能存在兼容性问题,尝试安装特定稳定版本
    Install-Module -Name Microsoft.Graph.Entra.Beta -Scope CurrentUser -Force -AllowClobber -RequiredVersion 2.0.0-preview1
    
  • 检查PowerShell Gallery源:GitHub Actions环境可能未配置正确源,先执行信任配置再安装
    Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
    Install-Module -Name Microsoft.Graph.Entra.Beta -Scope CurrentUser -Force -AllowClobber
    
  • 使用绝对路径导入模块:安装后手动定位模块路径,避免路径识别问题
    $modulePath = (Get-Module -ListAvailable Microsoft.Graph.Entra.Beta).ModuleBase
    Import-Module $modulePath
    
  • 改用GitHub Actions官方模块安装动作:替代手动命令,确保环境配置正确
    - name: Install Microsoft.Graph.Entra.Beta module
      uses: potatoqualitee/install-powershell-module@v1
      with:
        name: Microsoft.Graph.Entra.Beta
        scope: CurrentUser
        force: true
        allow_clobber: true
    

问题2:AzureADPreview模块导入成功,但Set-AzureADMSTrustFrameworkPolicy cmdlet不存在

问题描述

已创建Azure AD B2C服务主体,在GitHub Actions中执行以下命令,前几步正常,但最后一步提示cmdlet不存在:

Install-Module -Name AzureADPreview -Scope CurrentUser -Force -AllowClobber
az login --service-principal --username $service-principal-clientId --password $service-principal-password --tenant $tenantId --allow-no-subscriptions
$aadToken = az account get-access-token --resource-type aad-graph | ConvertFrom-Json
$graphToken = az account get-access-token --resource-type ms-graph | ConvertFrom-Json
Connect-AzureAD -AadAccessToken $aadToken.accessToken -AccountId $service-principal-clientId -TenantId $tenantId -MsAccessToken $graphToken.accessToken
Set-AzureADMSTrustFrameworkPolicy -Id B2C_1A_TrustFrameworkExtensions -InputFilePath .\Templates\TrustFrameworkExtensions.xml

解决办法

  • 指定AzureADPreview模块版本:该cmdlet仅存在于特定版本中,安装对应版本
    Install-Module -Name AzureADPreview -Scope CurrentUser -Force -AllowClobber -RequiredVersion 2.0.2.130
    
  • 强制重新导入模块:安装完成后刷新模块会话
    Import-Module AzureADPreview -Force -PassThru
    
  • 检查服务主体权限:确保服务主体拥有TrustFrameworkPolicy.ReadWrite.All权限(在Azure AD B2C权限配置中添加)
  • 改用Microsoft Graph PowerShell模块替代:AzureADPreview已逐步被淘汰,使用更稳定的Graph模块
    # 安装对应模块
    Install-Module -Name Microsoft.Graph.Identity.SignIns -Scope CurrentUser -Force -AllowClobber
    # 连接到Microsoft Graph
    Connect-MgGraph -ClientId $service-principal-clientId -TenantId $tenantId -ClientSecret $service-principal-password -Beta
    # 上传策略
    $policyContent = Get-Content .\Templates\TrustFrameworkExtensions.xml -Raw
    Set-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId "B2C_1A_TrustFrameworkExtensions" -BodyParameter $policyContent
    

内容的提问来源于stack exchange,提问作者Ashwin Agarkhed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 17:35:24