10. december 2017 - 12:54 Der er 1 kommentar

Download fra FTP via Powershell

Hej

Jeg har brug for at lave et script i Powershell der henter alle filer i et bibliotek på en FTP server, og efterfølgende slette dem på serveren

Er der nogen der har et liggende, eller er 100 meter mester?

Jeg kunne forestille mig at jeg kunne definerer det sådan.

$ftpserver = “ftp://Test.dk/FromPortal/DK/”
$username = “User1”
$password = “Password1234”

$destination = "c:\temp\Test"
11. december 2017 - 00:39 #1
Hmm.... something like this:

#FTP Server Information - SET VARIABLES
    $ftp = "ftp server"
    $user = 'username'
    $pass = 'password'
    $folder = 'ftp folder jeg ønsker at kopiere'
    $target = "destination folder"

    #SET CREDENTIALS
    $credentials = new-object System.Net.NetworkCredential($user, $pass)

    function Get-FtpDir ($url,$credentials) {
        $request = [Net.WebRequest]::Create($url)
        $request.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory
        if ($credentials) { $request.Credentials = $credentials }
        $response = $request.GetResponse()
        $reader = New-Object IO.StreamReader $response.GetResponseStream()
        $reader.ReadToEnd()
        $reader.Close()
        $response.Close()
    }

    #SET FOLDER PATH
    $folderPath= $ftp + "/" + $folder + "/"

    $Allfiles=Get-FTPDir -url $folderPath -credentials $credentials
    $files = ($Allfiles -split "`r`n")

    $files

    $webclient = New-Object System.Net.WebClient
    $webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)
    $counter = 0
    foreach ($file in ($files | where {$_ -like "*.*"})){
        $source=$folderPath + $file 
        $destination = $target + $file
        $webclient.DownloadFile($source, $target+$file)

        #PRINT FILE NAME AND COUNTER
        $counter++
        $counter
        $source
    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester