Powershell 网络问题后如何恢复bits传输
我正在使用异步比特传输从远程服务器下载文件,在那里我通过VPN连接。 VPN断开后,有没有办法继续下载 当我开始下载,然后暂停我的VPN,并在几秒钟后恢复它位传输失败与TransientErrorPowershell 网络问题后如何恢复bits传输,powershell,Powershell,我正在使用异步比特传输从远程服务器下载文件,在那里我通过VPN连接。 VPN断开后,有没有办法继续下载 当我开始下载,然后暂停我的VPN,并在几秒钟后恢复它位传输失败与TransientError $transferCredentail = Get-Credential $transferJob = Start-BitsTransfer -Source "\\remoteserver\path\filename" -Credential $transferCredentail -Destinat
$transferCredentail = Get-Credential
$transferJob = Start-BitsTransfer -Source "\\remoteserver\path\filename" -Credential $transferCredentail -Destination C:\Temp -Description "Test" -Asynchronous
while (($transferJob.JobState -eq "Transferring") -or ($transferJob.JobState -eq "Connecting"))
{
Write-Output $transferJob.JobState
sleep 5;
}
Switch($transferJob.JobState)
{
"Transferred" {Complete-BitsTransfer -BitsJob $transferJob}
"Error" {$transferJob | Format-List } # List the errors.
default
{
Write-Output $transferJob.JobState
"Other action"
}
}
对于挂起的作业,可以在switch语句中添加以下内容。我忘记了当出现网络问题时bitstransfer作业会进入什么状态,我认为它已挂起,但如果这不起作用,您可以将其添加到默认条件中,并添加一个if条件来处理传输状态以外的任何情况
这将恢复当前用户拥有的所有BitsTransfer作业。如果你有一个工作的名字,你可以引用这个名字。解决方法很简单。只需在while循环中检查TransientError状态。一段时间后,作业状态切换回传输状态,下载成功完成
while (($transferJob.JobState -eq "Transferring") -or ($transferJob.JobState -eq "Connecting") -or ($transferJob.JobState -eq "TransientError"))
{
Write-Output $transferJob.JobState
sleep 5;
}
谢谢你的帮助。我解决的有点不同。bitstransfer做多播吗?
while (($transferJob.JobState -eq "Transferring") -or ($transferJob.JobState -eq "Connecting") -or ($transferJob.JobState -eq "TransientError"))
{
Write-Output $transferJob.JobState
sleep 5;
}