我无法检索所有我想要的数据,即使我可以看到数据存在,而我正在通过门户查看。
$users = Get-AzureADUser -All $true | `
Where-Object {$_.CompanyName -like 'CompanyName*' | `
Get-Random -Count 1000 | `
Select-Object @{N="EmployeeID";E={$_.ExtensionProperty.employeeId}}, GivenName, Surname, OfficeLocation
我已经更改了公司名称,并删除了一些我出于隐私原因检索的对象。上面的脚本在我的PowerShell窗口中使用,它成功地检索了我想要的数据。
EmployeeId一开始不起作用,通过谷歌搜索和测试,我发现我必须使用“ExtensionProperty”才能检索该数据。我现在遇到的问题是,无论我怎么尝试,都无法检索到“OfficeLocation”。
我已经仔细检查,以确保我有适当的访问我的帐户,一切似乎都是为了,为什么我不能检索任何数据为“officeLocation”?
--我尝试了以下方法
- 我试着为OfficeLocation使用各种名称。例如= OfficeLocation、officeLocation、Office、office_location、Office_Loc、Location等。我花了两天时间想弄明白。
我试着写:
@{N="OfficeLocation";E={$_.AdditionalProperties["officeLocation"]}}
我也试过:
@{N="OfficeLocaton";E={$_.ExtensionProperty.officeLocation}}
两个都不行。This is how the field looks in my AzureAD
因此,在这个示例中(我已经介绍了实际位置),我可以看到存在关于“officelocation”的数据,但我无法使用PowerShell脚本检索它。
这是不是可以通过PowerShell来实现?我需要使用Microsoft Graph API吗?
感谢你们的帮助和指导,你们可以帮助我。
编辑拼写
3条答案
按热度按时间qlfbtfca1#
请注意,在使用Azure AD PowerShell v2模块时,OfficeLocation 显示在
PhysicalDeliveryOfficeName
属性中。在您的示例中,您需要修改代码,将OfficeLocation替换为
PhysicalDeliveryOfficeName
,如下所示:回复:
或者,您也可以使用Microsoft Graph API来获取用户,运行以下查询:
回复:
wljmcqd82#
我认为你需要更新Azure的PowerShell模块,因为上一个版本有一个不同的命令:Get-AzADUser。
试试这个:
然后:
m4pnthwp3#
管道对象的正确语法是
$_
,而不仅仅是$
。如果没有别的,试试:要查看扩展属性对象中的实际键,我建议: