如何通过Microsoft Graph PowerShell同时展示用户名、登录及创建日期
解决Microsoft Graph PowerShell同时获取用户名称、最后登录时间和创建日期的问题
原脚本的问题出在两处:
- 用
select 'DisplayName'会过滤掉其他属性,导致后续无法访问SignInActivity数据 - 没有在
Get-MgUser的-Property参数中指定CreatedDateTime,拿不到用户创建日期
修正后的脚本可以一次性获取并展示这三个信息:
Select-MgProfile -Name "beta" Connect-MgGraph -Scopes 'AuditLog.Read.All', 'User.Read.All' # 补充User.Read.All权限,确保能读取用户创建日期 $users = Get-MgUser -Top 50 -Property DisplayName, SignInActivity, CreatedDateTime | Select-Object DisplayName, @{Name='LastSignInDateTime'; Expression={$_.SignInActivity.LastSignInDateTime}}, CreatedDateTime $users
关键改动说明:
- 权限补充:添加
User.Read.All权限,读取用户创建日期需要该权限,仅AuditLog.Read.All不足以获取用户基础属性 - 属性指定:在
Get-MgUser中明确指定DisplayName、SignInActivity、CreatedDateTime三个属性,确保所需数据被返回 - 计算属性提取:通过
Select-Object的计算属性直接从SignInActivity中提取LastSignInDateTime,最终输出结果会显示三个清晰的列
如果需要导出结果到CSV文件,可在最后追加:
$users | Export-Csv -Path "用户登录信息.csv" -NoTypeInformation -Encoding UTF8
内容的提问来源于stack exchange,提问作者user770022
相关产品推荐
相关产品推荐

