powershell 无法列出azure广告用户的属性(创建日期时间)

kyks70gy  于 2023-02-16  发布在  Shell
关注(0)|答案(2)|浏览(155)

我的Azure AD租户中有许多用户,我希望在创建用户时收集用户的数据。
我可以通过运行Get-AzureADUser来获取用户详细信息。

Get-AzureADUser | Select-Object, Mail, createdDateTime

但是这个返回了细节但是createdDateTime字段是空的。经过一些研究我发现createdDateTime是一个扩展属性
我发现了这个命令Get-AzureADUserExtension,但现在我的问题是我想得到用户的电子邮件列表和创建的日期时间。
有没有剧本来实现我的场景?
短暂性脑缺血发作

gv8xihay

gv8xihay1#

我尝试在我的环境中重现相同的结果,并成功获得了如下结果:

要获取Azure AD用户的**createdDateTime**及电子邮件地址,我尝试了以下脚本:

$result = @()
$AAD_users = Get-AzureADUser -All:$true
foreach ($AAD_User in $AAD_users) {
$info = [PSCustomObject]@{
Email     = $AAD_User.mail
CreationDateTime  = (Get-AzureADUserExtension -ObjectId $AAD_User.ObjectId).Get_Item("createdDateTime")
}
$result+= $info
}
$result

我能够成功获取使用**createdDateTime**的用户列表,如下所示:

g2ieeal7

g2ieeal72#

我没有使用Az模块,因为它的寿命不再那么遥远了。它被mgGraph cmdlet(安装模块microsoft.graph)所取代。
在那里我可以做:

get-mguser -Filter "userPrincipalName eq 'myName@myCompany.com'" -Property CreatedDateTime,Mail,UserPrincipalName

属性CreatedDateTime不需要扩展,但它必须显式列为要检索的属性,否则我将无法获得值。我认为您可以使用Az cmdlet进行类似操作,或者切换到MgGraph cmdlet,无论如何,直到2024年您都必须这样做。

相关问题