Функция PowerShell для добавления элементов в массив

Я все еще довольно плохо знаком с PowerShell и пытаюсь создать несколько функций, которые объединяются для создания и администрирования массива. И я'У меня возникли некоторые проблемы с тем, чтобы заставить одну из этих функций работать как задумано.

Мне нужна вторая функция (AddToArray), чтобы добавить элемент к указанному индексу. Ни один из существующих элементов не может быть перезаписан или удален.

Например, если у меня есть массив с четырьмя индексами, и все имеют значение 5, и я вызываю функцию AddToArray 2 4. Мне нужно написать функцию для третьего индекса и переместить существующие на один шаг вниз, поэтому массив теперь выглядит так:

5
5
4
5
5

Это мой код, который пока показывает мою функцию CreateArray и небольшой фрагмент кода для функции AddToArray. Я'я уже некоторое время пытаюсь, но я просто могуне вижу решения.

function CreateArray($Item1, $Item2)
{
    $arr = New-Object Array[] $Item1;

    # Kontrollerar om $Item2 har fått någon input och skriver in det i arrayen
    if ($Item2)
    {
        for($i = 0; $i -lt $arr.length; $i++)
        {
            $arr[$i] = $Item2;
        }
    }
    # Standard värde på arrayens index om inget värde anges vid funktionens anrop
    else
    {
        $Item2 = "Hej $env:username och välkommen till vårat script!";

        for($i = 0; $i -lt $arr.length; $i++)
        {
            $arr[$i] = $Item2;
        }
    }
    $script:MainArray = $arr;
}

function AddToArray ($index, $add)
{
    $MainArray[$index] = $add;
}

Ответы на вопрос(2)

Ваш ответ на вопрос