/ / WinSCP Wyłącz ResumeSupport w PowerShell - powershell, sftp, winscp, winscp-net

WinSCP Wyłącz ResumeSupport w PowerShell - powershell, sftp, winscp, winscp-net

Używam WinSCP do zapisu, aby połączyć serwer SQL z serwerem SFTP. Próbuję napisać plik na serwerze SFTP, gdzie mam tylko dostęp do zapisu, a nie modyfikować. Mam problem, ponieważ wracam

Nie można utworzyć zdalnego pliku „/xxx.filepart”.

Dokumentacja sugeruje, że to dlatego, że nie mam modyfikacji dostępu do katalogu docelowego. ja to zrobiłem WinSCP -> Preferencje -> Wytrzymałość -> Wyłącz
Sprawdziłem winscp.ini plik i ResumeSupport jest 2 (Myślę, że to oznacza wyłączenie). Pobiegłem "echo $transferOptions.ResumeSupport" i mówi, że jest w stanie domyślnym.

Sprawdziłem tę dokumentację:
https://winscp.net/eng/docs/ui_pref_resume
https://winscp.net/eng/docs/library_transferoptions#resumesupport

Jednak nie widzę przykładu PowerShell, tylko C #.

Próbowałem różnych permutacji $transferOptions.ResumeSupport.State = Off, $transferOptions.ResumeSupport.Offi cokolwiek. Jeden z nich mówi, że jest „tylko do odczytu”.

wiem $transferOptions jest tutaj zmienną, ale pochodzi ze skryptu domyślnego. Obiekt określa opcje transferu $transferOptions = New-Object WinSCP.TransferOptions

Z góry dziękuję za pomoc

edytować: Ogólny problem polega na tym, że mam tylko dostęp do zapisu na serwerze, ale nie mogę go modyfikować. Pojawia się nowy błąd: „Nie można nadpisać pliku zdalnego” /xxx".$$. Wygląda na to, że znaki dolara to jakiś plik tymczasowy, który próbuje utworzyć. Czy istnieje sposób na wyłączenie tego ustawienia?

Odpowiedzi:

2 dla odpowiedzi № 1

Składnia do korzystania z wyliczenia w PowerShell jest opisana w artykuł Korzystanie z zestawu WinSCP .NET z PowerShell.

Dostęp do wartości wyliczeniowych uzyskuje się za pomocą składni pola statycznego [Namespace.Type]::Member, na przykład [WinSCP.Protocol]::Sftp.


Możesz znaleźć przykład PowerShell dla TransferResumeSupport.State w Konwersja do zespołu .NET Sekcja get i put dokumentacja polecenia:

$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.ResumeSupport.State = [WinSCP.TransferResumeSupportState]::Off
$session.GetFiles(..., ..., $False, $transferOptions).Check()

WinSCP GUI może również generować szablon kodu (włącznie z TransferOptions i TransferResumeSupportState kod) dla Ciebie.