仅导入 .csv AzureADUser 脚本 returns 100 个条目

Import .csv AzureADUser script only returns 100 entries

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

我知道 AzureADUser 会这样做,所以,我正在尝试遍历 sharedlist.csv 并为 sharedlist.csv

中列出的每个地址提取显示名称、UPN 和部门

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

导入 Csv 'C:\PowerShell Scripts\sharedlist.csv' | ForEach {Get-AzureADUser -All $True | Select-对象显示名称、用户主体名称、部门}

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

TIA

正如 Lee_Daily 已经在他的评论中解释的那样,您正在使用不带任何参数的 Get-AzureADUser cmdlet,因此它 returns 有关任何用户的信息,而不仅仅是您定义的用户在 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
}