Import-Module BitsTransfer $deadline = (Get-Date).AddMinutes(50) while ((Get-Date) -lt $deadline) { $j = Get-BitsTransfer -Name 'Win11ARM64ISO' -ErrorAction SilentlyContinue if (-not $j) { 'JOB GONE'; break } if ($j.JobState -eq 'Transferred') { Complete-BitsTransfer -BitsJob $j Start-Sleep -Seconds 3 $f = Get-Item 'C:\Users\howar\Desktop\Win11_25H2_English_Arm64_v2.iso' 'DONE size=' + $f.Length break } if ($j.JobState -in 'Error','TransientError') { 'STATE=' + $j.JobState + ' :: ' + $j.ErrorDescription if ($j.JobState -eq 'Error') { break } } Start-Sleep -Seconds 30 } $j = Get-BitsTransfer -Name 'Win11ARM64ISO' -ErrorAction SilentlyContinue if ($j) { 'FINAL state=' + $j.JobState + ' bytes=' + $j.BytesTransferred + '/' + $j.BytesTotal }