Files
kms/docs/integrations/app-connections/smb.mdx
zeekay 0ebffbd529 fix: white-label KMS branding and fix broken identifiers
- Fix 381 files where branding script corrupted variable names
  (e.g. isHanzo KMSTemplate -> isKmsTemplate)
- Rebrand from "Hanzo KMS" to just "KMS" for white-label support
  (allows Lux KMS, Hanzo KMS, etc. via configuration)
- 856 files, purely string replacements, no logic changes
2026-02-13 10:25:11 -08:00

116 lines
4.8 KiB
Plaintext

---
title: "SMB"
description: "Learn how to configure an SMB Connection for KMS."
---
The SMB Connection allows KMS to connect to Windows servers using the SMB (Server Message Block) protocol for remote management operations such as password rotation.
## Prerequisites
You will need the following information to establish an SMB connection:
- **Host** - The hostname or IP address of the Windows server where the local accounts to be managed reside. This must be a member server or standalone machine, not a Domain Controller.
- **Port** - The SMB port (default is 445)
- **Username** - A Windows administrator account with permissions to manage local accounts on the target machine
- **Password** - The password for the administrator account
- **Domain** (optional) - The Windows domain name if using domain credentials to authenticate. When provided, KMS authenticates as a domain user (e.g., `MYDOMAIN\Administrator`) to manage local accounts on the target machine. This allows domain administrators to rotate local account passwords on domain-joined member servers.
### Windows Server Requirements
- **SMB3 Support** - This connection uses SMB3 with encryption enabled for secure communication with Windows servers.
- **Firewall Configuration** - The server must be accessible from KMS or from the KMS Gateway if using it.
<Accordion title="Open firewall on Windows Defender for SMB connection">
Run the following PowerShell command as Administrator on the Windows server to allow inbound SMB connections:
```powershell
New-NetFirewallRule -DisplayName "Allow SMB Inbound" -Direction Inbound -Protocol TCP -LocalPort 445 -Action Allow
```
To verify the rule was created:
```powershell
Get-NetFirewallRule -DisplayName "Allow SMB Inbound"
```
</Accordion>
## Setup SMB Connection in KMS
<Tabs>
<Tab title="KMS UI">
<Steps>
<Step title="Navigate to App Connections">
Navigate to the **App Connections** tab in your Organization Settings.
![App Connections Tab](/images/app-connections/general/add-connection.png)
</Step>
<Step title="Select SMB Connection">
Click the **+ Add Connection** button and select **SMB** from the available options.
![Select SMB Connection](/images/app-connections/smb/smb-app-connection-option.png)
</Step>
<Step title="Fill out the SMB Connection Modal">
Complete the SMB Connection form by entering:
- A descriptive name for the connection
- An optional description for future reference
- The Windows server host (hostname or IP address)
- The SMB port (default is 445)
- The domain name (optional, for domain-joined servers)
- The administrator username
- The administrator password
![SMB Connection Modal](/images/app-connections/smb/smb-app-connection-form.png)
</Step>
<Step title="Connection Created">
After clicking Create, your **SMB Connection** is established and ready to use with your KMS project.
![SMB Connection Created](/images/app-connections/smb/smb-app-connection-generated.png)
</Step>
</Steps>
</Tab>
<Tab title="API">
To create an SMB Connection, make an API request to the [Create SMB
Connection](/api-reference/endpoints/app-connections/smb/create) API endpoint.
### Sample request
```bash Request
curl --request POST \
--url https://kms.hanzo.ai/api/v1/app-connections/smb \
--header 'Content-Type: application/json' \
--data '{
"name": "my-windows-connection",
"method": "credentials",
"credentials": {
"host": "192.168.1.100",
"port": 445,
"username": "Administrator",
"password": "your-admin-password",
"domain": "MYDOMAIN"
}
}'
```
### Sample response
```bash Response
{
"appConnection": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "my-windows-connection",
"version": 1,
"orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"app": "smb",
"method": "credentials",
"credentials": {
"host": "192.168.1.100",
"port": 445,
"username": "Administrator",
"domain": "MYDOMAIN"
}
}
}
```
</Tab>
</Tabs>