首页 > 解决方案 > 导入 .csv AzureADUser 脚本仅返回 100 个条目

问题描述

我从 O365 导出了一个包含 270 个用户帐户的列表,我所有的共享邮箱,我想要做的是提取每个帐户的部门字段。但是我用来获取 sharedlist.csv 的 cmdlet Get-Mailbox 的输出不包括部门信息。

我知道 AzureADUser 会这样做,因此,我正在尝试遍历 sharedlist.csv 并为 sharedlist.csv 中列出的每个地址提取显示名称、UPN 和部门

我想弄清楚的是如何让 Get-AzureADUser 仅提取我在 CSV 文件中列出的用户的信息。这是我到目前为止的命令:

Import-Csv 'C:\PowerShell Scripts\sharedlist.csv' | ForEach {Get-AzureADUser -All $True | Select-Object DisplayName,UserPrincipalName,Department}

这显然不适用于我正在尝试做的事情。它以我想要的格式输出并显示数据,但它会拉动每个 Azure 广告用户,然后一遍又一遍地循环。如果有人能指出完成这项工作所需的正确语法,我将不胜感激。

TIA

标签: powershellcsvexport-to-csvimport-from-csv

解决方案


正如 Lee_Daily 在他的评论中已经解释的那样,您使用的是Get-AzureADUser不带任何参数的 cmdlet,因此它会返回有关任何用户的信息,而不仅仅是您在 CSV 文件中定义的用户信息。

如果您的文件(我查看了原始问题)如下所示:

"UserPrincipalName"
"user1@domain.com"
"user2@domain.com"
"user270@domain.com"

那么这应该适合你:

$data = Import-Csv 'C:\PowerShell Scripts\sharedlist.csv'
$data | ForEach-Object {
    Get-AzureADUser -ObjectId $_.UserPrincipalName  | Select-Object DisplayName,UserPrincipalName,Department
} 

推荐阅读