---
title: "MSP-verktøy"
description: "PowerShell, Datto RMM, N-able, ConnectWise Automate. Utstedelse av påloggingsinformasjon for kundebasen din."
lang: no
url: https://clavitor.ai/no/developers/msp
markdown: https://clavitor.ai/no/developers/msp.md
translation_of: https://clavitor.ai/en/developers/msp.md
authoritative: false
publisher: Clavitor LLC
---

> This is the Norwegian translation of [MSP Tools](https://clavitor.ai/en/developers/msp.md). The original English text is authoritative; where the two differ, the English version prevails.

# MSP-verktøy: Din RMM utfører allerede API-kall. Clavitor gjør dem trygge.

Teknikerne dine bruker Datto, N-able og ConnectWise hver dag. Hvert skript, hver automatisering, hver planlagte oppgave trenger påloggingsinformasjon. I dag er de i skriptvariabler, egendefinerte felt eller et delt hvelv alle kan lese. Clavitor-proxyen og CLI-en endrer det uten å endre arbeidsflytene dine.

## Proxy-mønsteret for RMM

Sett `HTTPS_PROXY` på endepunktet, og dine eksisterende skript fungerer uendret. Proxyen avskjærer utgående HTTPS-forespørsler, løser `clavitor://`-referanser i headere og injiserer den ekte påloggingsinformasjonen. Skriptet ditt ser aldri hemmeligheten. RMM-konsollen din logger den aldri.

```
# 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 er MSP-ens daglige språk. Både CLI-en og proxyen fungerer naturlig.

### CLI — enkeltverdier

```
# 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
```

### Gjengi — konfigurasjonsmaler

```
# 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 — transparent injeksjon

```
$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 erstatter egendefinerte felt-plassholdere i skriptparametere ved kjøretid, ved å bruke `{[Atera.<level>.CustomField.<name>]}`-syntaksen. Send Clavitor-tokenet til et engangsinstallasjonsskript som en parameter; senere skript sheller ut til CLI-en på endepunktet.

### Installer via IT Automation-profil

I Atera-skriptbiblioteket, opprett et **Installer Clavitor** PowerShell-skript med én parameter. I IT Automation-profilen som kjører det, kall med kundennivåets feltplassholder:

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

Atera erstatter verdien før agenten leser argumentlisten sin. Skriptet:

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

### Løs påloggingsinformasjon ved kjøretid

Når endepunktet er registrert, leser alle senere Atera-skript påloggingsinformasjon fra hvelvet — Atera holder kun token-sporet:

```
$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 erstatter Extra Data Field (EDF) makroer i skripttrinnargumenter ved å bruke `{%^el:FieldName^%}`-syntaksen (EDF på datamaskin-nivå). CLI-en installeres via et Automate-skript som laster ned binærfilen og kaller et PowerShell-trinn med tokenet sendt som en parameter — EDF-verdien erstattes før skripttrinnet utføres.

### Automate-skript: installer

I Automate-skripteditoren, opprett skriptet med to trinn:

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

`{%^el:ClavitorToken^%}`-makroen erstattes med EDF-verdien på datamaskin-nivå før PowerShell-trinnet kjører. Hold tokens under 255 tegn for å holde deg innenfor LabReplace's substitusjonsgrense. Selve skriptet:

```
# Install-Clavitor.ps1

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

### Automate-skript: roter en domene-påloggingsinformasjon

Etterfølgende skript leser fra hvelvet og skriver en status tilbake til EDF for dashbordvisning:

```
$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 eksponerer nettsteds- og globale variabler til PowerShell-komponenter som miljøvariabler med `$env:`-prefikset; brukerdefinerte felt (UDF-er) eksponeres som `$env:UDF_1` til `$env:UDF_30`. Én komponent installerer CLI-en; alt etterpå leser fra hvelvet.

### Komponent: installer og initialiser

Definer en nettsteds-variabel `ClavitorToken` i Datto-konsollen — den vises inne i komponenten som `$env:ClavitorToken`:

```
# Datto RMM component: bootstrap Clavitor CLI

# Site variable "ClavitorToken" → $env:ClavitorToken at runtime

$env:ClavitorToken | clavitor-cli init
```

### Komponent: API-monitor via proxyen

Etterfølgende komponenter skriver `clavitor://`-referanser i forespørselsheadere — proxyen løser dem på verten. Påloggingsinformasjonen kommer aldri inn i skriptets minne eller Dattos logger:

```
# 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 agentprosedyrer erstatter `#variable#`-makroer i PowerShell-argumenter ved kjøretid, og utfører deretter skriptet via `executePowershell`-trinnfamilien (`executePowerShell64BitSystem`, etc.). Et egendefinert felt på agentoppføringen inneholder Clavitor-tokenet; prosedyren sender det til init via stdin.

### Agentprosedyre: installer

Legg til et egendefinert agentfelt `ClavitorToken` (Audit → Edit Profile → Custom Fields), og bygg deretter en prosedyre med to trinn:

```
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#`-makroen erstattes med verdien fra egendefinert felt før VSA utfører kommandoen — tokenet vises ikke i VSAs prosedyrehistorikk.

### Agentprosedyre: roter en privilegert påloggingsinformasjon

Når initialisert, leser enhver senere prosedyre fra hvelvet:

```
# 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

Automatiseringsenheten er en **AMP** (Automation Manager Policy) — en PowerShell-basert policy bygget i Automation Manager. Egendefinerte egenskaper på organisasjons-, kunde- eller nettstedsnivå kan sendes til et `Run PowerShell Script`-objekt som Input Parameters.

### AMP: installer med egendefinert egenskap som input

Legg til en egendefinert egenskap `ClavitorToken` på kundenivå (Administration → Custom Properties). I Automation Manager, opprett en AMP hvis `Run PowerShell Script`-objekt binder Input Parameter `Token` til den egendefinerte egenskapen. Skriptet:

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

Verdien av egendefinert egenskap flyter inn som `$Token`. Den vises aldri i AMP-ens eksporterte XML eller i N-centrals revisjonslogg.

### Skriptarkiv: hent en påloggingsinformasjon ved kjøretid

For ad-hoc-skript sendt via Skriptarkivet (Configuration → Repository → Scripts/Software), er endepunktet allerede initialisert — skriptet kaller bare CLI-en:

```
$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 (tidligere SolarWinds RMM) kjører samme Automation Manager-motor som N-central, pluss en Script Manager for `.ps1`, AMP, batch og andre skripttyper. Mønsteret speiler N-central: AMP med en Input Parameter for tokenet, deretter løses alt annet ved kjøretid.

### Script Manager: installer via Automated Task

Last opp et `Install-Clavitor.ps1` til Settings → Script Manager med en parameter for tokenet. Fest det som en Automated Task på endepunktet; send tokenet som et skriptargument fra enhetsnivåinnstillingen:

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

### Automated Task: planlagt sikkerhetskopi med hvelv-påloggingsinformasjon

Når planlagte oppgaver er initialisert, henter de påloggingsinformasjon fra hvelvet. All standard utdata opptil 255 tegn vises tilbake til N-sight-dashbordet:

```
$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

NinjaOne-skript som kjører på endepunktet kan lese og skrive egendefinerte felt gjennom innebygde cmdlets: `Ninja-Property-Get <name>` returnerer verdien, `Ninja-Property-Set <name> <value>` skriver den tilbake. Lagre Clavitor-tokenet i et organisasjonsegendefinert felt (type **Secure** slik at det kun er skrivbart fra konsollen); installasjonsskriptet leser det én gang.

### Installasjonsskript: les token fra egendefinert felt

I Administration → Library → Custom Fields, legg til et organisasjonsfelt `clavitorToken` av typen Secure. Kjør deretter et installasjonsskript:

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

### Custom Action: API-kall via proxyen

Når automasjoner er installert, kaller de eksterne API-er via proxyen — påloggingsinformasjonen kopieres aldri inn i en skriptvariabel:

```
$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 eksponerer asset egendefinerte felt og tagger som **Platform** skriptvariabler ved bruk av `{{asset_custom_field_<name>}}` dobbel-krøllsyntaks. Definer en skriptvariabel av typen Platform og bind den til feltet — Syncro erstatter verdien i en PowerShell-parameter ved skriptkjøring.

### Syncro-skript: installer

Opprett et asset egendefinert felt `clavitor_token`. I skripteditoren, deklarer en variabel `Token` av typen **Platform** bundet til `{{asset_custom_field_clavitor_token}}`; send den til en PowerShell-parameter i skriptkroppen:

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

Quick Help-panelet nederst i hver Syncro-skripteditor lister opp alle tilgjengelige plattformvariabler for asset-, kunde- og billettkonteksten.

### Syncro-skript: koble til VPN med hvelv-påloggingsinformasjon

Etter installasjon løser skript og Automated Remediations påloggingsinformasjon fra hvelvet og bruker dem direkte:

```
$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
```

## Hvorfor dette er viktig for MSP-er

Hver RMM-plattform lagrer påloggingsinformasjon et sted — egendefinerte egenskaper, nettsteds-variabler, ekstra datafelt, skriptparametere. Hver tekniker med konsolltilgang kan se dem. Hvert brudd på RMM-konsollen din eksponerer alle kunders påloggingsinformasjon.

Clavitor flytter påloggingsinformasjonen ut av RMM-en. RMM-en lagrer kun agent-tokenet (ett per kunde). Tokenet gir begrenset tilgang til den kundens hvelv. Et brudd på RMM-konsollen din eksponerer tokens, ikke påloggingsinformasjon — og hvert token er IP-hvitelistet til endepunktet det ble distribuert på.

### Begrenset per kunde

Hvert kundehvelv har sitt eget agent-token. Teknikertilgang styres av omfang, ikke av "hvem kan logge inn på RMM-konsollen."

### Revidert per skript

Hver tilgang til påloggingsinformasjon logges — hvilket skript, hvilket endepunkt, hvilken påloggingsinformasjon, når. Kundene dine kan se revisjonssporet. Du kan bevise hvem som fikk tilgang til hva.

### Kan tilbakekalles med ett klikk

Kunde forlater? Tilbakekall deres agent-token. Hvert endepunkt slutter å løse påloggingsinformasjon umiddelbart. Ingen passord å rotere, ingen egendefinerte egenskaper å slette på 200 maskiner.

## Slutt å lagre påloggingsinformasjon i din RMM.

Én CLI. Hver kunde. Hver påloggingsinformasjon begrenset, revidert og tilbakekallbar.
[Start gratis](https://clavitor.ai/no/checkout)
[Utvikleroversikt →](https://clavitor.ai/no/developers)
