Try something like this
$vm=Get-VM-NameMyVM
Mount-Tools-VM$vm
$cdScript=@"
Get-WmiObject Win32_CDROMDrive | Where-Object {`$_.VolumeName -match "VMware Tools"} |
Select-Object -ExpandProperty Drive
"@
$toolsScript="$cd\setup.exe /S /v `"/qn REBOOT=R ADDLOCAL=ALL REMOVE=Hgfs,WYSE,ThinPrint`""
$cd=Invoke-VMScript-VM$vm-ScriptText$cdScript|Select-ExpandPropertyScriptOutput
$cd=$cd.Substring(0,2)
Invoke-VMScript-VM$vm-ScriptText$toolsScript-ScriptTypebat
while ($vm.ExtensionData.Guest.ToolsRunningStatus-ne"guestToolsRunning"){
sleep2
$vm.ExtensionData.UpdateViewData("Guest.ToolsRunningStatus")
}
Dismount-Tools-VM$vm
Shutdown-VMGuest-VM$vm-Confirm:$false