【发布时间】:2019-09-03 17:28:15
【问题描述】:
我正在尝试从 UserPrincipalNames 列表中获取部门
我可以让它为 foreach 循环之外的单个用户工作。它在我遇到问题的地方添加了循环。
Connect-MsolService
$users = Import-Csv C:\Users\me\Desktop\users.csv
foreach ($user in $users){
Get-MsolUser -UserPrincipalName $user | Select-Object firstname, lastname, UserPrincipalName, department |Export-Csv C:\Users\me\Desktop\test.csv
}
CSV 中列出了 50 个电子邮件地址,每行一个电子邮件地址。第一行是“UserPrincipalName”
CSV 样本数据
userprincipalname
useremail1@mydomain.com
useremail2@mydomain.com
useremail3@mydomain.com
useremail4@mydomain.com
【问题讨论】:
-
什么不起作用?我完全尝试了您的示例,它按预期返回了结果。请提供任何错误消息或解释您的预期与结果。
-
呈现的代码不会将所有具有必要信息的用户发送到目标 TEST.CSV。 (实际上,CSV 将是空的,并带有给定的代码。)请参阅下面的答案。
-
你没有给
Export-Csv任何可导出的东西 -
是的,
export-csv放错了地方,但即使没有它,我也会收到错误Get-MsolUser : User Not Found. User: @{UserPrincipalName=user@test.com} -
您正在使用
$user作为您的 UPN ...但这来自导入 CSV。这意味着它将是一个具有至少一个属性的对象,该属性具有至少一个值。如果你使用$User.PropertyNameThatContainsTheUPN会发生什么?
标签: powershell foreach office365