程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了通过 C# 访问 Azure AD 中的“PasswordNeverExpires”属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决通过 C# 访问 Azure AD 中的“passwordNeverExpires”属性?

开发过程中遇到通过 C# 访问 Azure AD 中的“passwordNeverExpires”属性的问题如何解决?下面主要结合日常开发的经验,给出你关于通过 C# 访问 Azure AD 中的“passwordNeverExpires”属性的解决方法建议,希望对你解决通过 C# 访问 Azure AD 中的“passwordNeverExpires”属性有所启发或帮助;

我有以下代码 C#,它非常适合查询 Azure AD,但我还需要读取属性“passwordNeverExpires”,如下面的屏幕截图所示。我在这里看不到完整 MS 列表中的属性 - @L_403_0@ - 只有一个“passwordPolicIEs”属性,它为我们所有的用户返回“disablepasswordExpiration”,这与 AD 管理器中显示的结果不符。我可以看到很多 powersHell 脚本,例如这里 - https://serverfault.com/questions/730189/powersHell-find-all-users-with-password-never-expires - 其中提到了“passwordNeverExpires”属性,但仅在我运行 C# 脚本时才显示为空白。

 String Url = $"{Config.APIUrl}v1.0/users?$SELEct=userPrincipalname,lastpasswordChangedatetiR_236_11845@e,passwordNeverExpires,passwordNeverExpires";
                do {
                    String JsON = await APICaller.CallWebAPIAndProcessResultASync(Url,result.Accesstoken,display);
                
                    Url = AADR.odatanextlink;
                } while (AADR.odatanextlink != null);

通过 C# 访问 Azure AD 中的“PasswordNeverExpires”属性

通过 C# 访问 Azure AD 中的“PasswordNeverExpires”属性

解决方法

您在 this post 中找到的 powersHell 脚本用于 AD 而不是 AAD。所以它不适用于 AAD。 AAD 模块中没有名为 passwordNeverExpires 的属性。

PowerSHell 脚本:

您可以使用以下 PowerSHell cmdlet 查看单个用户的密码是否设置为永不过期(参 here):

Get-AzureADUser -ObjectId <user id or UPN> | SELEct-Object UserprincipalName,@{
    N="passwordNeverExpires";E={$_.passwordPolicies -contains "DisablepasswordExpiration"}
}

cmdlet 将 passwordPolicies -contains "DisablepasswordExpiration" 别名为新属性 passwordNeverExpires

要查看所有用户的密码永不过期设置,请运行以下 cmdlet:

Get-AzureADUser -All $true | SELEct-Object UserprincipalName,@{
    N="passwordNeverExpires";E={$_.passwordPolicies -contains "DisablepasswordExpiration"}
 }

微软图形:

由于 MS Graph user resource type 中没有 passwordNeverExpires 属性,您应该使用 MS Graph 查询 passwordPolicies 属性。

GET https://graph.microsoft.com/v1.0/users?$SELEct=userPrincipalName,lastpasswordChangedatetiR_236_11845@e,passwordPolicies

然后您将在响应中得到 "passwordPolicies": "DisablepasswordExpiration"。使用您自己的代码逻辑来处理它(定义一个 passwordNeverExpires 并将其设置为 true)。

大佬总结

以上是大佬教程为你收集整理的通过 C# 访问 Azure AD 中的“PasswordNeverExpires”属性全部内容,希望文章能够帮你解决通过 C# 访问 Azure AD 中的“PasswordNeverExpires”属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:访问通过