如何使用数组作为源PowerShell输出Foreach结果数组

时间:2017-02-08 21:37:45

标签: arrays powershell csv

有一个复杂的情况,我不知道如何让自己脱离PowerShell,并需要一些帮助:)

以下情况:我使用$userId = Import-Csv "Email_List.csv"

从单列CSV文件(列标题:UPN)导入数据生成数组

我需要在$ UserId数组中的每个条目上运行命令Get-AzureADUser -ObjectId $UserId,并将其存储在另一个名为$ UserObjectID的数组中,以便稍后使用。 我似乎无法弄清楚如何解决这个问题,有人可以帮忙吗?

我尝试了一些不同的东西,但没有一个能起作用:(

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

希望这有帮助!

在您要导入的CSV文件中,UserPrincipalName 删除 @domain.com.au以及以下内容

$UserId = import-csv "\\file\location\Email_List.csv"

$AzureCreds = (Get-Credential)

Connect-AzureAD -Credential $AzureCreds

$appId = "de35f1ae-1805-4a8c-b862-053e75bb94ea" 

Foreach($Name in $UserID.UPN){   
    $user = Get-AzureADUser -SearchString "Name"
    $servicePrincipal = Get-AzureADServicePrincipal -Filter "appId eq '$appId'" 
    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $servicePrincipal.ObjectId -Id $servicePrincipal.AppRoles.Id
}