是否可以通过PowerShell命令列出extensionAttribute1-extensionAttribute15?

时间:2019-10-03 13:18:21

标签: azure powershell azure-active-directory

我正在尝试为客户查找是否可以列出onPremisesExtensionAttributes 具有复杂类型,其中包含针对基于云的用户的extensionAttribute1-extensionAttribute15。 这是摘要:

在测试中使用了Graph API beta。 用户资源类型具有一个名为onPremisesExtensionAttributes的属性 具有包含extensionAttribute1-extensionAttribute15

的复杂类型

我们使用MS GRAPH PATCH更新了extensionAttribute1-extensionAttribute15

我们已经通过将extensionAttribute1设置为测试值'xxxxTestValue'进行了测试。

备注:我们不在本地AD上同步。我们已经设置了extensionAttribute1的值 使用MS Graph API PATCH操作。

如何使用PowerShell命令设置extensionAttribute1-extensionAttribute15?

使用PowerShell命令是否可能,还是使用MS Graph的唯一方法?

我们在本文中测试了输出:https://docs.microsoft.com/en-us/powershell/azure/active-directory/using-extension-attributes-sample?view=azureadps-2.0

并收到以下结果:

PS Azure:\> Get-AzureADUser -ObjectId xxxxxxxxxx | Select -ExpandProperty ExtensionProperty

Key                                Value
---                                -----
odata.metadata                     https://graph.windows.net/xxxxxxxxxxxxxxxxxxxx
odata.type                         Microsoft.DirectoryServices.User
createdDateTime                    3/20/19 3:28:08 PM
employeeId
onPremisesDistinguishedName
thumbnailPhoto@odata.mediaEditLink directoryObjects/e98f0e1a-677c-4974-9a2d-31cbb987fb69/Microsoft.DirectoryServices.User/thumbnailPhoto
userIdentities                     []

使用MS Graph资源管理器进行测试可以得到:

请求:

https://graph.microsoft.com/beta/users/usernamexxx?$select=onPremisesExtensionAttributes

响应:

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#usersxxxxxxx(onPremisesExtensionAttributes)/$entityxxxxxxxxx",
    "onPremisesExtensionAttributes": {
        "extensionAttribute1": "xxxxxTestValue",
        "extensionAttribute2": "something else",
        "extensionAttribute3": "another thing",
        "extensionAttribute4": null,
        "extensionAttribute5": null,
        "extensionAttribute6": null,
        "extensionAttribute7": null,
        "extensionAttribute8": null,
        "extensionAttribute9": null,
        "extensionAttribute10": null,
        "extensionAttribute11": null,
        "extensionAttribute12": null,
        "extensionAttribute13": null,
        "extensionAttribute14": null,
        "extensionAttribute15": null
    }
}

请分享您的想法。

1 个答案:

答案 0 :(得分:0)

我想您不能使用内置的powershell来做到这一点。 onPremisesExtensionAttributes仅是Microsoft Graph中User对象的属性,但是AzureADAz powershell都调用Azure AD Graph APIonPremisesExtensionAttributes属性不是AAD图表中User的属性。即使您已在MS图形中进行了设置,也无法通过Get-AzureADUser之类的命令来获取它。

如果要使用powershell进行此操作,则可以选择使用Invoke-RestMethod(示例here)在powershell中调用MS Graph。