Question Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.

Plus d'informations
il y a 3 semaines 4 jours - il y a 3 semaines 4 jours #33599 par JeSuisMoi
Monsieur,

C'est exact. Je poursuis toujours ma réflexion dans une perspective d'amélioration de ce qui existe c'est-à-dire de ce que j'ai crée. Votre travail y contribuant bien sûr. 
Une partie du travail d'extraction automatique se fait avec des commandes DOS dans un fichier .bat mais j'essaie de tout passer vers POWERSHELL offrant un champ de possibilités plus large. 
Dernière édition: il y a 3 semaines 4 jours par JeSuisMoi.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 semaines 4 jours #33600 par Arnaud Petitjean
Pourrais-tu STP de m'appeler Monsieur et de me vouvoyer ? Je me sens vieux... Lol 

Comme j'ai quelques minutes devant moi j'ai retravaillé le code et j'en ai créé une fonction.
Ensuite je te laisse découvrir le reste.

Mais voilà une solution 100% PowerShell qui t'évitera l'installation d'un logiciel tiers.
Function Get-FtpFile {
    [CmdletBinding()]
    Param (
        [Parameter(Mandatory)]
        [String] $ftpServer,
       
        [Parameter(Mandatory)]
        [String] $ftpUsername,
        [Parameter(Mandatory)]
        [String] $ftpPassword
    )
    $ftpServer = "ftp://$ftpServer"
    # Créez l'objet FtpWebRequest pour la liste du répertoire
    $request = [System.Net.FtpWebRequest]::Create("$ftpServer/")
    $request.Credentials = New-Object System.Net.NetworkCredential($ftpUsername, $ftpPassword)
    $request.Method = [System.Net.WebRequestMethods+Ftp]::ListDirectory
    # Envoyez la demande et obtenez la réponse
    $response = $request.GetResponse()
    $reader = New-Object System.IO.StreamReader($response.GetResponseStream())
    $listing = $reader.ReadToEnd()
    # Affichez le contenu du serveur FTP et découpe les chaines de caractères sur le caractère saut de ligne
    # Suppression des blancs en début et en fin de chaine si présents (et il y en a !)
    ($listing -split "`n").trim()
    # Fermez la réponse
    $response.Close()
}

# Récupération de tous les fichiers et dossiers
$result = Get-FtpFile -ftpServer myserver.fr -ftpUsername 'username' -ftpPassword 'Password'

# Filtre pour ne récupérer que les objets se terminant par .txt.
$result -like '*.txt'

MVP (Reconnect) 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.

Plus d'informations
il y a 3 semaines 4 jours - il y a 3 semaines 4 jours #33601 par JeSuisMoi
D'accord Arnaud,

Mon éducation l'explique pour partie. Tout le monde me dit cela  
Je te remercie de votre aide. Je vais regarder tout cela. 

J'ai parcouru ton site internet. Ton activité est intéressante et les livres nombreux que tu as écrits mettent en évidence les potentialités très étendues de POWERSHELL que je ne soupçonne même pas. J'ai par le passé utilisé PYTHON et BATCH. Il est temps que je mette à POWERSHELL. 

Julien. 
Dernière édition: il y a 3 semaines 4 jours par JeSuisMoi.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.068 secondes
Propulsé par Kunena