“L'Exception " d'appel ”DownloadFile“ par ”2“ argument(s): ”Une exception s'est produite lors d'une requête WebClient."
Je suis en train d'installation pour télécharger besoin des fichiers d'automatiser et de processus d'installation. Je continue à recevoir des erreurs jamais fois que je lance le script et j'ai changé de sept façons de dimanche et il me donne toujours des erreurs.
Le script est:
if (test-path $java_path)
{
Write-Output "Java already installed. Skipping script"
exit 0
}
else
{
$source = "http://our.server.com/java-installer.zip"
$destination = "c:\CHPACS"
$client = new-object System.Net.WebClient
$client.DownloadFile($source, $destination)
}
Le message d'erreur que je reçois est
Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request."
At C:\ps_script\testjava.ps1:41 char:31
+ $client.DownloadFile <<<< ($source, $destination)
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : DotNetMethodException
Dois-je créer une fonction pour faire ce travail correctement?
Merci:
- Après avoir atteint l'erreur, pouvez-vous exécuter
$error[0].Exception.ToString()
et publier les résultats? Cela devrait vous donner plus de détails. - Le message d'erreur mais il semble que les variables ne sont pas passés à l' $client.DownloadFile($source, $destination). J'ai essayé ce que vous avez demandé, mais n'a pas non plus de gains de plus amples informations.
Vous devez vous connecter pour publier un commentaire.
Si vous regardez la documentation MSDN pour la
DownloadFile
méthode, vous remarquerez que le second paramètre est un nom de fichier, n'est pas un répertoire. Donc, si vous re-définir$destination
à quelque chose comme:alors il devrait fonctionner.
Vérifiez ensuite que le fichier que vous êtes en train de télécharger n'est pas ouvert ou être exécuté au moment. Cette exception sera levée si le fichier est en cours d'utilisation.
Vous devez donner un nom de fichier comme le dit David + le dossier existe.