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
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
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
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
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
KerberosTicketCacheauthentication 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.AuthenticationModeproperty withNtlm(default) andKerberosoptionsNew
Connection.KerberosServerNameproperty for specifying the Kerberos SPN hostname when it differs from the TCP connection addressNew
Connection.KdcAddressproperty for explicit KDC address when DNS SRV discovery is unavailableKerberosNetAuthenticationClientinternally 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?

