Я пытаюсь сделать некоторую математику для динамического списка пользователей, который я буду использовать для запуска поиска и подсчета некоторых результатов анонимно, а затем добавляю к промежуточному итогу для каждого пользователя. Так, например:
$users = Get-ADUser -filter blah
[int]$usercount = $users.count
for ($z=1; $z -le $usercount; $z++) {
**** create variable here - $user$z ***
}
Когда переменная создана, мне нужно, чтобы она была доступна для дальнейших циклов, где я добавлю счет к числу, уже сохраненному в переменной.
И нет, я не могу использовать переменную $ user, потому что она должна сохраняться после завершения цикла foreach.
Итак, вопрос в том, как сгенерировать эту инкрементную переменную, не зная предела числа возможных объектов?
---РЕДАКТИРОВАТЬ---
Добавляя простой пример того, о чем я говорю ...
После обратной связи я смотрю на хеш-таблицы, но все еще не могу понять, как ссылаться.
Представьте себе игру в кости между динамическим списком людей с несколькими раундами. Я хочу увеличить за раунд их общее количество. Моя проблема - последняя строка, где я пытаюсь обновить итоговую сумму с помощью списка. Как я могу ссылаться на значение хеш-таблицы?
[CmdletBinding()]
param (
[parameter(Mandatory=$false)][ValidateRange(1, [int32]::MaxValue)][int]$rounds = "15",
[parameter(Mandatory=$false)][ValidateRange(1, [int32]::MaxValue)][int]$players = "2"
)
$ptotal = [ordered]@{}
for ($w=1; $w -le $players; $w++) {
$ptotal.add("player$w", 0)
}
for ($z=1; $z -le $rounds; $z++) {
Write-Host Round $z
for ($y=1; $y -le $players; $y++) {
$roll = (1..6 | get-random) + (1..6 | get-random)
$ptotal.player$y = $ptotal.player$y + $roll
}
}