在PowerShell脚本中使用FTP上载文件失败

时间:2016-09-09 20:45:21

标签: powershell ftp webclient webexception

我使用PowerShell脚本通过FTP上传文件。我使用的脚本如下:

$File = "C:\test\test01.txt"
$ftp = "ftp://MyUsername:MyPassword@MyHostName/"

"ftp url: $ftp"

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

"Uploading $File..."

$webclient.UploadFile($uri,$File)

但是当我运行脚本时,我收到以下错误:

 Exception calling "UploadFile" with "2" argument(s): "The requested URI is invalid for this FTP command."
At C:\FTP.ps1:11 char:1
+ $webclient.UploadFile($uri,$File)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

我使用的Powershell版本如下:

Major  Minor  Build  Revision
-----  -----  -----  --------
3      0      -1     -1

任何人都知道如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:0)

可能的扩展可能是您的用户名/密码包含有效URI中不允许的特殊字符(例如@:)。

相反,您应该使用System.Net.NetworkCredential

设置凭据

请参阅this answer以获取参考资料