Contenidos
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:
-Source
especifica la URL del archivo que deseas descargar.-Destination
indica 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:
-Source
especifica la ruta del archivo en tu sistema que deseas subir.-Destination
indica la URL del servidor donde deseas subir el archivo.-TransferType Upload
especifica 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-Credential
solicita las credenciales del usuario.-Credential $creds
proporciona 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
).