【发布时间】:2019-06-15 05:06:51
【问题描述】:
我编写了一个 PowerShell 脚本,试图将文件从我们的一个共享 SFTP 传输到供应商 SFTP 服务器。脚本完成没有错误,但我的文件永远不会到达 SFTP 服务器。我想记录会话以找出问题所在,但我也无法在我的共享中看到日志文件。
任何关于为什么我的日志文件没有被创建的帮助/指导将不胜感激。谢谢。
这是我的 PS 代码:
# Load WinSCP .NET assembly
Add-Type -Path "WinSCPnet.dll"
# Declare variables
$date = Get-Date
$dateStr = $date.ToString("yyyyMMdd")
$filePath = "\\share\apps\CoverageVerifier\cvgver." + $dateStr + ".0101"
# Set up session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::WebDAV
HostName = "secureftpa.verisk.com"
PortNumber = 443
UserName = "account"
Password = "password"
WebdavSecure = $True
TlsHostCertificateFingerprint = "00:00:00:00:00:00:00:00:00:..."
}
$session.SessionLogPath = "\\share\apps\CoverageVerifier\UploadLog.log"
$session = New-Object WinSCP.Session
try
{
# Connect
$session.Open($sessionOptions)
# Upload files
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary
$transferResult = $session.PutFiles($filePath, "/", $False, $transferOptions)
# Throw on any error
$transferResult.Check()
# Print results
foreach ($transfer in $transferResult.Transfers)
{
Write-Host "Upload of $($transfer.FileName) succeeded"
}
}
catch
{
Write-Host "Error: $($_.Exception.Message)"
exit 1
}
finally
{
$session.Dispose()
}
【问题讨论】:
标签: .net powershell webdav winscp winscp-net