我有以下格式的csv文件
Userprincipalname
joe.blog@acme.com
winston.smart@acme.com
akshe.patel@acme.com
joseph.nkwame@acme
wonkyu.joon@acme.com
但是当使用命令Add-AzureADGroupMember
时,我只能通过objectid添加它们,用户对象ID看起来像这样1c00937a-80f1-48d8-88be-fcd3cXXXXa8e
如何使用我的csv文件,将其翻译为对象的ID,然后将这些ID添加到相关组?
我尝试了以下方法来获取对象ID
$varname = Import-Csv .\avo-fr-sec.csv | %{Get-AzureADUser -ObjectId $_.Userprincipalname} | SELECT ObjectId
但我仍然坚持如何使用命令Add-AzureADGroupMember
将它们添加到组中,该命令只能接受上述对象ID。
干杯
答案 0 :(得分:5)
我找到了解决方案
将所有内容放入变量
$varname = Import-Csv .\avo-fr-sec.csv | %{Get-AzureADUser -ObjectId $_.Userprincipalname} | SELECT ObjectId
变量中的所有对象id(此处为varname
)使用带有Add-AzureADGroupMember
命令的变量
$varname |%{Add-AzureADGroupMember -ObjectId "35d33b63-52cb-4802-bdac-986541XXX9c8" -RefObjectId $_.ObjectId}
正如您所看到的,$_.ObjectId
可以使用,因为在上一个命令中,所有内容都放在带有标题ObjectId
的变量中
答案 1 :(得分:1)
您也可以通过在单个foreach中迭代每个对象来完成此操作。 将用户objectid存储在变量中,如果找到则将其添加到组中。
Import-Csv .\avo-fr-sec.csv | ForEach-Object {
$ObjectId = (Get-AzureADUser -ObjectId $_.Userprincipalname).ObjectId
If ($ObjectId) {
Add-AzureADGroupMember -ObjectId "35d33b63-52cb-4802-bdac-986541XXX9c8" -RefObjectId $ObjectId
}
}