名称包含连字符的用户具有Azure AD属性。例如,msDS-cloudExtensionAttribute1
或msDS-principalName
。但是,如果我尝试在$select
或$filter
中从Microsoft Graph查询这些内容,则会收到错误消息:
https://graph.microsoft.com/v1.0/users/?$select=id,msDS-principalName
{
"error": {
"code": "BadRequest",
"message": "Parsing Select and Expand failed.",
"innerError": {
"request-id": "...",
"date": "..."
}
}
}
或
https://graph.microsoft.com/v1.0/users/?$filter=msDS-principalName eq 'abc'
{
"error": {
"code": "BadRequest",
"message": "Invalid filter clause",
"innerError": {
"request-id": "...",
"date": "..."
}
}
}
我找不到有关转义连字符或以其他方式成功查询此类属性的任何文档。
不起作用的东西:
%2D
答案 0 :(得分:1)
msDS-cloudExtensionAttribute1
是本地AD中的一个属性,如果要在Azure AD中获得具有此属性的用户,则需要使用Azure AD Connect来同步
将msDS-cloudExtensionAttribute1
的属性extension_3e2cd06ca3494546888b069a891b4bb6_msDS_cloudExtensionAttribute1
设置为Azure AD。在Azure AD中,连字符在扩展名属性名称中无效,它应与正则表达式[a-zA-Z_][0-9a-zA-Z_]*
相匹配。
有关同步的更多详细信息,请参阅此link。同步后,您可以使用Microsoft Graph获取具有扩展名属性的用户,如下所示。
GET https://graph.microsoft.com/v1.0/users/<object-id>?$select=extension_3e2cd06ca3494546888b069a891b4bb6_msDS_cloudExtensionAttribute1
或
GET https://graph.microsoft.com/v1.0/users?$select=extension_3e2cd06ca3494546888b069a891b4bb6_msDS_cloudExtensionAttribute1