我已经从O365,所有共享邮箱中导出了270个用户帐户的列表,我要做的是拉出每个帐户的部门字段。 但是我用来获取sharedlist.csv的cmdlet Get-Mailbox的输出不包含部门信息。
我知道AzureADUser可以,所以,我试图遍历sharedlist.csv并为sharedlist.csv中列出的每个地址提取显示名称,UPN和部门
我要弄清楚的是如何让Get-AzureADUser仅提取有关我在CSV文件中列出的用户的信息。 这是我到目前为止的命令:
导入Csv'C:\ PowerShell脚本\ sharedlist.csv'| ForEach {Get-AzureADUser-全部$ True |选择对象DisplayName,UserPrincipalName,部门}
这显然不适用于我想做的事情。它以我想要的格式输出并显示数据,但是它将拉动每个Azure广告用户,然后反复循环播放。如果有人可以指出完成该工作所需的正确语法,我将不胜感激。
TIA
答案 0 :(得分:1)
正如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
}