- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试利用 Powershell 中的 .Net ADAL 库通过 MS Graph 更新联合域中 Azure AD 用户(通过 Azure AD Connect 加载)的 UPN。我相当确定我已在 Azure 和 PS 中正确配置了所有内容,因为如果我发出更新 useLocation 属性的命令,它就会起作用(为简洁起见,进行了剪辑):
$UPN="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2c595f495e6c41555849424d425802494859" rel="noreferrer noopener nofollow">[email protected]</a>"
$Body=@{UsageLocation="JP"} | ConvertTo-JSON
$Result=Invoke-RestMethod -Method PATCH -Uri "https://graph.microsoft.com/v1.0/users/${UPN}" -Headers @{Authorization=$authenticationResult.CreateAuthorizationHeader()} -ContentType "application/json" -Body $Body
$user=Invoke-RestMethod -Method GET -Uri "https://graph.microsoft.com/v1.0/users/${UPN}?`$select=usageLocation" -Headers @{Authorization=$authenticationResult.CreateAuthorizationHeader()} -ContentType "application/json"
$user.usageLocation
JP
但是,如果我尝试将 UPN 更新到非联合域(这样我就不会遇到 http://blogs.perficient.com/microsoft/2013/03/changing-upn-for-office-365-account-between-two-sso-domains/ 中描述的问题),我会收到内部服务器错误 (500):
$UPN="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="98edebfdead8f5e1ecfdf6f9f6ecb6fdfced" rel="noreferrer noopener nofollow">[email protected]</a>"
$Body=@{userPrincipalName="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="394c4a5c4b794d5c5758574d17565754505a4b564a565f4d175a5654" rel="noreferrer noopener nofollow">[email protected]</a>"} | ConvertTo-JSON
$Result=Invoke-RestMethod -Method PATCH -Uri "https://graph.microsoft.com/v1.0/users/${UPN}" -Headers @{Authorization=$authenticationResult.CreateAuthorizationHeader()} -ContentType "application/json" -Body $Body
Invoke-RestMethod : The remote server returned an error: (500) Internal Server Error.
我尝试了许多不同的变体,包括检索 Azure AD GUID 并在 PATCH 命令中使用它而不是 UPN,以及使用旧版 Azure AD Graph(返回相同的 500 错误)。我可以使用 O365 Powershell 命令进行更改:
Set-MsolUserPrincipalName -UserPrincipalName $UPN -NewUserPrincipalName $newUPN
但我似乎无法通过 MS Graph 使其工作。 graph 的文档暗示 UPN 可以像其他属性一样更新(例如 c.v. http://graph.microsoft.io/en-us/docs/api-reference/v1.0/api/user_update )。我想知道是否因为 UPN 是 key ,也许这会使更新不起作用?我也不认为这是权限问题,那些通常会抛出“没有足够的权限来完成操作”。这不是我所看到的。
谢谢!
UPDATE1:这是我今天早上重新尝试时可以从 Error 对象中获取的所有内容:
{
"error": {
"code": "Service_InternalServerError",
"message": "Encountered an internal server error.",
"innerError": {
"request-id": "cbb08d3c-1143-4d0b-8722-5230b00bd00f",
"date": "2016-02-15T16:48:15"
}
}
}
最佳答案
我查看了跟踪,我将在我们这边针对 500 错误提交一个错误(我们当然可以在这里做得更好)。根据跟踪,如果您通过将用户从联合域重命名为云托管域来更新用户,则必须提供/设置密码作为请求的一部分(使用 passwordProfile 复杂类型)。这就是日志显示请求失败的原因。如果这可以解决您的问题,请告诉我们。
关于powershell - 通过 Graph 更新 AzureAD/O365 UPN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35232113/
如何从 Active Directory 获取我的 UPN?我需要测试一个使用 Upn Claim 类型的应用程序...... 最佳答案 这个命令应该可以工作。 C:> whoami /upn who
我们的租户中有 Azure AD,由我们的本地 AD 填充。 我们有一个外部应用程序当前正在使用基于表单的身份验证(用户帐户存储在数据库中)。我正在考虑将这些用户帐户导入到新的 Azure B2C 目
我们正在尝试设置 Azure AD 连接,但似乎无法达到我们想要的情况。我们当前的情况是本地 AD,我们为所有用户(以及所有外部用户)填写电子邮件字段。我们的管理员有一个普通帐户和一个管理员帐户。所有
我现在正在使用 GSSAPI 对跨平台应用程序进行 Kerberized。虽然我不太清楚 UPN 和 SPN 之间的区别。 开发环境是 CentOS 6.4 上的 Samba4 AD DC 服务器,带
我想了解 Azure AD 上下文中 SPN 和 UPN 之间的区别。我的理解是在Azure AD中建立身份有三种方式 用户输入用户名和密码来建立身份 使用 ClientId 和 Secret Key
在System.IdentityModel.Claims中,存在三个条目:UPN,Name和NameIdentifier “http://schemas.xmlsoap.org/ws/2005/05/
我已经建立了一个项目,例如来自 Microsoft 的以下示例,其中我有一个 native 应用程序请求使用 v2.0 端点访问 Web API:https://github.com/azureadq
我已将 Power App 连接到 Azure Application Insights 以跟踪使用情况。 记录事件时,用户 ID 会与 Azure Active Directory ID(Guid)
我正在尝试将所有 AzureAD cmdlet 转换为 Graph cmdlet。 我们有一个脚本可以获取所有帐户并找到其管理员 UPN。 $allUsers = Get-MgUser -all -s
我当前正在尝试从 Microsoft Graph 访问特定资源使用以下代码: private const string _userUrl = "https://graph.microsoft.com/
我正在为我的 WEB API 应用程序使用 Azure AD 身份验证,并且我能够从 token 获取 ClaimsPrincipal 和声明,但我没有在声明中获取“upn”(“http://sche
我们有一个辅助 AAD,其中包含来自主要 AAD 的 guest 用户。为 guest 用户生成的 token 似乎缺少 upn 声明,但我们依赖于存在 upn 声明的事实,因为这是我们用来跨系统映射
在带有 GraphAPI 的 Azure B2C 中,我可以使用 http PATCH 命令更改现有用户的电子邮件地址: https://azure.microsoft.com/nl-nl/docum
我尝试利用 Powershell 中的 .Net ADAL 库通过 MS Graph 更新联合域中 Azure AD 用户(通过 Azure AD Connect 加载)的 UPN。我相当确定我已在
在添加对使用用户的 samAccountName 通过 Active Directory 对用户进行身份验证的支持时,我意外地使用 UPN 格式的 samAccountName 进行了身份验证。 示例
需要快速帮助。 我正在使用 LDAP 通过 Activity 目录进行身份验证, 我想知道如何从 UPN 别名中获取域的所有 UPN 别名, 他们有办法得到这个吗? 请帮忙! 最佳答案 您实际上可以从
我写了一个 Windows 服务托管的 WCF 服务。已部署或本地主机工作正常,我的客户端应用程序可以使用它。 如果我更改 Windows 服务的登录设置并设置域用户(从默认的“本地系统”更改),我的
我正在编写一个 DLL,它具有在不使用用户密码的情况下获取 Alfresco 登录票证的功能,仅使用用户主体名称 (UPN)。我正在调用 alfresco REST API 服务 /wcservice
我不是 .NET 开发人员,我觉得这对于以下人员来说是微不足道的: 我有一个 C# Web 应用程序,它使用户使用已登录用户的用户凭据。目前它使用来自 的 SID System.Security.Pr
我在Azure Active Directory中注册了应用程序,我们使用应用程序ID和 secret 来访问不同的资源,这里是请求访问 token 的示例代码 var authority = $"h
我是一名优秀的程序员,十分优秀!