gpt4 book ai didi

powershell - 在PowerShell中发送任意FTP命令

转载 作者:行者123 更新时间:2023-12-02 23:43:55 24 4
gpt4 key购买 nike

我一直在使用Michal Gajda的PSFTP Module做很多事情

直到我想发送任意命令,例如:

quote SITE LRECL=132 RECFM=FB
or
quote SYST

我发现使用 FTPWebRequest无法实现,而只能使用第三方FTP实现。

我想问一下什么是与PowerShell兼容的最佳开源FTP实现?

最佳答案

您可以使用WinSCP .NET assembly used from PowerShell使用 Session.ExecuteCommand method发送任意FTP命令:

try
{
# Load WinSCP .NET assembly
Add-Type -Path "WinSCPnet.dll"

# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions
$sessionOptions.Protocol = [WinSCP.Protocol]::Ftp
$sessionOptions.HostName = "example.com"
$sessionOptions.UserName = "user"
$sessionOptions.Password = "password"

$session = New-Object WinSCP.Session

try
{
# Connect
$session.Open($sessionOptions)

# Execute command
$session.ExecuteCommand("SITE LRECL=132 RECFM=FB").Check()
}
finally
{
# Disconnect, clean up
$session.Dispose()
}

exit 0
}
catch [Exception]
{
Write-Host $_.Exception.Message
exit 1
}

在WinSCP .NET程序集的顶部还有 PowerShell module构建,您可以像这样使用:

$session = New-WinSCPSessionOptions -Protocol Ftp -Hostname example.com -Username user -Password mypassword | Open-WinSCPSession
Invoke-WinSCPCommand -WinSCPSession $session -Command "SITE LRECL=132 RECFM=FB"

(我是WinSCP的作者)

关于powershell - 在PowerShell中发送任意FTP命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31264380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com