ฉันกำลังเขียนสคริปต์ PowerShell ที่ต้องสามารถดาวน์โหลดไฟล์ขนาดใหญ่จำนวนมากจากเซิร์ฟเวอร์จำนวนมาก (เช่นโฮสต์เซิร์ฟเวอร์ windows) ในครั้งเดียว เซิร์ฟเวอร์เหล่านี้จำนวนมากอาจใช้สำหรับกิจกรรมที่สำคัญและดังนั้นจึงเป็นสิ่งสำคัญที่วิธีการถ่ายโอนมีความสามารถในการจางหายไปเป็นพื้นหลังเมื่อโหลดบนเซิร์ฟเวอร์เริ่มสูงขึ้น
นี่คือวิธีการถ่ายโอน 3 วิธีที่ฉันรู้พร้อมกับสาเหตุที่ฉันไม่คิดว่ามันดีพอสำหรับงาน
BitsTransfer : สิ่งแรกที่นึกได้คือ BitsTransfer ( https://docs.microsoft.com/en-us/powershell/module/bitstransfer/start-bitstransfer?view=win10-ps ) อย่างไรก็ตามมีปัญหาร้ายแรงเกี่ยวกับวิธีการนี้เนื่องจากไม่สามารถถ่ายโอนไฟล์ที่ใช้เพื่อเขียนโดยกระบวนการอื่นและไฟล์จำนวนมากที่ต้องดาวน์โหลดจากเซิร์ฟเวอร์จะอยู่ใน สถานะ. ดู start-bitstransfer: กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากกำลังถูกใช้โดยกระบวนการอื่น สำหรับปัญหานั้น ...
คัดลอกรายการ : สิ่งนี้ไม่ให้ความสำคัญกับการควบคุมดังนั้นจึงมีความเป็นไปได้ที่การถ่ายโอนไฟล์ขนาดใหญ่อาจทำให้เซิร์ฟเวอร์หยุดชะงักในขณะที่กำลังประมวลผลการโหลดที่สำคัญ
robocopy : อีกครั้งฉันไม่เห็นการกล่าวถึงลำดับความสำคัญหรือการประมวลผลเบื้องหลัง