@@ -21,14 +21,18 @@ if ($PreStageOnly -eq "T") {
2121 }
2222 $AssetstartDTM = (Get-Date )
2323 # Download Current Version of WVD Agent
24- # Invoke-WebRequest -Uri $infraURI -OutFile "$WVDMigrateInfraPath\Microsoft.RDInfra.RDAgent.Installer-x64.msi"
25- Start-BitsTransfer - Source $infraURI - Destination " $WVDMigrateInfraPath \Microsoft.RDInfra.RDAgent.Installer-x64.msi"
24+ try {
25+ Start-BitsTransfer - Source $infraURI - Destination " $WVDMigrateInfraPath \Microsoft.RDInfra.RDAgent.Installer-x64.msi"
26+ }
27+ catch {
28+ Invoke-WebRequest - Uri $infraURI - OutFile " $WVDMigrateInfraPath \Microsoft.RDInfra.RDAgent.Installer-x64.msi"
29+ }
2630 Write-Host " Downloaded RDInfra Agent"
2731 $AssetendDTM = (Get-Date )
2832 Write-Host " Agent Download Time: $ ( ($AssetendDTM - $AssetstartDTM ).totalseconds) seconds"
2933}
3034if ($UpdateOnly -eq " T" ) {
31- $tp = Test-Path - Path " C:\WVDMigrate \Microsoft.RDInfra.RDAgent.Installer-x64.msi" - PathType leaf
35+ $tp = Test-Path - Path " $WVDMigrateInfraPath \Microsoft.RDInfra.RDAgent.Installer-x64.msi" - PathType leaf
3236 if ($tp -eq $true ) {
3337 Write-Host " WVD Infra Agent Found at" $WVDMigrateInfraPath
3438 }
@@ -41,13 +45,16 @@ if ($UpdateOnly -eq "T") {
4145 Write-Host " Uninstalling any previous versions of RDInfra Agent on VM"
4246 $RDInfraApps = Get-WmiObject - Class Win32_Product | Where-Object { $_.Name -eq " Remote Desktop Services Infrastructure Agent" }
4347 foreach ($app in $RDInfraApps ) {
44- Write-Host " Uninstalling Infra Agent $app .Version"
48+ Write-Host " Uninstalling Infra Agent" $app.Version
4549 $app.Uninstall ()
4650 }
47- $AgentInstaller = (Get-ChildItem $WVDMigrateInfraPath \ - Filter * .msi | Select-Object ).FullName
48- $RegistrationToken = $HostPoolToken
49- Write-Host " Starting install of $AgentInstaller "
50- $agent_deploy_status = Start-Process - FilePath " msiexec.exe" - ArgumentList " /i $AgentInstaller " , " /quiet" , " /qn" , " /norestart" , " /passive" , " REGISTRATIONTOKEN=$RegistrationToken " , " /l* $WVDMigrateInfraPath \AgentInstall.txt" - Wait - Passthru
51+ $RDInfraApps = Get-WmiObject - Class Win32_Product | Where-Object { $_.Name -eq " Remote Desktop Services Infrastructure Agent" }
52+ if ($RDInfraApps.Count ) {
53+ Write-Host " Couldn't uninstall all Infra Agent Versions"
54+ break
55+ }
56+ Write-Host " Starting install of $WVDMigrateInfraPath \Microsoft.RDInfra.RDAgent.Installer-x64.msi"
57+ $agent_deploy_status = Start-Process - FilePath " msiexec.exe" - ArgumentList " /i $WVDMigrateInfraPath \Microsoft.RDInfra.RDAgent.Installer-x64.msi" , " /quiet" , " /qn" , " /norestart" , " /passive" , " REGISTRATIONTOKEN=$HostPoolToken " , " /l* $WVDMigrateInfraPath \AgentInstall.txt" - Wait - Passthru
5158 $sts = $agent_deploy_status.ExitCode
5259 Write-Host " Installing RD Infra Agent on VM Complete. Exit code=$sts "
53- }
60+ }
0 commit comments