Résolu
Script WinSCP
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 70
- Remerciements reçus 2
il y a 10 mois 2 semaines - il y a 10 mois 2 semaines #33887
par Dead
Script WinSCP a été créé par Dead
Bonjour,
J'ai ce script pour envoyer des fichiers en sftp avec WinSCP:
Sauf que lorsque je lance ce script, les fichiers sont bien transférés et ... ça s'arrête là, le script reste bloqué après le transfert. Il n'y a pas d'exit, ni de déplacement ensuite des fichiers dans Archives.
Auriez vous une idée de ce qui cloche?
Je vous remercie
J'ai ce script pour envoyer des fichiers en sftp avec WinSCP:
# Chemin local du répertoire
$repertoireLocal = "D:\RepSource\1\"
# Chemin du répertoire d'archives
$repertoireArchives = "D:\RepSource\Archives"
& "C:\Program Files (x86)\WinSCP\WinSCP.com" `
/log="C:\Program Files (x86)\WinSCP\WinSCP.log" /ini=nul `
/command `
"open sftp://serveursftp@sftpcom:22/ -hostkey=`"`"hostkey`"`"" `
"cd /" `
"put $repertoireLocal* /" ` # Utiliser le chemin complet du répertoire local
"exit" # Ajout de la commande exit
$winscpResult = $LastExitCode
if ($winscpResult -eq 0)
{
Write-Host "Success"
# Déplacer les fichiers vers le répertoire d'archives après le transfert réussi
Move-Item -Path "$repertoireLocal*.xml" -Destination $repertoireArchives -Force
}
else
{
Write-Host "Error"
}
exit $winscpResult
Sauf que lorsque je lance ce script, les fichiers sont bien transférés et ... ça s'arrête là, le script reste bloqué après le transfert. Il n'y a pas d'exit, ni de déplacement ensuite des fichiers dans Archives.
Auriez vous une idée de ce qui cloche?
Je vous remercie
Dernière édition: il y a 10 mois 2 semaines par Arnaud Petitjean. Raison: Mise en forme du code
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 10 mois 2 semaines #33894
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Script WinSCP
Hello Dead,
A mon avis, ton problème doit venir de ta ligne de commande WinSCP. On dirait qu'il ne fait pas d'exit.
Parce que la suite de ton code est correcte.
Peut-être que l'exit code n'est pas 0... ?
Arnaud
A mon avis, ton problème doit venir de ta ligne de commande WinSCP. On dirait qu'il ne fait pas d'exit.
Parce que la suite de ton code est correcte.
Peut-être que l'exit code n'est pas 0... ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 70
- Remerciements reçus 2
il y a 10 mois 2 semaines #33899
par Dead
Réponse de Dead sur le sujet Script WinSCP
Bonjour Arnaud,
Effectivement il ne fait pas d'exit, je ne comprends pas pourquoi.
L'exit Code est 1
Merci pour votre aide
Effectivement il ne fait pas d'exit, je ne comprends pas pourquoi.
L'exit Code est 1
Merci pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 70
- Remerciements reçus 2
il y a 10 mois 1 semaine #33900
par Dead
Réponse de Dead sur le sujet Script WinSCP
Bon, J'ai tenté différentes approches sur mon script, mais le souci persiste, le script bloque juste après l'envoi des fichiers. L'exit ne se fait, et la suite du script ne se fait donc pas.
Auriez-vous une idée?
Voici les logs WINSCP en pièce jointe.
Je vous remercie!!!!
Auriez-vous une idée?
Voici les logs WINSCP en pièce jointe.
Je vous remercie!!!!
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 10 mois 1 semaine #33906
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Script WinSCP
Salut Dead,
Je t'avoue ne pas comprendre pourquoi ton script ne te rend pas la main...
Tu confirmes que le script ne continue pas après la copie de tes fichiers ?
Si c'est le cas, je vois plusieurs solutions de contournement.
1) J'essaierais d'exécuter ta ligne de commande avec la commande Start-Process avec le paramètre -PassThru pour récupérer l'ID du process crée. J'ajouterai également (ou pas, à tester...) le paramètre -Wait pour attendre la fin de l'exécution de ta commande.
2) Méthode bourrin : on lance le process dans un job en arrière plan (avec Start-Job), on monitore le fichier de log jusqu'à ce qu'on trouve la chaine "Copying finished". Puis si le process n'a pas rendu la main, on le tue (Stop-Process).
Mais j'ai bon espoir que ma 1ere proposition fonctionne et que tu n'aies pas besoin de faire la 2nde (moins élégante).
Arnaud
Je t'avoue ne pas comprendre pourquoi ton script ne te rend pas la main...
Tu confirmes que le script ne continue pas après la copie de tes fichiers ?
Si c'est le cas, je vois plusieurs solutions de contournement.
1) J'essaierais d'exécuter ta ligne de commande avec la commande Start-Process avec le paramètre -PassThru pour récupérer l'ID du process crée. J'ajouterai également (ou pas, à tester...) le paramètre -Wait pour attendre la fin de l'exécution de ta commande.
2) Méthode bourrin : on lance le process dans un job en arrière plan (avec Start-Job), on monitore le fichier de log jusqu'à ce qu'on trouve la chaine "Copying finished". Puis si le process n'a pas rendu la main, on le tue (Stop-Process).
Mais j'ai bon espoir que ma 1ere proposition fonctionne et que tu n'aies pas besoin de faire la 2nde (moins élégante).
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 70
- Remerciements reçus 2
il y a 10 mois 1 semaine #33917
par Dead
Réponse de Dead sur le sujet Script WinSCP
Bonjour Arnaud,
Oui, le script ne continue pas après la copie des fichiers.
Lorsque je lance la commande Start-Process, une fenêtre PowerShell s'ouvre et ne récupère par mon hôte distant...puis termine en erreur.
Par rapport à mon script plus haut, vous le feriez comment vous?
Je vous remercie pour votre aide!
Oui, le script ne continue pas après la copie des fichiers.
Lorsque je lance la commande Start-Process, une fenêtre PowerShell s'ouvre et ne récupère par mon hôte distant...puis termine en erreur.
Par rapport à mon script plus haut, vous le feriez comment vous?
Je vous remercie pour votre aide!
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.129 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Script WinSCP