param (
$localPath = "C:\script\SOUZ\*.enc" ,
$RemotePath = "/out/" ,
$RemotePath2 = "/in/" ,
$backupPath = "C:\Script\SOUZ\backupftp"
)
try
{
# Load WinSCP .NET assembly
Add-Type -Path "C:\Script\SOUZ\WinSCP\WinSCPnet.dll"
# Set up session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
PortNumber = "22"
HostName = "localhost.local"
UserName = "local"
Password = "1q2w"
SshHostKeyFingerprint = ""
}
$session = New-Object WinSCP.Session
$sessionOptions.AddRawSettings("Utf8", "1")
try
{
# Connect
$session.Open($sessionOptions)
# Upload files, collect results
$transferResult = $session.PutFiles($localPath, $remotePath)
$transferResult.Check()
foreach ($transfer in $transferResult.Transfers){
Write-Host "uploading file $($transfer.FileName)" >> C:\Script\SOUZ\souz_ucs.log
Move-Item $transfer.FileName $backupPath
}
finally
{
# Disconnect, clean up
$session.Dispose()
}
exit 0
}
catch
{
Write-Output "Error: $($_.Exception.Message)" >> C:\Script\SOUZ\souz_ucs.log
Send-MailMessage –Subject "ftp script error" -From "" -To "" -SmtpServer "
exit 1
}
Добрый день. Суть проблемы: необходим скрипт, для переноса через WinSCP файла, из одного сервера на другой и его бэкапа. При переносе файл меняет название с РУС на "символы\буквы". Если переносить руками, то все нормально, файл в бэкап отправляется корректно. Вопрос почему именно при переносе через скрипт происходит замена названия, а внутри файла все остается корректным
Прошу подсказать, в чем проблема
Вопрос задан
более двух лет назад
140 просмотров