使用WinSCP PowerShell模块创建FTP会话时出现“HostName参数不存在”错误的解决咨询
使用WinSCP PowerShell模块创建FTP会话时出现“HostName参数不存在”错误的解决咨询
嘿,我来帮你搞定这个问题!先看你遇到的错误提示:
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'.
这个问题很简单——WinSCP PowerShell模块的New-WinSCPSession命令根本没有HostName这个参数,它对应的正确参数名是Host,应该是你不小心混淆了其他PowerShell模块(比如原生的FTP相关模块)的参数命名导致的小差错。
直接修改参数名就能解决问题,修正后的完整代码如下:
# Create an FTP session without SSL/TLS encryption $session = New-WinSCPSession -Host $ftpServer -PortNumber $ftpPort -Credential (New-Object System.Management.Automation.PSCredential ($ftpUser, (ConvertTo-SecureString $ftpPassword -AsPlainText -Force))) -Protocol Ftp -FtpSecure None
另外给你个小技巧:以后不确定命令参数的时候,在PowerShell里运行Get-Command New-WinSCPSession -Syntax就能看到官方定义的所有参数,这样就不会再记错参数名啦。
备注:内容来源于stack exchange,提问作者user3435228
相关产品推荐
相关产品推荐

