Please use the below script and let me know if any issues.
clear
$logfile = "result.txt"
$vms = ""
$output = ""
$temp =""
$vm=""
Connect to vcenter server
$vcenter = read-host "Enter the vCenter Instance"
connect-viserver -Server $vcenter -WarningAction SilentlyContinue
Get-Date | out-file $logfile
echo "============ Details ===============" | out-file $logfile -Append
$vms = Get-Content .\list.txt
$output = get-vm $vms | select name, vmhost, PowerState, version, toolsversion, toolsversionstatus,Guest `
|Sort-Object -Property toolsversionstatus | FT -AutoSize -GroupBy toolsversionstatus -wrap
$output
$output | Out-File $logfile -append
Disconnect-VIServer * -confirm:$false