Переключатель WinSCP -nopreservetime в сборке .NET в PowerShell

Я пытаюсь добавить -nopreservetime в этот код. Я не уверен, где и как его добавить, я пробовал разные вещи, но безрезультатно.

# Setup session options 
$sessionOptions = New-Object WinSCP.SessionOptions 
$sessionOptions.Protocol = [WinSCP.Protocol]::Sftp 
$sessionOptions.HostName = "#######.com" 
$sessionOptions.UserName = "#####" 
$sessionOptions.Password = "#####" 
$sessionOptions.SshHostKeyFingerprint = "#####" 
$sessionOptions.Timeout = "##" 

$TransferOptions.PreserveTimestamp = $false 

$session = New-Object WinSCP.Session 
$Session.SessionLogPath = "C:\Users\user1\Desktop\Winscp\TEST\sessionlog.txt" 
$Session.debugLogPath = "C:\Users\user1\Desktop\Winscp\TEST\debugsessionlog"+$date+".txt"

try 
{ 
    Write-Host $date,("Connecting to FTP site.") 
    # Connect 
    $session.Open($sessionOptions) 
    Write-Host $date,("Connected to FTP site.") 

    $transferOptions = New-Object WinSCP.TransferOptions
    $transferOptions.TransferMode = [WinSCP.TransferMode]::Binary 

    # Upload files, collect results 
    $transferResult = $session.PutFiles("$localPath", "$remotePath", $False, $transferOptions)
}

Обычно это:

$transferResult = $session.PutFiles($localPath, $remotePath) 

Я просто пытаюсь отключить сохранение метки времени. Он отключен в графическом интерфейсе пользователя, но не работает в powershell_ise.exe

Приведенный выше код возвращает это в журнале:

2015-07-20 08: 52: 44.635 Сценарий: положить -nopermissions -preservetime -transfer = «двоичный» - «C: \ Users \ user \ Desktop \ Winscp ############ *. pdf "" / ИСХОДЯЩИЕ / ТЕСТ ##### / ## / "


person John Smith    schedule 20.07.2015    source источник


Ответы (1)


Используйте TransferOptions.PreserveTimestamp:

$transferOptions.PreserveTimestamp = $False

См. Преобразование переключателей сценария параметров передачи в код на основе сборки .NET.


На самом деле у вас уже есть этот фрагмент кода, но не в том месте. Вы устанавливаете свойство неинициализированной переменной.

Вы должны переместить строку после инициализации $transferOptions:

$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary 
$transferOptions.PreserveTimestamp = $False
person Martin Prikryl    schedule 20.07.2015