我们正在尝试批量更新Azure Active Directory。我们有一个UserPrincipalNames的excel csv列表,我们将更新Title,部门和Office属性
# Get List of Clinical CMs
$PATH = "C:\Users\cs\Documents\IT Stuff\Project\Azure AD Update\AD-Update-ClinicalCMs-Test.csv"
$CMs = Import-csv $PATH
# Pass CMs into Function
ForEach ($UPN in $CMs) {
# Do AD Update Task Here
Set-Msoluser -UserPrincipalName $UPN -Title "Case Manager" -Department "Clinical" -Office "Virtual"
}
CSV:
User.1@domain.com
User.2@domain.com
User.3@domain.com
Set-MsolUser命令将单独运行,但此For循环中未按预期运行。任何帮助或见解都将不胜感激
答案 0 :(得分:0)
Jim Xu发表了评论,这里我的评论就是答案。
您显示给我们的输入文件不是CSV文件,而是UPN值的列表,均在单独的行上。
要将这些值读取为字符串数组,最简单的方法是使用Get-Content
:
$PATH = "C:\Users\cs\Documents\IT Stuff\Project\Azure AD Update\AD-Update-ClinicalCMs-Test.csv"
$CMs = Get-Content -Path $PATH
当然,尽管过分夸大了,但是它可以使用Import-Csv
cmdlet完成:
$CMs = (Import-Csv -Path $PATH -Header upn).upn