Start-BitsTransfer
Start-BitsTransfer es un cmdlet de PowerShell que se utiliza para descargar o cargar archivos utilizando el Servicio de Transferencia Inteligente en Segundo Plano (BITS) de Microsoft. BITS permite la transferencia de archivos en segundo plano, aprovechando el ancho de banda disponible y reanudando automáticamente las transferencias interrumpidas.
¿Qué es BITS?
El Servicio de Transferencia Inteligente en Segundo Plano (BITS) es una tecnología de transferencia de archivos que facilita la descarga y carga de archivos grandes de manera eficiente y confiable. BITS puede ajustar automáticamente su velocidad de transferencia para no interferir con otras aplicaciones que utilizan la red.
¿Qué hace Start-BitsTransfer?
Start-BitsTransfer permite a los usuarios iniciar una transferencia de archivos (descarga o carga) de manera sencilla. Este cmdlet proporciona control sobre diversas opciones, como la prioridad de la transferencia y la autenticación.
Ejemplos de uso de Start-BitsTransfer
Ejemplo 1: Descargar un archivo desde una URL
Este ejemplo muestra cómo descargar un archivo desde una URL y guardarlo en una ubicación específica en el sistema local.
Start-BitsTransfer -Source "https://example.com/file.zip" -Destination "C:\Downloads\file.zip"
En este caso:
-Sourceespecifica la URL del archivo que deseas descargar.-Destinationindica la ruta en tu sistema donde deseas guardar el archivo descargado.
Ejemplo 2: Subir un archivo a un servidor
Este ejemplo muestra cómo subir un archivo desde el sistema local a un servidor.
Start-BitsTransfer -Source "C:\Uploads\file.zip" -Destination "https://example.com/upload" -TransferType Upload
En este caso:
-Sourceespecifica la ruta del archivo en tu sistema que deseas subir.-Destinationindica la URL del servidor donde deseas subir el archivo.-TransferType Uploadespecifica que la transferencia es una carga (upload).
Ejemplo 3: Descargar varios archivos
Este ejemplo muestra cómo descargar varios archivos en una sola operación.
$files = @(
@{
Source = "https://example.com/file1.zip"
Destination = "C:\Downloads\file1.zip"
},
@{
Source = "https://example.com/file2.zip"
Destination = "C:\Downloads\file2.zip"
}
)
foreach ($file in $files) {
Start-BitsTransfer -Source $file.Source -Destination $file.Destination
}
En este caso:
- Se crea un array de hashes, donde cada hash contiene la fuente y el destino de cada archivo.
- Se itera sobre cada archivo en el array y se inicia una transferencia con
Start-BitsTransfer.
Ejemplo 4: Descargar un archivo con autenticación
Este ejemplo muestra cómo descargar un archivo desde una URL que requiere autenticación.
$creds = Get-Credential
Start-BitsTransfer -Source "https://example.com/securefile.zip" -Destination "C:\Downloads\securefile.zip" -Credential $creds
En este caso:
Get-Credentialsolicita las credenciales del usuario.-Credential $credsproporciona las credenciales necesarias para autenticar la solicitud de descarga.
Opciones adicionales
Start-BitsTransfer ofrece varias opciones adicionales que permiten personalizar las transferencias:
-Priority: establece la prioridad de la transferencia (Foreground,High,Normal,Low).-Asynchronous: inicia la transferencia en modo asíncrono.-Description: proporciona una descripción para la transferencia.-ProxyUsage: configura cómo se utiliza el proxy (Preconfig,NoProxy,Override,Autodetect).