PowerShell Upload und Download mit Invoke-Webrequest

QRS utilise NextCloud WebDAV comme base pour ses fichiers

Les chargements et téléchargements automitisés se font avec des scripts en Windows PowerShell

A part cURL ces scripts utilisent Invoke-Webrequest directement

Quoi?

L'attachement d'un répertoire Nexcloud en tant que lecteur externe en Windows n'est pas fiable. Les méthodes HTTP fournies par cURL sont fiables et suffisamment rapides pour les besoins de QRS. Pour utiliser cURL sous Windows, il est nécessaire de fournir au script l'emplacement du programme curl.exe. La Cmdlet Invoke-Webrequest fonctionne sans cette contrainte.

Téléchargement

Pour un téléchargement, l'emplacement du fichier à distance est obligatoire:

$URI = "https://ppp.woelkli.com/remote.php/dav/files/benutzer[/unterverzeichnis]/datei"

Les informations d'authentification sont passées à l'objet PSCredential au moyen du paramütre -ArgumentList de son constructeur, ensuite l'objet est fourni à l'appel de Invoke-Webrequest.

$PSC = New-Object System.Management.Automation.PSCredential -ArgumentList($Usr, $PwS)

Pour éviter une analyse inutile du contenu téléchargé, le paramütre -UseBasicParsing est également fourni.

Le téléchargement de fichiers dans un répertoire local $Dst est limpide:

Invoke-Webrequest -UseBasicParsing -Uri $URI -Credential $PSC -OutFile $Dst

Chargement

Pour un chargement, le serveur web doit utiliser la méthode PUT, ce qui lui est communiqué à travers le paramètre -Method avec la valeur PUT. Pour spécifier le fichier local à charger, le paramètre -InFile accepte un emplacement:

$WRS = Invoke-Webrequest -UseBasicParsing -URI $URI -Method PUT -Credential-PSC -InFile $Src

La Cmdlet rend un objet de type WebResponse qui affiche deux propriétés contenant le statut après le transfert:

$WRS.StatusCode Les valeurs pour un transfert réussi sont 201 (Created) et 204 (no content)

$WRS.StatusDescription contient un message descriptif du statut

 

Commentaires et réponses

×

Nom est requis!

Indiquez un nom valide

Adresse email valide requise!

Indiquez une adresse email valide

Commentaire est requis!

Commentaires :

  • user
    kqCpSamCaJ 21/11/2024 A 01:00
  • user
    BelLkIxx 15/11/2024 A 07:49
  • user
    aMmRqgcgJBBPGn 09/11/2024 A 14:24
Top