Question
besoin d'aide pour un scrip de test connexion FTP
- rousseau
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 9 ans 9 mois #21899
par rousseau
besoin d'aide pour un scrip de test connexion FTP a été créé par rousseau
Bonjour,
je débute dans les script powershell, et j’avoue que je sèche.
mon besoin est d'établir une connexion FTP et de connaitre le retour de cette connexion afin de transmettre le résultat à mon nagios via nrpe.
Se test de connexion ne peut être exécuté que par une seul machine windows car elle traverse un VPN et seul la machine sur lequel le script doit être lancé est autorisé à se connecter.
je ne dépose aucun fichier et je ne vérifie pas s'il existe des fichiers présent.
j'ai juste besoin d'ouvrir et fermer la connexion ftp.
je trouve plein d'exemple sur les dépôts/suppressions de fichiers mais aucun qui traite du code retour de la connexion.
j'ai écrit se bout de code à partir de ce que j'ai trouvé sur différents site internet parlant de powershell.
La multitude de Write_Output n'est la que pour le débogage et me permettre de comprendre pourquoi cela ne marche pas.
[code:1]# Config
Write-Debug \"debut\"
$Username = \"test\"
$Password = \"test\"
$RemoteFile = \"ftp://ip de tes/\"
write-output \" debut du test\"
# Create FTP Rquest Object
write-output \"creation connexion \"
#[System.Net.FtpWebRequest]$FTPRequest = [System.Net.FtpWebRequest]::Create(\"$RemoteFile\"«»)
Write-Output \"connexion en cour\"
$FTPRequest = [System.Net.FtpWebRequest]$FTPRequest
#$FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile
Write-Output \" passage des arguments de conenxion\"
$FTPRequest.Credentials = new-object System.Net.NetworkCredential($Username, $Password)
#Write-Output $FTPRequest
if ($Error.Count -eq 0) {Write-error \"reussite\"}
Write-Output $Error.Count
try
{
Write-output(\"Test ok\"«»)
$FTPRequest = $FTPRequest.GetResponse()
}
catch [System.Net.WebException]
{
#$FTPRequest = $_.Exception.Response
Write-output(\"test hs\"«»)
Write-output $FTPRequest
Write-output $_.Exception.ToString()
}
$int = [int]$FTPRequest.StatusCode
write-output $int
$status = $FTPRequest.StatusCode
write-output $status
return \"$int $status\"
[/code:1]
Par avance merci au grand gourou qui pourra me mettre sur la piste.
Cordialement.<br><br>Message édité par: christr87, à: 6/06/16 14:39
je débute dans les script powershell, et j’avoue que je sèche.
mon besoin est d'établir une connexion FTP et de connaitre le retour de cette connexion afin de transmettre le résultat à mon nagios via nrpe.
Se test de connexion ne peut être exécuté que par une seul machine windows car elle traverse un VPN et seul la machine sur lequel le script doit être lancé est autorisé à se connecter.
je ne dépose aucun fichier et je ne vérifie pas s'il existe des fichiers présent.
j'ai juste besoin d'ouvrir et fermer la connexion ftp.
je trouve plein d'exemple sur les dépôts/suppressions de fichiers mais aucun qui traite du code retour de la connexion.
j'ai écrit se bout de code à partir de ce que j'ai trouvé sur différents site internet parlant de powershell.
La multitude de Write_Output n'est la que pour le débogage et me permettre de comprendre pourquoi cela ne marche pas.
[code:1]# Config
Write-Debug \"debut\"
$Username = \"test\"
$Password = \"test\"
$RemoteFile = \"ftp://ip de tes/\"
write-output \" debut du test\"
# Create FTP Rquest Object
write-output \"creation connexion \"
#[System.Net.FtpWebRequest]$FTPRequest = [System.Net.FtpWebRequest]::Create(\"$RemoteFile\"«»)
Write-Output \"connexion en cour\"
$FTPRequest = [System.Net.FtpWebRequest]$FTPRequest
#$FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile
Write-Output \" passage des arguments de conenxion\"
$FTPRequest.Credentials = new-object System.Net.NetworkCredential($Username, $Password)
#Write-Output $FTPRequest
if ($Error.Count -eq 0) {Write-error \"reussite\"}
Write-Output $Error.Count
try
{
Write-output(\"Test ok\"«»)
$FTPRequest = $FTPRequest.GetResponse()
}
catch [System.Net.WebException]
{
#$FTPRequest = $_.Exception.Response
Write-output(\"test hs\"«»)
Write-output $FTPRequest
Write-output $_.Exception.ToString()
}
$int = [int]$FTPRequest.StatusCode
write-output $int
$status = $FTPRequest.StatusCode
write-output $status
return \"$int $status\"
[/code:1]
Par avance merci au grand gourou qui pourra me mettre sur la piste.
Cordialement.<br><br>Message édité par: christr87, à: 6/06/16 14:39
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 9 mois #21900
par Philippe
Réponse de Philippe sur le sujet Re:besoin d'aide pour un scrip de test connexion FTP
salut christr87
utilise plutôt write-host ou write-debug pour un affichage sur la console
ceci étant dis, comment appel tu ton script ?
sans être un gourou, je peut de conseillé de ne pas mettre de write-output dans ton code car il sont renvoyer avec les données de ton returnPar avance merci au grand gourou qui pourra me mettre sur la piste.
utilise plutôt write-host ou write-debug pour un affichage sur la console
ceci étant dis, comment appel tu ton script ?
Connexion ou Créer un compte pour participer à la conversation.
- rousseau
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 9 ans 9 mois #21903
par rousseau
Réponse de rousseau sur le sujet Re:besoin d'aide pour un scrip de test connexion FTP
comme je suis en phase de développement, j'utilise POWERSHELL ISE pour exécuter mon script, a terme il sera lancé en automatique via nrpe et psexec.
pour le write-output, c’était la seul solution qu j'avais trouvé. je vais utiliser les autres commandes.
merci.
pour le write-output, c’était la seul solution qu j'avais trouvé. je vais utiliser les autres commandes.
merci.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 9 mois #21907
par Philippe
si ce n'est pas le cas tu peut utilisé cette exemple pour créé ton script
pour la gestion d'erreur ici Riza qui a eu a résoudre la question
FtpWebRequest n'effectue la connexion au serveur FTP qu'après un getreponse ou un GetRequestStream ou un GetResponseStream donc ton test d'erreur ne fonctionne pas avant
dernière chose, dans ISE $Error.Count s'incrémente à chaque erreur il ne revient pas à zero à chaque instruction !!
tu a ici un tuto sur le sujet fait par Laurent Dardenne
Réponse de Philippe sur le sujet Re:besoin d'aide pour un scrip de test connexion FTP
donc remplace tous les write-debug/error/output par write-host pour te simplifier la viepour le write-output, c’était la seul solution qu j'avais trouvé. je vais utiliser les autres commandes.
on verra ce problème après !!comme je suis en phase de développement, j'utilise POWERSHELL ISE pour exécuter mon script, a terme il sera lancé en automatique via nrpe et psexec.
si ce n'est pas le cas tu peut utilisé cette exemple pour créé ton script
pour la gestion d'erreur ici Riza qui a eu a résoudre la question
FtpWebRequest n'effectue la connexion au serveur FTP qu'après un getreponse ou un GetRequestStream ou un GetResponseStream donc ton test d'erreur ne fonctionne pas avant
dernière chose, dans ISE $Error.Count s'incrémente à chaque erreur il ne revient pas à zero à chaque instruction !!
tu a ici un tuto sur le sujet fait par Laurent Dardenne
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- besoin d'aide pour un scrip de test connexion FTP