Remote Windows Administration dengan OpenClaw: SSH, Printer Share, dan Samba dari Linux

Bagaimana saya membangun AI assistant untuk mengelola seluruh infrastruktur Windows di rumah sakit — semuanya dari satu terminal Linux.


Pendahuluan

Sebagai staf IT di rumah sakit, saya menghadapi tantangan klasik: banyak PC Windows (Win7, Win10) yang tersebar di berbagai departemen, masing-masing dengan masalahnya sendiri — printer share yang tidak bisa diakses, drive mapping yang putus, SSH yang gagal start. Semua ini harus diperbaiki tanpa harus berjalan ke setiap PC satu per satu.

Saya memutuskan untuk membangun AI assistant menggunakan OpenClaw yang berjalan di server Linux (Ubuntu). OpenClaw adalah platform AI gateway yang bisa dikontrol melalui chat (Telegram, WhatsApp, atau web interface) — dan yang paling penting, ia punya akses full shell ke server lokal.

Artikel ini saya tulis berdasarkan pekerjaan nyata yang saya lakukan bersama OpenClaw selama beberapa hari terakhir. Semua perintah, debugging, dan solusi yang saya ceritakan di sini adalah benar-benar terjadi — bukan simulasi.


Arsitektur Sederhana

┌─────────────────────────────────────────────┐
│            OpenClaw Gateway                 │
│         (Ubuntu Server - 192.168.168.2)     │
│                                             │
│  ┌──────────────┐    ┌──────────────────┐   │
│  │  AI Agent    │───▶│  SSH / Samba /   │   │
│  │  (DeepSeek)  │    │  WinRM Client    │   │
│  └──────┬───────┘    └────────┬─────────┘   │
│         │                     │              │
│    Telegram/WA           SSH Connection     │
└─────────┼─────────────────────┼──────────────┘
          │                     │
    ┌─────▼─────┐        ┌─────▼─────────────────────────┐
    │  Anda     │        │  Windows PCs di LAN           │
    │  (HP)     │        │                               │
    └───────────┘        │  .172  Win10 - Printer Share   │
                         │  .186  Win7  - Install SSH     │
                         │  .246  Win10 - EDP1B           │
                         │  .4    Linux - Samba Server    │
                         └───────────────────────────────┘

Yang dibutuhkan:

  • Server Linux (Ubuntu/Debian) dengan OpenClaw terinstall
  • OpenSSH server aktif di server Linux
  • Akun Windows di tiap PC yang punya akses SSH (atau bisa diinstall remotely)
  • Koneksi LAN yang stabil

Kasus 1: Install OpenSSH Server di Windows 7

Masalah

PC Windows 7 di departemen CAD (192.168.168.186) belum punya SSH server. Saya perlu akses remote ke PC ini untuk maintenance, tapi staf tidak paham cara install OpenSSH.

Tantangan Spesifik Windows 7

Windows 7 tidak support OpenSSH versi terbaru (v9+). Saya harus pakai versi lama: OpenSSH v8.6 (Win32/Win64). Selain itu:

  • PowerShell 2.0 (bukan 5.1) — cmdlet terbatas
  • TLS 1.2 belum aktif default — download dari GitHub bisa gagal
  • Service installer New-Service kadang error di Win7
  • Butuh 2 reboot setelah install (pertama untuk register service, kedua untuk load keys)

Solusi yang Terbukti

Step 1: Upload installer dari server 7 ke PC

OpenSSH installer sudah saya siapkan sebelumnya di server 7 (192.168.168.7):

  • OpenSSH-Win32.zip (32-bit)
  • OpenSSH-Win64.zip (64-bit)
  • Install-OpenSSH-Win7-Final.bat

Step 2: Jalankan installer via Remote (kalau ada akses awal)

Kalau PC belum punya SSH sama sekali, opsi:

  1. Pakai PsExec dari PC lain yang punya akses admin
  2. Minta staf jalankan installer manual via TeamViewer/AnyDesk
  3. Upload file via SMB share lalu minta staf klik 2x

Step 3: Verifikasi via OpenClaw

Setelah install + reboot, saya verifikasi dari OpenClaw:

# Dari OpenClaw shell (via Telegram command)
sshpass -p 'password' ssh -o StrictHostKeyChecking=no user@192.168.168.186 'hostname && whoami'

Pelajaran Penting

  • Jangan pakai New-Service di Win7 — pakai sc create sebagai fallback
  • Win7 32-bit: path C:\Program Files (x86)\OpenSSH
  • Win7 64-bit: path C:\Program Files\OpenSSH
  • Selalu reboot 2x — sekali untuk register, sekali untuk load host keys

Kasus 2: Perbaiki Printer Share Windows 10

Masalah

PC Windows 10 (192.168.168.172, hostname DESKTOP-K1MBTIF) punya printer EPSON L120 yang di-share ke jaringan. Tapi PC lain tidak bisa akses — muncul error:

  • 0x0000011b (Windows cannot connect to the printer)
  • 0x00000005 (Access Denied)
  • "The credentials supplied are not sufficient to access this printer"

Debugging Langkah demi Langkah

Step 1: SSH ke PC目标

sshpass -p 'password' ssh PERSONALIA@192.168.168.172

Step 2: Cek status share printer

# List semua printer yang di-share
Get-WmiObject -Query "SELECT * FROM Win32_Printer" | 
  Select-Object Name, ShareName, Shared, PrinterStatus | 
  Format-Table -AutoSize

# Hasil:
# Name              ShareName            Shared  PrinterStatus
# ----              ---------            ------  -------------
# EPSON L120 Series EPSON-L121-PERSON    True    Normal

Step 3: Fix error 0x0000011b

Error ini disebabkan oleh RPC authentication level yang terlalu ketat di Windows 10 terbaru.

# Set RpcAuthnLevelPrivacyEnabled = 0
reg add "HKLM\System\CurrentControlSet\Control\Print" /v RpcAuthnLevelPrivacyEnabled /t REG_DWORD /d 0 /f

# Restart Print Spooler
Restart-Service Spooler -Force

Step 4: Fix Access Denied — Printer Security Descriptor

Ini masalah paling tricky. Share permission sudah benar (Everyone = Full), tapi printer object permission belum benar. Windows membedakan:

  • Share Permission → siapa bisa connect ke share
  • Printer Permission → siapa boleh print/manage printer

Saya harus edit Security Descriptor langsung di registry:

# Baca Security Descriptor printer
$key = "HKLM:\SYSTEM\CurrentControlSet\Control\Print\Printers\EPSON L120 Series"
$p = Get-ItemProperty -Path $key
$sd = New-Object System.Security.AccessControl.RawSecurityDescriptor($p.Security, 0)

# Tambah ACE untuk user 'printer' (Full Control)
$sid = New-Object System.Security.Principal.SecurityIdentifier("S-1-5-21-...-1002")
$ace = New-Object System.Security.AccessControl.CommonAce(
    [System.Security.AccessControl.AceFlags]::None,
    [System.Security.AccessControl.AceQualifier]::AccessAllowed,
    0x000F01FF,  # Full Control
    $sid, $false, $null)
$sd.DiscretionaryAcl.InsertAce($sd.DiscretionaryAcl.Count, $ace)

# Simpan kembali
$bytes = New-Object byte[] $sd.BinaryLength
$sd.GetBinaryForm($bytes, 0)
Set-ItemProperty -Path $key -Name Security -Value $bytes -Type Binary

# Restart spooler
Restart-Service Spooler -Force

Hasil

# Verifikasi dari PC lain
net use \\192.168.168.172\EPSON-L121-PERSON /user:printer Printer161!
# The command completed successfully

rundll32 printui.dll,PrintUIEntry /in /n "\\192.168.168.172\EPSON-L121-PERSON"
# Printer terinstall

Pelajaran Penting

  • 0x0000011b → selalu set RpcAuthnLevelPrivacyEnabled = 0
  • Access Denied → cek printer object permission (bukan cuma share permission)
  • Edit SD di registry → cara paling reliable untuk set printer permission dari remote
  • Restart Spooler setiap kali ubah permission

Kasus 3: Fix Samba Drive Mapping (Linux ke Windows)

Masalah

PC Windows 10 (172) tidak bisa akses drive F: yang di-share dari server Linux Samba (192.168.168.4). Error:

  • System error 86 (network password is not correct)
  • System error 5 (Access is denied)

Debugging

Step 1: Cek dari Linux langsung

# Test dari OpenClaw server
smbclient -L 192.168.168.4 -U 'personalia'%'person' -m SMB2
# Share list muncul

smbclient //192.168.168.4/drive_F -U 'personalia'%'person' -c 'ls'
# Isi folder terbaca

Artinya: Samba server dan share config benar. Masalahnya di sisi Windows.

Step 2: Cek Samba User Database

# Cek apakah user ada di Samba
pdbedit -L 2>&1
# ERROR: tdbsam_open: Failed to open/create TDB passwd

passdb.tdb dimiliki root dan it user tidak punya akses. File corrupted/locked.

Step 3: Fix passdb.tdb

# Fix ownership
sudo chown root:it /var/lib/samba/private/passdb.tdb
sudo chmod 660 /var/lib/samba/private/passdb.tdb

# Tambah user ke Samba
printf "person\nperson\n" | sudo pdbedit -a personalia -s -t

Step 4: Tambah Samba Tuning untuk Windows 10

Samba 4.7.6 (Linux Mint 19.3) butuh tuning untuk kompatibilitas Windows 10:

# /etc/samba/smb.conf → bagian [global]
client min protocol = NT1
client max protocol = SMB3
server min protocol = NT1
server max protocol = SMB3
# Test config
testparm -s

# Restart services
sudo systemctl restart smbd nmbd

Hasil dari Windows

net use F: \\192.168.168.4\drive_F /user:personalia person /persistent:yes
# The command completed successfully

dir F:\
# 885 File(s) 16.782.698.306 bytes

Pelajaran Penting

  • net view selalu gagal dari Windows 10 → normal, SMB1 client dinonaktifkan
  • Yang penting connect langsung ke share: \\ip\sharename
  • passdb.tdb harus di-access oleh user yang menjalankan Samba
  • Tambahkan client min protocol = NT1 untuk kompatibilitas dengan Windows lama

Kasus 4: Windows 7 Tidak Bisa Browse Network

Masalah

PC Windows 7 tidak melihat printer share di Network Neighborhood, padahal share sudah jalan (diakses langsung via IP bisa).

Penyebab

Windows 7 mengandalkan NetBIOS dan Function Discovery untuk browsing jaringan. Kalau salah satu mati, shares tidak muncul di Network.

Solusi di Windows 7

Cek 1: NetBIOS over TCP/IP

ipconfig /all
# Cari: NetBIOS over Tcpip → harus Enabled

Kalau Disabled:

  1. ncpa.cpl → Klik kanan adapter → Properties
  2. Internet Protocol Version 4 → Properties → Advanced → WINS
  3. Pilih Enable NetBIOS over TCP/IP

Cek 2: Function Discovery Services

sc query fdPHost
sc query FDResPub
# Dua-duanya harus STATE : 4 RUNNING

Kalau mati:

net start fdPHost
net start FDResPub

Cek 3: Workgroup

net config workstation
# Workgroup harus sama dengan server (WORKGROUP)

Hasil

Setelah NetBIOS dan Function Discovery aktif, Windows 7 bisa browse dan melihat printer share di Network.


Tips dan Best Practice

1. Buat Akun Terpisah untuk Setiap Layanan

Windows Login    → PERSONALIA / rskbr132   (Administrator)
Printer Share    → printer / Printer161!   (Users + Power Users)
Samba Drive F:   → personalia / person     (Linux Samba user)

Jangan pakai 1 akun untuk semua — lebih mudah audit dan revoke.

2. Selalu Test dari Dua Sisi

# Dari Linux (OpenClaw server)
smbclient //192.168.168.4/drive_F -U 'user'%'pass' -c 'ls'

# Dari Windows (target)
net use \\192.168.168.4\drive_F /user:user pass
dir F:\

3. Registry Fixes untuk Printer Share

# Fix 0x0000011b
reg add "HKLM\System\CurrentControlSet\Control\Print" /v RpcAuthnLevelPrivacyEnabled /t REG_DWORD /d 0 /f

# Allow insecure guest auth
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 1 /f

# SMB1 untuk Win7 compatibility
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v SMB1 /t REG_DWORD /d 1 /f

4. OpenClaw Telegram Shortcut

Buka Telegram, kirim:

sshpass -p 'pass' ssh user@192.168.168.172 'command'

AI akan menjalankan perintah dan mengembalikan hasilnya. Tidak perlu buka laptop.

5. Backup Registry Sebelum Edit

reg export "HKLM\System\CurrentControlSet\Control\Print" C:\backup\print.reg

Kesimpulan

OpenClaw bukan cuma chatbot — ini adalah AI-powered sysadmin yang benar-benar bisa bekerja. Dalam beberapa hari terakhir, saya berhasil:

  • Install OpenSSH Server di Windows 7
  • Perbaiki printer share Windows 10 (3 error codes berbeda)
  • Fix Samba user database yang corrupted
  • Mapping drive dari Linux ke Windows dengan persisten
  • Browsing fix untuk Windows 7

Semua dilakukan tanpa beranjak dari kursi — cukup kirim pesan dari Telegram.

Yang paling berharga: OpenClaw mencatat semua yang dilakukan (memory files), jadi kalau ada masalah sering di masa depan, saya bisa langsung merujuk ke solusi sebelumnya.

Kalau Anda staf IT yang mengelola banyak PC Windows di jaringan lokal, coba pertimbangkan OpenClaw. Setup-nya tidak rumit, dan ROI-nya luar biasa.


Artikel ini ditulis berdasarkan pengalaman nyata managing IT infrastructure menggunakan OpenClaw + Ubuntu Server + DeepSeek AI Model.

Tags: OpenClaw, Windows Administration, SSH, Printer Share, Samba, AI Assistant, IT Infrastructure