2012-04-11 7 views
5

Ich versuche FTP in Powershell zu verwenden, um eine Datei hochzuladen. Ich verwende FtpWebRequest später von GetRequestStream gefolgt, aber diese Methode einen Fehler zurückgibt:Wie hochzuladen mit FTP in Powershell, hinter einem Proxy?

"The requested FTP command is not supported when using HTTP proxy."

Ich bin in der Tat hinter einem Proxy und erforderlich sein.

Wie kann ich über Powershell hochladen, wenn hinter einem Proxy?

Dies würde ausschließlich von einem Powershell-Skript .ps1 ausgeführt werden.

Ich habe auch versucht:

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

$webclient.UploadFile($uri, "C:\Test\1234567.txt") 

Wo $server und diese Datei gültig sind. Aber das Code gibt diesen Fehler:

"An exception occurred during a WebClient request." 
At C:\Test\script.ps1:101 char:26 
+  $webclient.UploadFile <<<< ($uri, "C:\Test\1234567.txt") 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : DotNetMethodException 

ich auch doppelte Schrägstriche in den Dateipfaden versucht, nicht helfen.

Der Proxy, unter dem ich bin, berührt nur HTTP und nicht FTP.

Antwort

4

Sind Sie sicher, dass Ihr Proxy FTP unterstützt oder nur HTTP? Siehe dieses Thema anschauen:

FTP File Upload with HTTP Proxy

Für WebClient ich dies in der Vergangenheit verwendet haben, obwohl es für HTTP Gebrauch war, aber man konnte es versuchen:

$wc = New-Object System.Net.WebClient 
$wc.Headers.Add("User-Agent","Mozilla/4.0+")   
$wc.Proxy = [System.Net.WebRequest]::DefaultWebProxy 
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials 
$wc.UploadFile($uri, "C:\Test\1234567.txt") 

Beachten Sie, dass - „The Die UploadFile-Methode sendet eine lokale Datei an eine Ressource. Diese Methode verwendet den STOR-Befehl zum Hochladen einer FTP-Ressource. Für eine HTTP-Ressource wird die POST-Methode verwendet. "

+0

Ich habe überprüft, und der Proxy, unter dem ich bin, berührt nur HTTP und nicht FTP. Ich versuche diesen Code, bekomme aber 'Exception ', die" UploadFile "mit" 2 "Argument (en) aufruft:" Eine Exception ist während einer WebClient-Anfrage aufgetreten. "' – JBurace

Verwandte Themen