[英]Powershell BitsTransfer does not complete
很抱歉不斷詢問Powershell,我的script-foo不是必需的。
我正在編寫一個BitsTransfer .PS1以自動每周一次下載ASCII文件。
它似乎從未完成並達到“已傳輸”狀態,似乎停滯在“正在傳輸”狀態。 我可以在-Destination文件夾中看到一個TMP文件,其中包含我的ASCII數據。
當我手動下載目標文件並將其與TMP文件進行比較時,它們的大小相同,並且似乎具有相同的首尾記錄。 我認為下載已完成。
如果我手動運行Get-BitsTransfer | Complete-BitsTransfer,TMP文件消失,但仍然沒有-Destination文件。
我的腳本沒什么復雜的...
$date= Get-Date -format yyMMdd
$ntispasswd = ConvertTo-SecureString "*******" -AsPlainText -Force
$ntiscreds = New-Object System.Management.Automation.PSCredential ("*******", $ntispasswd)
$jobdescriptor = "DMFWA" + $date
$dmfpath = "C:\DMF"
# -Source https://dmf.ntis.gov/dmldata/weekly/WA$date `
Import-Module BitsTransfer
Start-BitsTransfer `
-DisplayName $jobdescriptor `
-Priority High `
-ProxyUsage Override `
-ProxyList mckwebfilt1:3128 `
-RetryInterval 60 `
-TransferType Download `
-Source https://dmf.ntis.gov/dmldata/weekly/WA130322 `
-Destination $dmfpath\TestWA$date.txt `
-Authentication Basic `
-Credential $ntiscreds `
-Asynchronous
$job = Get-BitsTransfer $displayname
While($Job.Jobstate -ne 'Transferred'){
$job
Start-Sleep -s 1
}
Complete-BitsTransfer $job
有人可以幫助我了解我在做什么錯嗎?
我在BitsAdmin上花費了太多時間來嘗試傳輸從未完成的文件,因為該文件的長度不是由服務器提供的。
Start-BitsTransfer : Die Dateigröße wurde vom Server nicht zurückgegeben.
Möglicherweise enthält die URL dynamischen Inhalt. Der
Inhaltslängenheader ist in der Server-HTTP-Antwort nicht verfügbar.
In Zeile:1 Zeichen:1
+ Start-BitsTransfer http://***/file c:\users\***\file.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-BitsTransfer],Exception
+ FullyQualifiedErrorId :
StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.
Management.NewBitsTransferCommand
在Powershell中使用Start-BitsTransfer嘗試相同的方法后,它的行為相同。
這個解決方案真的很棒,並且解決了我的問題! 謝謝!
$request = New-Object System.Net.Webclient
$passwd = ConvertTo-SecureString "**" -AsPlainText -Force
$request.Credentials = New-Object System.Management.Automation.PSCredential ("**", $passwd)
$request.Downloadstring("https://my full target url")
查看此網頁上有關使用Start-BitsTransfer的最后一個示例,看看是否有幫助。
原來是“皇家皮塔餅”。
謝謝Kieth的提示。
我無法讓BitTransfer正常工作並采取這樣的措施。
$request = New-Object System.Net.Webclient
$passwd = ConvertTo-SecureString "**" -AsPlainText -Force
$request.Credentials = New-Object System.Management.Automation.PSCredential ("**", $passwd)
$request.Downloadstring("https://my full target url")
您以正確的方式做到了:
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
Get-BitsTransfer | Complete-BitsTransfer
可能的失敗
$dmfpath\\TestWA$date.txt
Get-BitsTransfer | Remove-BitsTransfer
結尾Get-BitsTransfer | Remove-BitsTransfer
Get-BitsTransfer | Remove-BitsTransfer
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.