You don't need the $output variable at all.
Also, the Write-Host cmdlet sends its output directly to the host, not to the "Success" stream (which is where you want it)
Get-content "C:\Users\Admin\Desktop\Sites\prss.txt" |
ForEach-Object {
if (Test-Connection -ComputerName $_ -Count 1 -ErrorAction SilentlyContinue){
Write-Host "$name is up" -ForegroundColor Green
"$_ is up"
} else {
Write-Host "$name is down" -ForegroundColor Red
"$_ is down"
}
} | Out-File 'C:\Users\Admin\Desktop\Sites\results.txt'
Start-Sleep -Seconds 15