For the complete documentation index, see llms.txt. This page is also available as Markdown.

WriteFile

Write file to SMB server.

Task version: 2.7.0

Required Frends version: 5.7+

Required .NET version: 8.0

Compatible Agents: Crossplatform

Task Parameters

Name
Description

Content : Byte[]

Content of the file to be written.

Default: - Example: [1,2,3]

DestinationPath : String

Full path to the destination file we want to write to.

Default: - Example: folder\file.txt

Name
Description

Server : String

SMB server address or hostname.

Default: - Example: 127.0.0.1

Share : String

SMB share name to connect to.

Default: - Example: testShare

Username : String

Username for SMB authentication.

This needs to be of format domain\username

Default: - Example: WORKGROUP\Administrator

🗝Password : String

Password for the SMB credentials.

Default: - Example: Password123

OperatingSystem : Os

Defines the operating system of the SMB server.

Options used to determine correct path separator to use.

Possible values:

  • Windows: Defines the operating system of the SMB server.

Options used to determine correct path separator to use.

  • Linux: Defines the operating system of the SMB server.

Options used to determine correct path separator to use.

Default: Linux Example: Linux

AuthenticationMode : AuthenticationMode

Authentication mechanism to use when connecting to the SMB server.

Kerberos and KerberosTicketCache require network access to a KDC and a registered

SPN (cifs/servername) for the target server in Active Directory.

Possible values:

  • Ntlm: NTLM authentication protocol.

  • Kerberos: Kerberos authentication protocol using username and password.

Requires network access to a KDC and a registered SPN (cifs/servername)

for the target server in Active Directory.

  • KerberosTicketCache: Kerberos authentication protocol using a pre-existing ticket cache (ccache) file.

Requires a valid TGT in the ccache file created externally e.g. via kinit.

Default: Ntlm Example: Ntlm

KerberosServerName : String

Hostname used to build the Kerberos SPN (cifs/hostname) when AuthenticationMode is Kerberos.

Falls back to Server when not set. Only needed when the address used for the TCP

connection differs from the server's registered Kerberos identity - e.g.

where you connect via a mapped IP/port but the AD-registered name is something else.

Default: - Example: DC1.test.local

KdcAddress : String

Optional explicit KDC address (host or host:port) for Kerberos authentication.

Use when DNS SRV discovery is unavailable.

If empty, KDC will be discovered via DNS SRV records for the realm.

Default: - Example: kdc.company.com:88

KerberosCacheFile : String

Path to a Kerberos ticket cache (ccache) file to use for authentication when

AuthenticationMode is KerberosTicketCache. The file must already contain a valid

ticket-granting ticket (e.g. created via kinit).

Default: - Example: /tmp/krb5cc_testuser

Name
Description

Overwrite : Boolean

Whether to overwrite the file if it already exists.

Default: False Example: false

ThrowErrorOnFailure : Boolean

Whether to throw an error on failure.

Default: True Example: true

ErrorMessageOnFailure : String

Overrides the error message on failure.

Default: - Example: Custom error message

Task Result

Name
Description

Success : Boolean

Indicates if the task completed successfully. Example: true

Path : PathString

Full path to the written file. Example: \server\share\dir\file.txt

Path.Value : String

Gets or sets the normalized path value. Example: folder\file.txt

SizeInMegaBytes : Double

Size of the written file in megabytes. Example: 32

Error : Error

Error that occurred during task execution. Example: object { string Message, Exception AdditionalInfo }

Error.Message : String

Summary of the error. Example: Unable to join strings.

Error.AdditionalInfo : Exception

Additional information about the error. Example: object { Exception AdditionalInfo }

Task Changelog

Changelog for Task Frends.Smb.WriteFile.

[2.7.0] - 2026-09-30

Changed

  • Updated package copyright metadata to meet Frends compliance requirements.

[2.6.0] - 2026-09-25

Added

  • Added new KerberosTicketCache authentication mode supporting Kerberos authentication using a pre-existing ticket cache (ccache) file.

Fixed

  • Kerberos authentication now correctly truncates the session key to 16 bytes as required by the SMB specification.

[2.5.0] - 2026-09-09

Fixed

  • Adjusted access permissions to prevent sharing violations for directories and added synchronous I/O flags to file creation.

[2.4.0] - 2026-07-27

Added

  • Added Kerberos authentication support for SMB connections

    • New Connection.AuthenticationMode property with Ntlm (default) and Kerberos options

    • New Connection.KerberosServerName property for specifying the Kerberos SPN hostname when it differs from the TCP connection address

    • New Connection.KdcAddress property for explicit KDC address when DNS SRV discovery is unavailable

    • KerberosNetAuthenticationClient internally handles TGT acquisition, service ticket retrieval, and GSS-API token generation using the Kerberos.NET library

[2.3.0] - 2026-07-20

Fixed

  • Optimized SMB file handling: fixed lingering locks and adjusted access permissions to prevent sharing violations.

[2.2.0] - 2026-06-26

Changed

  • Username parsing: now accepts a username without a domain instead of throwing an error.

  • Server connection: removed manual DNS resolve; connects using the raw server address string.

[2.1.0] - 2026-04-23

Fixed

  • Input parameters treated as normal string instead of PathString type.

[2.0.0] - 2026-04-08

Added

  • New connection parameters that defined what servers Operating System.

  • [Breaking Change] Introduce PathString type that will represent paths with OS specific separators.

[1.0.0] - 2025-10-31

Added

  • Initial implementation

Last updated

Was this helpful?