Загрузка файлов с использованием FTP в PowerShell Scripts Fail

Я использую PowerShell Scripts для загрузки файлов по 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 ответ

Возможным объяснением может быть то, что ваше имя пользователя / пароль содержит специальные символы, которые недопустимы в действительном URI (например, @ или же :).

Вместо этого вы должны установить свои учетные данные, используя System.Net.NetworkCredential

Смотрите этот ответ для справки

Другие вопросы по тегам