Powershell - Utiliser le transfert de fichiers par BITS
Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub, acheter mes plans 3D ou encore faire un don ou vous abonnez sur Ko-Fi. Merci!
Bonjour,
BITS (Background Intelligent Transfer Service) est un service Windows qui permet d’effectuer des transferts de données. Il permet de : - Définir une priorité de bande passante réseau - Suspendre et reprendre un transfert - De transférer en mode synchrone ou asynchrone - Télécharger ou envoyer des données - Reprendre le transfert après un redémarrage
# Effectuer un téléchargement avec BITS$Params = @{ Source = 'https://github.com/PowerShell/PowerShell/releases/download/v7.2.2/PowerShell-7.2.2-win-x64.msi' Destination = 'd:\PowerShell-7.2.2-win-x64.msi' DisplayName = 'Test' Priority = 'Normal'}$job = Start-BitsTransfer @Params -Asynchronous# Par défaut, le transfert BITS s'effectue en mode synchrone avec priorité haute (foreground).# Pas de caractère générique pour les adresses en HTTP ou HTTPS
# Lister les transfertsGet-BitsTransfer
# Afficher les jobs BITS de tout le mondeGet-BitsTransfer -AllUsers
# Suspendre un transfert$job | Suspend-BitsTransfer
# Reprendre un transfert$job | Resume-BitsTransfer -Asynchronous# Par défaut, le transfert est relancé en mode synchrone même s'il était lancé en asynchrone initialement.# Vous pouvez reprendre le transfert après un redémarrage
# Compléter les transferts terminésGet-BitsTransfer | Where-Object Jobstate -eq Transferred | Complete-BitsTransfer# En mode asynchrone, un fichier temporaire est créé, Complete-BitsTranfer permet de générer le fichier final.# Si le fichier final est déjà présent, il ne sera pas écrasé et restera dans l'état fichier temporaire
# Récupérer un fichier à partir d'un partage$DriveParams = @{ name = 'drive' PSProvider = 'FileSystem' Root = '\\10.0.0.253\iso' cred = Get-Credential }New-PSDrive @DriveParams# Il est nécessaire de créer un lecteur sinon une erreur chemin non trouvé est renvoyé# pour le chemin SMB dans Start-BitsTransfer
$Params = @{ Source = 'drive:\fr-fr_windows_11_business_editions_x64_dvd_95aa5eee.iso' Destination = 'c:\' DisplayName = 'Test2'}Start-BitsTransfer @Params -Asynchronous# Il n'est pas nécessaire de spécifier le nom du fichier de destination pour les chemins UNC
# Ajouter des fichiers supplémentaires à une tâche$Params = @{ Source = 'drive:\fr-fr_windows_server_2022_x64_dvd_9f7d1adb.iso' Destination = 'c:\'}Get-BitsTransfer -Name test2 | Add-BitsFile @ParamsGet-BitsTransfer -Name test2 | Select-Object displayname, filelistGet-BitsTransfer | Complete-BitsTransfer
# Envoyer un fichier local sur un partage$Params = @{ Source = 'C:\PowerShell-7.2.2-win-x64.msi' Destination = '\\10.0.0.253\iso\' DisplayName = 'Test3'}Start-BitsTransfer @Params -AsynchronousGet-BitsTransfer | Complete-BitsTransfer
# Spécifier des paramètres d'authentification (Basic, Digest, NTLM, Negotiate ou Passport)Start-BitsTransfer -source http://10.0.0.1/fichier.iso -destination c:\temp\fichier.iso `-asynchronous -Authentication NTLM -Credential (Get-Credential)
# Modifier un transfert en cours, la priorité dans cet exemple :$Job | Set-BitsTransfer -Priority 'Foreground'
# Supprimer la tâche$Job | Remove-BitsTransfer
# Supprimer toutes les tâches de tous les utilisateurs (en cours ou non)Get-BitsTransfer -Allusers | Remove-BitsTransfer -Confirm:$False
# Transférer plusieurs fichiers HTTP(S) à partir d'un CSV# Créer un fichier (liste.csv dans l'exemple) avec le contenu suivant :Source,Destinationhttps://serveur/fichier1.txt,c:\dossier\fichier1.txthttps://serveur/fichier2.txt,c:\dossier\fichier2.txt
Import-CSV liste.csv | Start-BitsTransfer -AsynchronousGet-BitsTransfer | Select-Object displayname,filelist
# Envoyer plusieurs fichiers sur un partage (ou l'inverse)# Vous pouvez utiliser des caractères génériques avec les chemins UNC$Params = @{ Source = 'C:\demo\*' Destination = '\\10.0.0.253\iso\' DisplayName = 'Test6'}Start-BitsTransfer @Params -AsynchronousGet-BitsTransfer | Complete-BitsTransferLiens en relation
Powershell - Envoyer simplement des objets dans des variables différentes
Powershell - Astuce - Envoyer simplement des objets dans des variables différentesPowershell - Tester la connectivité réseau et l'accessibilité aux ports
Tester la connectivité réseau et l'accessibilité aux ports avec PowershellPowershell - Afficher les connections réseau (équivalent de netstat)
Afficher les connections réseau (ports en écoute, connections actives...)Powershell - Tester la résolution de nom (équivalent de nslookup)
Commandes Powershell permettant de tester la résolution de nom (équivalent de nslookup)Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Commandes Powershell permettant d'afficher et de gérer la configuration DNS des interfaces réseauPowershell - Gérer la configuration IP des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier la configuration IP des interfaces réseau
Suivez-moi sur
Soutenez-moi
Magasin en ligne
Contenu récent
Powershell - Envoyer simplement des objets dans des variables différentes
Affiche publicitaire vintage de Portsmouth
Affiche vintage Andalucia - hueforge
Affiche de voyage Paris - hueforge
Affiche Tron legacy - Hueforge