-1

我无法从PowerShell分配TokenLifetimePolicy Azure AD应用程序策略。我有一个错误BadRequestMessage: Open navigation properties are not supported on OpenTypes.Property name: 'policiesAzure Active Directory中的可配置令牌生命周期

我试图从Configurable token lifetimes in Azure Active Directory

下面

见截图,在AzureAD cmdlet的Add-AzureADApplicationPolicy任何有用的链接和解决方案,欢迎

enter image description here

+1

为什么截图如果文本会更好的可读性和可能节省空间?另外该命令被切断。因为这是你的命令可能不正确。 – Seth

+0

我会仔细检查您在命令中使用的对象ID是否正确。对于应用程序,请转到[Azure门户](https://portal.azure.com)以及可以使用“Get-AzureADPolicy”的策略。 –

+0

@Seth你的评论如何回答了这个问题。以为我们只在这里发布问题或答案。一张图片胜过千言万语,命令只接受两个参数,'Id'和'RefObjectId',它们都已通过 –

回答

0

我使用New-AzureADPolicy cmdlet并设置了-IsOrganizationDefault $true而不是$false。效果需要一段时间才能看到它。所以请等待大约30分钟到一个小时(我不知道准确的时间)。之后,您的新政策将被创建和应用。还要记住,这是PowerShell,因此cmdlet中没有空格。

例子:

New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"02:00:00","MaxInactiveTime":"02:00:00","MaxAgeSessionSingleFactor":"02:00:00"}}') -DisplayName "PolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy" 

多层线路版:

New-AzureADPolicy -Definition @(
    ' 
     { 
      "TokenLifetimePolicy": 
       { 
        "Version": 1, 
        "AccessTokenLifetime": "02:00:00", 
        "MaxInactiveTime": "02:00:00", 
        "MaxAgeSessionSingleFactor": "02:00:00" 
       } 
     } 
    ' 
    ) -DisplayName "PolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy" 

微软可能会解决问题与IsOrganizationDefault $true。在这个问题上阅读更多:Azure AD Configurable Token Lifetimes not being Applied

0

实现令牌到期时间B2C门户是否创建了应用程序?

假设答案是肯定的,则预期此行为: 微软有2个授权终点V1和V2。

B2C门户创建V2应用程序。从powershell令牌生存期设置可能只适用于V1应用程序。

b2c刀片上有一些设置可以更改此设置。

另一种选择是从azure活动目录刀片(与b2c刀片相对)创建应用程序。然后你可以使用PowerShell设置令牌生存时间。

0

我为我的客户测试了这一点。由于没有使用最新版本的PowerShell,我偶尔会遇到类似问题。

get-module 

最新版本2.0.0.114在时刻AzureADPreview(V2) Instructions to download here

有与-IsOrganizationDefault $真正的问题,因为赛斯指出。

我发现的另一个问题是在您的系统上安装了多个版本的PowerShell,并加载了错误的版本,但没有更新的版本。上周五我打了这个 - 我必须擦拭一切并重新安装 - 然后修复它。

此外 -

之间有一个区别:

Add-AzureADApplicationPolicy 

Add-AzureADServicePrincipalPolicy 

一个是一个应用程序对象,而另一个为ServicePrincipal。如果您正在将其应用于基于SAML的应用程序,则应将其应用于ServicePrincpal。

注意:应用程序对象和servicePrincipal对象有不同的ObjectID。不要让这些困惑。对于一个实验,对你的应用程序运行在两个CMDS:

Get-AzureADServicePrincipal -SearchString <name of app> 
Get-AzureADApplication -SearchString <name of app> 

如果你抓错了对象ID - 不走,当你去申请政策

这些政策的顺序是:ServicePrincipal - >应用 - >租户(组织)