Вот демонстрация того, как использовать командлет Group-Object
для итерации по элементам в импортированном CSV-файле по группированному свойству. [ ухмылка ]
в строке give person
, вы можете либо добавить свой вызов в свой сценарий для каждого человека, либо собрать имена всех людей для этого .Role
и добавить их всех сразу.
# fake reading in a CSV file
# in real life, use Import-CSV
$InStuff = @'
role, member
role1, memberA
role1, memberB
role2, memberC
role3, memberX
role3, memberY
role3, memberC
'@ | ConvertFrom-Csv
$GroupedIS = $InStuff |
Group-Object -Property Role
foreach ($GIS_Item in $GroupedIS)
{
foreach ($GG_Item in $GIS_Item.Group)
{
'give person [ {0} ] the role [ {1} ]' -f $GG_Item.Member, $GG_Item.Role
}
}
вывод ...
give person [ memberA ] the role [ role1 ]
give person [ memberB ] the role [ role1 ]
give person [ memberC ] the role [ role2 ]
give person [ memberX ] the role [ role3 ]
give person [ memberY ] the role [ role3 ]
give person [ memberC ] the role [ role3 ]