title: PowerShell function for adding elements to an array
body: <p>I'm still quite new to PowerShell and am trying to create a few functions that weaves together for creating and administrating an array. And I'm having some problems with getting one of these functions to work as intended.</p>
  
  <p>I need the second function (AddToArray) to add an element to the specified index. None of the existing elements can be overwritten or removed.</p>
  
  <p>For example, if I have an array with four indexes and all have the value 5 and I call the function AddToArray 2 4. I need the function to write for in the third index and move the existing ones one down step, so the array now looks like this:</p>
  
  <pre><code>5
  5
  4
  5
  5
  </code></pre>
  
  <p>This is my code so far that shows my CreateArray function and the little code piece for AddToArray function. I've been trying for a while now, but I just can't see the solution.</p>
  
  <pre><code>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;
  }
  </code></pre>