Powershell - ftp

Hallo Zusammen

Habe mir gedacht könne über ein kleines Skript files aus meinem FTP von hier ziehen.
Ist dies überhaupt möglich?
Habe diverses probiert, bin jedoch ein Powershell Anfänger.

$user = "granato" $password = "Password" $storageDir = "C:\Source" $webclient = New-Object System.Net.WebClient $url = "ftp://granato.bplaced.net/tst/Test.txt" $file = "$storageDir\Test.txt" $domain = $url $webclient.Credentials = New-Object System.Net.NetworkCredential($user,$password, $domain) $webclient.DownloadFile($url,$file)

oder

$File = "C:\Source\Test.txt"
$ftp = "ftp://granato:Password@granato.bplaced.net/tst/Test.txt"

"ftp url: $ftp"

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)

"Downloading $File..."

$webclient.DownloadFile($uri, $File)

jedoch erhalte ich bis jetzt immer einen Fehler:

Ausnahme beim Aufrufen von “DownloadFile” mit 2 Argument(en): "Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar (z.B. nicht gefunden oder kein Zugriff)."
In Zeile:11 Zeichen:1

  • $webclient.DownloadFile($uri, $File)
  •   + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
      + FullyQualifiedErrorId : WebException
    
    

Kann mir hier einer einen Tipp geben?

Danke für eure Hilfe

Granato

wenn dann, heißt die Datei auch /TST/Test.txt
Was dachtest du was die Fehlermeldung bedeutet :stuck_out_tongue:?

Die Datei heisst tatsächlich so.
Habe nun ein Powershell Modul Importiert, mit diesem Funktioniert es.
gallery.technet.microsoft.com/sc … cb#content

Mein neues Skrtipt sieht nun so aus:

$username = "granato"
$Password = ConvertTo-SecureString "Password" -AsPlainText -Force
$ftpCredentials = New-Object System.Management.Automation.PSCredential $username, $Password

Set-FTPConnection -Credentials $ftpCredentials -Server "ftp://granato.bplaced.net" -Session Session
$Session = Get-FTPConnection -Session Session


Get-FTPItem -Session Session -Path $file -LocalPath "C:\Source\testing.txt"

Get-FTPChildItem -Session $Session -Path /TST/All | Get-FTPItem -Session $Session -LocalPath C:\Source\

Die FTP verbindung ist mit den klassischen Powershell befehlen eineges schwieriger zu bewerkstelligen als mit diesem Modulen.

Grüsse
Granato

Tut sie zumindest aktuell nicht. Bitte Groß- und Kleinschreibung beachten.

hatte glaub mehr probleme mit den User Credentials. Irgendwie hat’s die nicht angenommen in der PS
Empfehle jedem, dass er die Probleme mit dem Powershell FTP Modul löst.