Генерация случайного списка в Powershell?
$ComputerList = "PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10"
$AllComputer = $computerList.Split(",") 
Write-Host -ForegroundColor Magenta "Количество компьютеров:" $AllComputer.Length
$newList = @()
# for ($i =0; $i -eq 4; $i++) { "-eq" - условие выполнения содержимого цикла, у вас оно не выполняется, т.к. "0=4" - Ложь
for ($i =0; $i -le 4; $i++) {
$index = Get-Random -Maximum $AllComputer.Length
# $newList[$i] = $ComputerList[$index] - добавление в список по несуществующему индексу (изначально список пуст), $ComputerList - не список а строка, которую Вы преобразуете в список (строка 2) и складываете в переменную $AllComputer
$newList += $AllComputer[$index]
}
Write-Host -ForegroundColor Green "Количество новых компьютеров:" $newList.Length
Write-Host -ForegroundColor Red "Список новых компьютеров:" $newList
Учитывая, что это все-таки powershell, а не basic, я бы написал так:
# Сразу используем массив, а не строку - можно обойтись без деления на части
$ComputerList = "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10"
Write-Host -ForegroundColor Magenta "Количество компьютеров:" $ComputerList.Length

# Get-Random Умеет сам выбирать нужное количество элементов, поданных на вход
# к тому же он выдаёт гарантированно неповторяющиеся элементы, ваш вариант потенциально может выдать, например, два пятых компа
$NewList = $ComputerList | Get-Random -Count 5

Write-Host -ForegroundColor Green "Количество новых компьютеров:" $newList.Length
Write-Host -ForegroundColor Red "Список новых компьютеров:" $newList