我在 WindowsPowerShell 中创建了一个脚本,用于将文件从硬盘发送到不安全的 FTP 服务器。但是,我遇到了一个错误问题,我不知道如何修复。我安装了 Windows Powershell 版本 7.3.9 和 WinSCP 模块。我以管理员身份运行该脚本。
以下是错误信息和我的代码行:
New-WinSCPSession: D:\script\serverftp.ps1:15
Line |
15 | $session = New-WinSCPSession -HostName $ftpServer -PortNumber $ftpPor …
| ~~~~~~~~~
| A parameter cannot be found that matches parameter name 'HostName'.
# Create an FTP session without SSL/TLS encryption
$session = New-WinSCPSession -HostName $ftpServer -PortNumber $ftpPort -Credential (New-Object System.Management.Automation.PSCredential ($ftpUser, (ConvertTo-SecureString $ftpPassword -AsPlainText -Force))) -Protocol Ftp -FtpSecure None
答案1
您使用的参数应该转到New-WinSCPSessionOption
,而不是New-WinSCPSession
。
像这样:
$sessionOption = New-WinSCPSessionOption -HostName $ftpServer -PortNumber $ftpPort -Credential (New-Object System.Management.Automation.PSCredential ($ftpUser, (ConvertTo-SecureString $ftpPassword -AsPlainText -Force))) -Protocol Ftp -FtpSecure None
$session = New-WinSCPSession -SessionOption $sessionOption