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 :