Powershell FTP不会在服务器上列出文件

时间:2015-06-23 07:41:50

标签: powershell ftp

我想为ZyWall USG 20制作一个备份脚本。
我使用这个Powershell代码获取目录中的内容列表:

[System.Net.FtpWebRequest]$ftp = [System.Net.WebRequest]::Create("ftp://*server*/*path*")
$ftp.Credentials = New-Object System.Net.NetworkCredential("*user*","*password*") 
$ftp.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory
$response = $ftp.getresponse()
echo $response

我希望得到所有文件的列表..
相反,我得到了这个:

PS Z:\> ...\list-files-test.ps1


ContentLength           : -1
Headers                 : {}
SupportsHeaders         : True
ResponseUri             : ftp://*server*/*path*/
StatusCode              : OpeningData
StatusDescription       : 150 Opening BINARY mode data connection for file list

LastModified            : 01.01.0001 00:00:00
BannerMessage           : 220 FTP Server (ZyWALL USG 20) [::ffff:*server*]

WelcomeMessage          : 230 User *user* logged in

ExitMessage             : 
IsFromCache             : False
IsMutuallyAuthenticated : False
ContentType             : 




PS Z:\> 

为什么不要'我得到一份文件清单? 我用filezilla检查了它 - 文件夹不是空的。 我可以使用[System.Net.WebRequestMethods+Ftp]::DownloadFile下载特定文件。

1 个答案:

答案 0 :(得分:0)

WebRequest.GetResponse()进行远程调用并获取响应详细信息,但response本身内没有内容

相反,您需要继续并使用WebResponse.GetResponseStream()从响应中读取响应流。