The Windows agent connects your Windows workstations to the Artica File Server appliance through a certificate-authenticated channel.
Once a workstation is enrolled, its users get their personal drive, a search box over every document they are allowed to read, search results in their web browser, and an automatic backup of their Documents, Pictures and Music folders — without typing a server name, a share path or a password twice.
This page covers the administrator side:
The Windows agent page of the console (Files Sharing › Windows agent), the deployment of the agent on the workstations, and the enrolment of each workstation on an instance.

Four pieces work together:
A certificate identifies a workstation, not a person.
What a workstation may search is therefore decided by the administrator:
Each enrolled workstation is bound to a server account, and every search it sends runs with the rights of that account.
A workstation with no bound account cannot search at all — it never falls back to "everything that is readable by everyone".
The page opens with the service stopped: nothing listens and no certificate authority exists yet.

Click Start the service.
The dialog reminds you which interface and port will be opened; switch the agent on.

On the first start the appliance creates its certificate authority (valid 10 years) and the listener's server certificate (valid 1 year, renewed automatically).
The Root authority (CA) card then shows the CA fingerprint: this is the value a workstation pins to recognise this appliance. Keep it at hand for the deployment.
The pencil of the Interface and binding or Published port and host card opens the listener settings:

eth0). nas.company.lan or 192.168.1.20). It is written into the enrolment codes, so set it before minting codes.The header buttons complete the picture:
When a workstation asks the appliance which server account a Windows user corresponds to, the answer is recorded in the Windows identities list of the instance. These rows name people, so how long they are kept is a personal-data decision:

The default keeps a mapping 90 days after it was last seen. You can choose another delay, or keep the rows indefinitely; they can still be erased one by one from the Windows identities list.
Download the installer with Download the agent (.MSI), or directly from https://artica-iso.b-cdn.net/ArticaSambaClient.msi.
The package installs the service and the notification-area icon in C:\Program Files\ArticaSamba.
Run it from an elevated command prompt. The two properties SERVER and CA_FINGERPRINT pin the workstation to your appliance, so that it can only ever be enrolled with a code from this appliance:
msiexec /i ArticaSambaClient.msi /qn /norestart SERVER=192.168.1.20:28812 CA_FINGERPRINT=<CA fingerprint shown on the Windows agent page> /l*v C:\Windows\Temp\artica-agent.log
Both properties go together, or neither. Without them the installation still works, and the server is pinned at the first enrolment instead.
| Exit code | Meaning |
|---|---|
| 0 | Installed, upgraded or removed. |
| 3010 | Done, a restart is required to finish (a file was in use). |
| 1603 | Failed and rolled back. A newer version already installed also returns 1603. |
The cause of a failure is written to C:\ProgramData\ArticaSamba\msi-actions.log (for example an invalid fingerprint). Remove the agent with:
msiexec /x ArticaSambaClient.msi /qn /norestart
Uninstalling keeps the workstation's enrolment and its pinned server in C:\ProgramData\ArticaSamba: reinstalling or upgrading does not require a new enrolment code. Upgrading closes the icons that are open, replaces the files and starts the icons again in the same user sessions.
New-ArticaSambaTransform.ps1 given below:.\New-ArticaSambaTransform.ps1 -Msi .\ArticaSambaClient.msi -Server nas.company.lan:28812 -CAFingerprint <fingerprint> -Out .\site.mstsite.mst in the Modifications tab.The transform only carries public values (an address and a fingerprint): no secret ever sits on the Group Policy share.
Save this script as New-ArticaSambaTransform.ps1. It checks both values before writing the transform, and uses only the Windows Installer API built into Windows:
<#
.SYNOPSIS
Creates the transform (.mst) that pins the Artica File Server appliance
(address and CA fingerprint) for a Group Policy deployment of the Windows agent MSI.
.EXAMPLE
.\New-ArticaSambaTransform.ps1 -Msi .\ArticaSambaClient.msi -Server nas.corp.lan:28812 `
-CAFingerprint efaa0ddd... -Out .\site.mst
#>
param(
[Parameter(Mandatory)][string]$Msi,
[Parameter(Mandatory)][string]$Server,
[Parameter(Mandatory)][string]$CAFingerprint,
[Parameter(Mandatory)][string]$Out
)
$ErrorActionPreference = 'Stop'
if ($Server -notmatch '^(\[[0-9A-Fa-f:.]+\]|[A-Za-z0-9.-]+):([0-9]{1,5})$' -or [int]$Matches[2] -lt 1 -or [int]$Matches[2] -gt 65535) {
throw "Server must be host:port (e.g. nas.corp.lan:28812 or [fe80::1]:28812): '$Server'"
}
if ($CAFingerprint -notmatch '^[0-9A-Fa-f]{64}$') {
throw "CAFingerprint must be 64 hexadecimal characters (SHA-256): '$CAFingerprint'"
}
$CAFingerprint = $CAFingerprint.ToLowerInvariant()
$Msi = (Resolve-Path -LiteralPath $Msi).Path
$Out = [IO.Path]::GetFullPath($Out)
function Call($o, [string]$m, [object[]]$a) { $o.GetType().InvokeMember($m, [Reflection.BindingFlags]::InvokeMethod, $null, $o, $a) }
$inst = New-Object -ComObject WindowsInstaller.Installer
$work = [string](Join-Path $env:TEMP ("asmb-" + [guid]::NewGuid().ToString() + ".msi"))
Copy-Item -LiteralPath $Msi -Destination $work
try {
$db = Call $inst 'OpenDatabase' ([object[]]@($work, [int]1))
foreach ($p in @(@('SERVER', $Server), @('CA_FINGERPRINT', $CAFingerprint))) {
$v = Call $db 'OpenView' ([object[]]@([string]("INSERT INTO ``Property`` (``Property``, ``Value``) VALUES ('" + $p[0] + "', '" + $p[1] + "')")))
Call $v 'Execute' ([object[]]@()) | Out-Null
Call $v 'Close' ([object[]]@()) | Out-Null
}
Call $db 'Commit' ([object[]]@()) | Out-Null
$orig = Call $inst 'OpenDatabase' ([object[]]@([string]$Msi, [int]0))
Call $db 'GenerateTransform' ([object[]]@($orig, [string]$Out)) | Out-Null
Call $db 'CreateTransformSummaryInfo' ([object[]]@($orig, [string]$Out, [int]0, [int]0)) | Out-Null
$null = [Runtime.InteropServices.Marshal]::ReleaseComObject($orig)
$null = [Runtime.InteropServices.Marshal]::ReleaseComObject($db)
} finally {
Remove-Item -LiteralPath $work -ErrorAction SilentlyContinue
}
"Transform written: $Out"
Enrolment is done per instance, from the instance's Workstations page (Files Sharing › Instances › your instance › Workstations).

Click Enrol a workstation:

The code is displayed once. Copy it and type it on the workstation (notification-area icon › Enroll this workstation…).
It is valid for a single workstation and only until it expires; Discard this code cancels it immediately.

The code designates this appliance and its certificate authority: a workstation pinned to another appliance refuses it.
Codes not used yet are listed in the Enrolment codes tab, without their value.
Once enrolled, the workstation appears in the Workstations list with its account, last contact, agent version and certificate expiry.
From there you can bind or change its account, or revoke it.
The list shows which workstations hold a valid certificate — not who is connected: a workstation switched off for a month looks exactly like an active one.
The instance's Windows identities page lists which server account each Windows identity resolved to, from which workstation and when:
what the server established (resolved account, certificate identity, last request) next to what the workstation announced (name, SID, UPN).

Rows are removed automatically after the retention delay chosen above, and can be erased individually at any time.