Если вы посмотрите на свой код, вы создаете список хеш-таблиц, который содержит ваше SamAccountName и группы. Но когда вы используете перечислитель, вы думаете только о хеш-таблице, а не о созданном вами списке.
Именно так вы можете перебирать хеш-таблицу. Сначала вы создаете таблицу ha sh и добавляете в нее все элементы.
$hash = @{}
Get-ADUser -Filter { employeeNumber -notlike '*' } -Properties memberOf, samAccountName | ForEach-Object -Process { $hash.Add($_.samAccountName, ($_.memberOf | Where-Object { $_ -like '*DAT*' })) }
$hash.GetEnumerator() |
Select-Object -Property @{N='AD1';E={$_.Key}},
@{N='AD2';E={$_.Value}} |
Export-Csv -NoTypeInformation -Path H:\test123.csv
Или вы можете продолжить работу со списком хеш-таблиц, но изменить способ доступа к данным. Каждый элемент вашего списка представляет собой одну хеш-таблицу с ключами (только один в ней).
$users = Get-ADUser -Filter { employeeNumber -notlike '*' } -Properties memberOf, samAccountName | ForEach-Object -Process { @{ $_.samAccountName = $_.memberOf | Where-Object { $_ -like '*DAT*' } } }
$users.GetEnumerator() |
Select-Object -Property @{N='AD1';E={$_.Keys[0]}},
@{N='AD2';E={$_.Values[0]}} |
Export-Csv -NoTypeInformation -Path H:\test123.csv