WriteFile
Writes string content to a file through SFTP connection.
Task version: 3.0.0
Required Frends version: 5.5+
Required .NET version: 6.0
Compatible Agents: Crossplatform
Task Parameters
Path : String
Full path of the target file to be written.
Default: /
Example: /destination
Content : String
Text content to be written.
Default: -
Example: This is test file
FileEncoding : FileEncoding
If set, this ecoding will be used to encode and decode command
parameters and server responses, such as file names.
By selecting 'Other' you can use any encoding.
Possible values:
UTF8: If set, this ecoding will be used to encode and decode command
parameters and server responses, such as file names.
By selecting 'Other' you can use any encoding.
ANSI: If set, this ecoding will be used to encode and decode command
parameters and server responses, such as file names.
By selecting 'Other' you can use any encoding.
ASCII: If set, this ecoding will be used to encode and decode command
parameters and server responses, such as file names.
By selecting 'Other' you can use any encoding.
WINDOWS1252: If set, this ecoding will be used to encode and decode command
parameters and server responses, such as file names.
By selecting 'Other' you can use any encoding.
Unicode: If set, this ecoding will be used to encode and decode command
parameters and server responses, such as file names.
By selecting 'Other' you can use any encoding.
Other: If set, this ecoding will be used to encode and decode command
parameters and server responses, such as file names.
By selecting 'Other' you can use any encoding.
Default: 1
Example: FileEncoding.ANSI
EnableBom : Boolean
Additional option for UTF-8 encoding to enable bom.
Default: False
Example: true
EncodingInString : String
File encoding to be used.
Encoding don't support any unicode encoding. It only support the code page encodings.
A partial list of possible encodings: https://en.wikipedia.org/wiki/Windows_code_page#List.
Default: -
Example: utf-8
WriteBehaviour : WriteOperation
How the file write should work if a file with the new name already exists.
Possible values:
Append: How the file write should work if a file with the new name already exists.Overwrite: How the file write should work if a file with the new name already exists.Error: How the file write should work if a file with the new name already exists.
Default: -
Example: WriteOperation.Append
AddNewLine : Boolean
If enabled new line is added to the existing file before appending the content.
Default: False
Example: true
ConnectionTimeout : Int32
The lenght of time, in seconds, until the connection times out.
You can use value -1 to indicate that the connection does not time out.
Default value is 60 seconds.
Default: 60
Example: 60
Address : String
SFTP host address
Default: -
Example: localhost
Port : Int32
Port number to use in the connection to the server.
Default: 22
Example: 22
Authentication : AuthenticationType
Selection for authentication type
Possible values:
UsernamePassword: Selection for authentication typeUsernamePrivateKeyFile: Selection for authentication typeUsernamePrivateKeyString: Selection for authentication typeUsernamePasswordPrivateKeyFile: Selection for authentication typeUsernamePasswordPrivateKeyString: Selection for authentication type
Default: -
Example: AuthenticationType.UsernamePassword
Username : String
Username to use for authentication to the server. Note that the file endpoint only supports
username for remote shares and the username must be in the format DOMAIN\Username.
Default: -
Example: foo
🗝Password : String
Password to use in the authentication to the server.
Default: -
Example: pass
PrivateKeyFile : String
Full path to private key file. Supported private key formats: OpenSSH and ssh.com.
PuTTY keys can be converted with puttygen.exe application.
1. Load your key file into puttygen.exe
2. Conversion > Export OpenSSH key (not the "force new file format" option)
Default: -
Example: C:\path\to\private\key
🗝PrivateKeyString : String
Private key as a string, supported private key formats: OpenSSH and ssh.com.
PuTTY keys can be converted with puttygen.exe application.
1. Load your key file into puttygen.exe
2. Conversion > Export OpenSSH key (not the "force new file format" option)
Default: -
Example: -----BEGIN RSA PRIVATE KEY----- Fqxq2jbSKyb0a+oW96Tjoif3Kcb5zZ0FiQyiHgQozLXrecjdUwjWuedkDoZMxwG5 bxpOnxZ/88tDzYCtCPcYCPRF8BNueUsZO8/tztTra+4NgVd/omXHG5bqb7iMB4dc ... OX7Q/wO4lqOlFhLtRnSL0cfuhRmt59pM75Zd+euX5tv9jmCj+AQT/kiBoMhNrDGk N2gTujnH7HCr/afSBeL3xnYcEmeCQTxTPZofBjPC+TPd9g7MntSGBeU/Fstv0jbg -----END RSA PRIVATE KEY-----
🗝PrivateKeyPassphrase : String
Passphrase for the private key file.
Default: -
Example: passphrase
ServerFingerPrint : String
Fingerprint of the SFTP server. When using "Username-Password"
authentication it is recommended to use server fingerprint in
order to be sure of the server you are connecting.
Default: -
Example: MD5: '41:76:EA:65:62:6E:D3:68:DC:41:9A:F2:F2:20:69:9D' SHA256: 'FBQn5eyoxpAl33Ly0gyScCGAqZeMVsfY7qss3KOM/hY='
HostKeyAlgorithm : HostKeyAlgorithms
Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
Possible values:
Any: Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
RSA: Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
Ed25519: Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
nistp256: Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
nistp384: Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
nistp521: Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
Default: 0
Example: HostKeyAlgorithms.RSA
UseKeyboardInteractiveAuthentication : Boolean
Enable if the server uses keyboard-interactive authentication method.
Default: False
Example: false
PromptAndResponse : PromptResponse[]
Responses for the server prompts when using Keyboard Interactive authentication method.
Default: -
Example: -
BufferSize : UInt32
Integer value of used buffer size as KB.
Default value is 32 KB.
Default: 32
Example: 32
CreateDestinationDirectories : Boolean
Should the destination directories be created if they do not exist. May not work on all servers.
Note: This requires the SFTP user to have directory creation permissions on the server.
May fail on servers with restricted permissions or strict security policies.
Default: False
Example: true
Task Result
Path : String
Full path to the written file.
Example: /destination/newfile.txt
SizeInMegaBytes : Double
Size of the new file in destination.
Example: 3.2
Task Changelog
Changelog for Task Frends.SFTP.WriteFile.
[3.0.0] - 2026-01-27
Changed
Breaking changes!
Updated dependency SSH.NET to the newest version 2025.1.0.
Drop DSS support
[2.6.0] - 2026-01-13
Fixed
Operation timeout is now using the Connection.ConnectionTimeout parameter.
[2.5.0] - 2025-10-15
Added
Added new Options class with CreateDestinationDirectories property to enable automatic target directory creation
[2.4.0] - 2025-01-13
Fixed
Fixed issue with ConnectionInfoBuilder having static properties for connection and input parameters which lead to Task not being thread safe.
[2.3.0] - 2024-08-19
Updated
Updated Renci.SshNet library to version 2024.1.0.
[2.2.0] - 2024-01-03
Updated
[Breaking] Updated dependency SSH.NET to the newest version 2023.0.0.
Changed
Changed connection info builder to create the connection info as it's done in DownloadFiles.
[Breaking] Changed PrivateKeyFilePassphrase parameter to PrivateKeyPassphrase and enabled it when PrivateKeyString was used.
[2.0.1] - 2022-12-01
Updated
Updated dependency Microsoft.Extensions.DependencyInjection to the newest version.
[2.0.0] - 2022-11-10
Changed
[Breaking] Added parameters for keyboard-interactive authentication and add new line when appending.
Fixed overwrite deleting the original file before writing the new file.
Added keyboard-interactive authentication method.
Added more tests e.g. Serverfingerprint tests
Added System.Text.CodePages NuGet to the project
Added ConnectionInfoBuilder
Added HostKeyAlgorithm enum
[1.0.1] - 2022-06-14
Changed
Changed the main method to write from stream to a file.
Updated tests
Updated Renci.SshNet library
[1.0.0] - 2022-03-10
Added
Initial implementation
Last updated
Was this helpful?

