Oturum aç Sonsuza kadar ücretsiz Başlayın

MSP Araçları

Mevcut RMM'niz zaten API çağrıları yapıyor. Clavitor bunları güvenli hale getirir.

Teknisyenleriniz Datto, N-able ve ConnectWise'ı her gün kullanıyor. Her betik, her otomasyon, her zamanlanmış görev kimlik bilgileri gerektirir. Bugün betik değişkenlerinde, özel alanlarda veya herkesin okuyabileceği paylaşılan bir kasada bulunuyorlar. Clavitor proxy'si ve CLI'si, iş akışlarınızı değiştirmeden bunu değiştirir.

RMM için proxy deseni

Uç noktada HTTPS_PROXY ayarlayın ve mevcut betikleriniz değişmeden çalışır. Proxy, giden HTTPS isteklerini keser, üstbilgilerdeki clavitor:// başvurularını çözer ve gerçek kimlik bilgilerini enjekte eder. Betiğiniz sırrı asla görmez. RMM konsolunuz asla kaydetmez.

# On the managed endpoint — one-time setup
$env:HTTPS_PROXY = "http://localhost:1983"

# Your existing automation scripts work unchanged
# The proxy resolves clavitor:// references in request headers
Invoke-RestMethod -Uri "https://api.openai.com/v1/models" `
  -Headers @{ Authorization = "Bearer clavitor://OpenAI/key" }

PowerShell

PowerShell, MSP'lerin günlük dilidir. Hem CLI hem de proxy yerel olarak çalışır.

CLI — tek değerler

# Resolve, use, scrub — the credential lives for one statement
$cred = clavitor-cli get "Client-Acme/VPN" --field password
Add-VpnConnection -Name "Acme" -ServerAddress "vpn.acme.com" -AuthenticationMethod MSChapv2
$secure = ConvertTo-SecureString $cred -AsPlainText -Force
Set-VpnConnectionUsernamePassword -ConnectionName "Acme" -Password $secure
Remove-Variable cred, secure

Oluştur — yapılandırma şablonları

# Template with clavitor:// references (safe to store in your RMM)
clavitor-cli render monitoring-config.json | `
  Set-Content -Path "C:\ProgramData\Monitor\config.json"

Proxy — şeffaf enjeksiyon

$env:HTTPS_PROXY = "http://localhost:1983"

# Every Invoke-RestMethod and Invoke-WebRequest now resolves clavitor://
Invoke-RestMethod -Uri "https://api.datto.com/v1/devices" `
  -Headers @{ Authorization = "Bearer clavitor://Datto API/key" }

Atera

Atera, özel alan yer tutucularını çalışma zamanında betik parametrelerine {[Atera.<level>.CustomField.<name>]} sözdizimini kullanarak değiştirir. Clavitor belirtecini tek seferlik bir yükleme betiğine parametre olarak geçirin; sonraki betikler uç noktadaki CLI'ye kabuk erişimi sağlar.

BT Otomasyon profili aracılığıyla yükleme

Atera betik kitaplığında, tek bir parametreye sahip bir Clavitor Yükle PowerShell betiği oluşturun. Bunu çalıştıran BT Otomasyon profilinde, müşteri düzeyindeki alan yer tutucusunu kullanarak çağırın:

Install-Clavitor.ps1 -Token "{[Atera.Customer.CustomField.ClavitorToken]}"

Atera, aracı argüman listesini okumadan önce değeri değiştirir. Betik:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Kimlik bilgilerini çalışma zamanında çöz

Uç nokta kayıtlı olduğunda, sonraki tüm Atera betikleri kimlik bilgilerini kasadan okur — Atera yalnızca belirteç yuvasını tutar:

$pass = clavitor-cli get "Client-Acme/SQL Server" --field password
$secure = ConvertTo-SecureString $pass -AsPlainText -Force
Invoke-Sqlcmd -ServerInstance "sql.acme.local" `
  -Credential (New-Object PSCredential("sa", $secure)) -Query "SELECT 1"
Remove-Variable pass, secure

ConnectWise Automate

Automate, Ek Veri Alanı (EDF) makrolarını betik adımı argümanlarına {%^el:FieldName^%} sözdizimini (bilgisayar düzeyinde EDF) kullanarak değiştirir. CLI, ikili dosyayı indiren ve belirteci parametre olarak geçiren bir PowerShell adımı çağıran bir Automate betiği aracılığıyla yüklenir — betik adımı yürütülmeden önce EDF değeri değiştirilir.

Automate betiği: yükleme

Automate betik düzenleyicisinde, iki adımlı bir betik oluşturun:

Step 1  File Download from LTShare       clavitor-cli.exe → %windir%\Temp\
Step 2  Shell Execute (PowerShell)       Install-Clavitor.ps1 -Token "{%^el:ClavitorToken^%}"

{%^el:ClavitorToken^%} makrosu, PowerShell adımı çalışmadan önce bilgisayar düzeyindeki EDF değeriyle değiştirilir. LabReplace'in değiştirme sınırında kalmak için belirteçleri 255 karakterin altında tutun. Betiğin kendisi:

# Install-Clavitor.ps1
param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Automate betiği: bir etki alanı kimlik bilgilerini döndürme

Sonraki betikler kasadan okur ve gösterge tablosu için bir durumu EDF'ye yazar:

$cred = clavitor-cli get "Client-Delta/Domain Admin" --field password
$secure = ConvertTo-SecureString $cred -AsPlainText -Force
Reset-ComputerMachinePassword `
  -Credential (New-Object PSCredential("administrator", $secure))
# Push timestamp back to EDF "LastRotation" via Automate's ExtraData Set Value step
Write-Output (Get-Date -Format o)
Remove-Variable cred, secure

Datto RMM

Datto RMM, site ve genel değişkenleri $env: önekiyle ortam değişkenleri olarak PowerShell bileşenlerine sunar; kullanıcı tanımlı alanlar (UDF'ler) $env:UDF_1 ile $env:UDF_30 arasında sunulur. Bir bileşen CLI'yi yükler; sonraki her şey kasadan okur.

Bileşen: yükleme ve başlatma

Datto konsolunda bir site değişkeni ClavitorToken tanımlayın — bileşen içinde $env:ClavitorToken olarak görünür:

# Datto RMM component: bootstrap Clavitor CLI
# Site variable "ClavitorToken" → $env:ClavitorToken at runtime
$env:ClavitorToken | clavitor-cli init

Bileşen: proxy aracılığıyla API izleyici

Sonraki bileşenler, istek üstbilgilerine clavitor:// başvuruları yazar — proxy bunları ana bilgisayarda çözer. Kimlik bilgisi asla betiğin belleğine veya Datto'nun günlüklerine girmez:

# Scheduled monitor — runs every 15 minutes
$env:HTTPS_PROXY = "http://localhost:1983"
$response = Invoke-RestMethod -Uri "https://api.client.com/v1/status" `
  -Headers @{ Authorization = "Bearer clavitor://Client-Bravo/Monitoring API" }

# Push a status code back into UDF_5 for the Datto dashboard
New-ItemProperty -Path "HKLM:\SOFTWARE\CentraStage" `
  -Name "Custom5" -Value $response.status -Force | Out-Null

Kaseya VSA

VSA aracı yordamları, çalışma zamanında #variable# makrolarını PowerShell argümanlarına değiştirir, ardından betiği executePowershell adım ailesi (executePowerShell64BitSystem, vb.) aracılığıyla yürütür. Aracı kaydındaki bir Özel Alan Clavitor belirtecini tutar; yordam, başlatmaya stdin aracılığıyla geçirir.

Aracı yordamı: yükleme

Bir aracı Özel Alanı ClavitorToken ekleyin (Denetim → Profili Düzenle → Özel Alanlar), ardından iki adımlı bir yordam oluşturun:

Step 1  Get File from VSA Server     clavitor-cli.exe → C:\Program Files\Clavitor\
Step 2  Execute PowerShell (64 Sys)  "C:\Program Files\Clavitor\clavitor-cli.exe init" \
                                     stdin = "#vAgentConfiguration.ClavitorToken#"

#vAgentConfiguration.ClavitorToken# makrosu, VSA komutu yürütmeden önce Özel Alan değeriyle değiştirilir — belirteç VSA'nın yordam geçmişinde görünmez.

Aracı yordamı: ayrıcalıklı bir kimlik bilgisini döndürme

Başlatıldıktan sonra, sonraki herhangi bir yordam kasadan okur:

# Executed via executePowerShell64BitSystem
$cred = clavitor-cli get "Client-Hotel/Local Admin" --field password
$secure = ConvertTo-SecureString $cred -AsPlainText -Force
Set-LocalUser -Name "Administrator" -Password $secure
Remove-Variable cred, secure

N-able N-central

Otomasyon birimi bir AMP'dir (Otomasyon Yöneticisi Politikası) — Otomasyon Yöneticisi'nde oluşturulan PowerShell tabanlı bir politika. Kuruluş, müşteri veya site düzeyindeki Özel Özellikler, PowerShell Betiği Çalıştır nesnesine Girdi Parametreleri olarak geçirilebilir.

AMP: Özel Özellik girdi olarak yükleme

Müşteri düzeyinde bir Özel Özellik ClavitorToken ekleyin (Yönetim → Özel Özellikler). Otomasyon Yöneticisi'nde, PowerShell Betiği Çalıştır nesnesinin Token Girdi Parametresini bu Özel Özelliğe bağlayan bir AMP oluşturun. Betik:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Özel Özellik değeri $Token olarak akar. AMP'nin dışa aktarılan XML'inde veya N-central'ın denetim günlüğünde asla görünmez.

Betik Deposu: çalışma zamanında bir kimlik bilgisi al

Betik Deposu aracılığıyla gönderilen geçici betikler için (Yapılandırma → Depo → Betikler/Yazılım), uç nokta zaten başlatılmıştır — betik yalnızca CLI'yi çağırır:

$dbPass = clavitor-cli get "Client-Bcme/SQL Server" --field password
$secure = ConvertTo-SecureString $dbPass -AsPlainText -Force
Invoke-Sqlcmd -ServerInstance "sql.bcme.com" `
  -Credential (New-Object PSCredential("sa", $secure)) -Query "SELECT 1"
Remove-Variable dbPass, secure

N-able N-sight

N-sight (eski adıyla SolarWinds RMM), N-central ile aynı Otomasyon Yöneticisi motorunu ve ayrıca .ps1, AMP, toplu iş ve diğer betik türleri için bir Betik Yöneticisi çalıştırır. Desen N-central'ı yansıtır: belirteç için bir Girdi Parametresi olan AMP, ardından çalışma zamanında çözülen diğer her şey.

Betik Yöneticisi: Otomatik Görev aracılığıyla yükleme

Ayarlar → Betik Yöneticisi'ne belirteç için bir parametre ile bir Install-Clavitor.ps1 yükleyin. Uç noktada Otomatik Görev olarak ekleyin; belirteci cihaz düzeyindeki ayardan bir betik bağımsız değişkeni olarak geçirin:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Otomatik Görev: kasa kimlik bilgileriyle zamanlanmış yedekleme

Başlatıldıktan sonra, zamanlanmış görevler kimlik bilgilerini kasadan çeker. 255 karaktere kadar olan herhangi bir standart çıktı N-sight panosuna geri yansır:

$pass = clavitor-cli get "Client-India/SQL Backup" --field password
$secure = ConvertTo-SecureString $pass -AsPlainText -Force
Backup-SqlDatabase -ServerInstance "sql.india.com" -Database "AppDB" `
  -Credential (New-Object PSCredential("backup-svc", $secure))
Write-Output "backup OK $(Get-Date -Format o)"
Remove-Variable pass, secure

NinjaOne

Uç noktada çalışan NinjaOne betikleri, yerleşik cmdlet'ler aracılığıyla özel alanları okuyabilir ve yazabilir: Ninja-Property-Get <name> değeri döndürür, Ninja-Property-Set <name> <value> geri yazar. Clavitor belirtecini bir kuruluş özel alanında saklayın (yalnızca konsoldan yazılabilir olması için Güvenli türünde); yükleme betiği bunu bir kez okur.

Yükleme betiği: özel alandan belirteç oku

Yönetim → Kitaplık → Özel Alanlar altında, Güvenli türünde bir kuruluş alanı clavitorToken ekleyin. Ardından bir yükleme betiği çalıştırın:

$token = Ninja-Property-Get clavitorToken
$token | clavitor-cli init
Remove-Variable token

Özel Eylem: proxy aracılığıyla API çağrısı

Yüklendikten sonra, otomasyonlar proxy aracılığıyla harici API'leri çağırır — kimlik bilgisi asla bir betik değişkenine kopyalanmaz:

$env:HTTPS_PROXY = "http://localhost:1983"
$response = Invoke-RestMethod -Uri "https://api.client-echo.com/v1/status" `
  -Headers @{ Authorization = "Bearer clavitor://Client-Echo/Monitoring API" }

# Push the result back to a device custom field for dashboarding
Ninja-Property-Set lastApiStatus $response.status

Syncro

Syncro, varlık özel alanlarını ve etiketlerini {{asset_custom_field_<name>}} çift-kıvırcık sözdizimini kullanarak Platform betik değişkenleri olarak sunar. Platform türünde bir betik değişkeni tanımlayın ve bunu alana bağlayın — Syncro, değeri betik çalıştırma zamanında bir PowerShell parametresine değiştirir.

Syncro betiği: yükleme

Bir varlık özel alanı clavitor_token oluşturun. Betik düzenleyicisinde, {{asset_custom_field_clavitor_token}}'e bağlı Platform türünde bir Token değişkeni bildirin; bunu betik gövdesindeki bir PowerShell parametresine geçirin:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Her Syncro betik düzenleyicisinin altındaki Hızlı Yardım paneli, varlık, müşteri ve bilet bağlamı için mevcut olan her platform değişkenini listeler.

Syncro betiği: kasa kimlik bilgileriyle VPN'e bağlanma

Yüklemeden sonra, betikler ve Otomatik Giderimler kimlik bilgilerini kasadan çözer ve doğrudan kullanır:

$pass = clavitor-cli get "Client-Golf/VPN" --field password
$secure = ConvertTo-SecureString $pass -AsPlainText -Force
Add-VpnConnection -Name "Golf" -ServerAddress "vpn.golf.com" `
  -AuthenticationMethod MSChapv2 -Force
Set-VpnConnectionUsernamePassword -ConnectionName "Golf" -Password $secure
# Write status back to asset for Syncro dashboard
Rmm-Alert -Category "vpn-status" -Body "Golf connected $(Get-Date -Format o)"
Remove-Variable pass, secure

Bunun MSP'ler için önemi

Her RMM platformu kimlik bilgilerini bir yere depolar — özel özellikler, site değişkenleri, ek veri alanları, betik parametreleri. Konsol erişimi olan her teknisyen bunları görebilir. RMM konsolunuzun her ihlali, her müşterinin kimlik bilgilerini açığa çıkarır.

Clavitor, kimlik bilgilerini RMM'den dışarı taşır. RMM yalnızca aracı belirtecini (müşteri başına bir tane) depolar. Belirteç, o müşterinin kasasına kapsamlı erişim sağlar. RMM konsolunuzun ihlali, kimlik bilgilerini değil, belirteçleri açığa çıkarır — ve her belirteç, dağıtıldığı uç noktaya IP beyaz listesiyle eklenmiştir.

Müşteri başına kapsamlı

Her müşteri kasasının kendi aracı belirteci vardır. Teknisyen erişimi, "RMM konsoluna kimin giriş yapabileceği" yerine kapsamla kontrol edilir.

Betik başına denetlendi

Her kimlik bilgisi erişimi günlüğe kaydedilir — hangi betik, hangi uç nokta, hangi kimlik bilgisi, ne zaman. Müşterileriniz denetim izini görebilir. Kimin neye eriştiğini kanıtlayabilirsiniz.

Tek tıklamayla iptal edilebilir

Müşteri ayrılıyor mu? Aracı belirtecini iptal edin. Her uç nokta kimlik bilgilerini hemen çözmeyi durdurur. Döndürülecek parola yok, 200 makineye yayılmış temizlenecek özel özellik yok.

Kimlik bilgilerini RMM'nizde saklamayı bırakın.

Tek CLI. Her müşteri. Her kimlik bilgisi kapsamlı, denetlenmiş ve iptal edilebilir.