> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/agent/it/deploy-devolutions-agent-silently.md).

# Distribuire Devolutions Agent in modo silenzioso

Distribuisca Devolutions Agent in modo silenzioso con msiexec o PowerShell e scelga quali componenti installare con la proprietà ADDLOCAL per una distribuzione di massa.

Il programma di installazione di Devolutions Agent è un pacchetto standard di Windows Installer (MSI). Può essere installato in modo silenzioso dalla riga di comando, tramite PowerShell o tramite qualsiasi strumento di distribuzione software (Microsoft Intune, Configuration Manager, criteri di gruppo, piattaforme RMM e così via).

Durante un'installazione silenziosa, scelga quali componenti di Devolutions Agent vengono installati con la proprietà MSI standard `ADDLOCAL`. È utile quando si distribuisce Devolutions Agent su molti computer, ad esempio per sostituire l'[agente RDM Jump](https://docs.devolutions.net/rdm/it/ribbon-menu-bar/tools/all-tools/rdm-jump-deprecated) deprecato con Devolutions Agent sui [jump host](/agent/it/jump-host.md), oppure per escludere componenti che non servono in un determinato ambiente.

## Prerequisiti

* Un computer Windows con diritti di amministratore locale (o uno strumento di distribuzione in esecuzione come SYSTEM).
* .NET Framework 4.8 o versione successiva.
* Il file MSI di Devolutions Agent per l'architettura di destinazione, x64 o arm64 (ad esempio `DevolutionsAgent-2026.3.0-x64.msi`).

{% hint style="warning" %}
Il programma di installazione non consente i downgrade. Se è già installata una versione più recente, l'installazione non riesce con il codice di uscita `1603`.
{% endhint %}

## Componenti del programma di installazione

Ogni componente del programma di installazione corrisponde a un ID di funzionalità. Usi questi ID in `ADDLOCAL` (per installare) o `REMOVE` (per rimuovere). Gli ID di funzionalità rispettano la distinzione tra maiuscole e minuscole. Le stesse funzionalità, come vengono visualizzate nel programma di installazione interattivo, sono descritte in [Devolutions Agent](/agent/it/readme.md#installation).

| ID funzionalità | Nome nel programma di installazione | Predefinito               | Descrizione                                                                                                                                                                                                                                                                                                                                                                        |
| --------------- | ----------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `F.Agent`       | Devolutions Agent                   | Installato (obbligatorio) | Installa il servizio Devolutions Agent. Sempre obbligatorio. Elemento padre di `F.Updater`, `F.Tunnel` e `F.PsuAgent`.                                                                                                                                                                                                                                                             |
| `F.Session`     | RDP Extension                       | Installato                | Abilita funzionalità di sessione RDP come l'esecuzione remota, le sessioni jump e la disconnessione remota. Installa il componente che apre il canale virtuale RDP usato da Remote Desktop Manager per comunicare con Devolutions Agent. Obbligatorio per le connessioni Jump da Remote Desktop Manager tramite Devolutions Agent e quindi su ogni jump host.                      |
| `F.Updater`     | Devolutions Gateway Updater         | Installato                | Il modulo di aggiornamento di Devolutions Agent. Gestisce gli aggiornamenti di Devolutions Gateway e di Devolutions Cloud Services, nonché l'aggiornamento automatico di Devolutions Agent. Senza di esso, Devolutions Agent non può aggiornarsi.                                                                                                                                  |
| `F.Tunnel`      | Agent Tunnel                        | Non installato            | Connette Devolutions Agent a un Devolutions Gateway. Un'installazione silenziosa con questo componente non riesce se non vengono passate proprietà aggiuntive, come la stringa di registrazione dell'operatore del gateway. Non trattato in questo articolo. Consulti [Agent tunnel](https://docs.devolutions.net/gateway/it/knowledge-base/knowledge-base-articles/agent-tunnel). |
| `F.PsuAgent`    | PowerShell Universal Agent          | Non installato            | Abilita l'agent remoto di PowerShell Universal. Un'installazione silenziosa con questo componente non riesce se non vengono passate proprietà aggiuntive, come l'URL e il token di PowerShell Universal. Non trattato in questo articolo.                                                                                                                                          |
| `F.Pedm`        | Devolutions PEDM                    | Non installato            | Abilita le funzionalità PEDM e installa l'estensione della shell. Sperimentale.                                                                                                                                                                                                                                                                                                    |

{% hint style="info" %}
Se esegue un'installazione silenziosa senza `ADDLOCAL`, vengono installati i componenti predefiniti: Devolutions Agent, RDP Extension e Devolutions Gateway Updater.
{% endhint %}

## Installazione silenziosa

### Componenti predefiniti

Per installare Devolutions Agent con i componenti predefiniti, esegua il comando seguente da un prompt con privilegi elevati:

```
msiexec /i "DevolutionsAgent-2026.3.0-x64.msi" /qn /norestart /l*v "C:\Windows\Temp\DevolutionsAgent_install.log"
```

| Opzione       | Scopo                                                                                           |
| ------------- | ----------------------------------------------------------------------------------------------- |
| `/i`          | Installare o aggiornare il pacchetto.                                                           |
| `/qn`         | Nessuna interfaccia utente (silenziosa).                                                        |
| `/norestart`  | Non riavviare il computer automaticamente.                                                      |
| `/l*v <path>` | Scrivere un registro di installazione dettagliato. Consigliato per la risoluzione dei problemi. |

### Componenti selezionati

Per scegliere i componenti, passi `ADDLOCAL` con un elenco di ID di funzionalità separati da virgole. `F.Agent` deve essere sempre incluso. Qualsiasi componente non elencato non viene installato.

L'esempio seguente è una configurazione tipica per un jump host. Installa Devolutions Agent con RDP Extension e il modulo di aggiornamento.

```
msiexec /i "DevolutionsAgent-2026.3.0-x64.msi" /qn /norestart ADDLOCAL="F.Agent,F.Updater,F.Session" /l*v "C:\Windows\Temp\DevolutionsAgent_install.log"
```

L'esempio seguente installa Devolutions Agent con RDP Extension, senza il modulo di aggiornamento. Lo utilizzi solo se la sua organizzazione non vuole che Devolutions Agent aggiorni se stesso o altri componenti Devolutions.

```
msiexec /i "DevolutionsAgent-2026.3.0-x64.msi" /qn /norestart ADDLOCAL="F.Agent,F.Session" /l*v "C:\Windows\Temp\DevolutionsAgent_install.log"
```

{% hint style="warning" %}
Senza `F.Updater`, Devolutions Agent non può aggiornarsi. Gli aggiornamenti devono quindi essere distribuiti con i propri strumenti.
{% endhint %}

{% hint style="info" %}
Non aggiunga `F.Tunnel` o `F.PsuAgent` a `ADDLOCAL` senza le proprietà richieste. In caso contrario, l'installazione silenziosa non riesce.
{% endhint %}

### Aggiornare un'installazione esistente

Quando si installa una versione più recente su una esistente senza `ADDLOCAL`, il programma di installazione mantiene i componenti già installati.

Quando si passa `ADDLOCAL`, il programma di installazione usa l'elenco indicato al posto di quello precedente. Lo stesso comando può quindi essere usato per le nuove installazioni e per gli aggiornamenti. Ad esempio, l'aggiornamento con `ADDLOCAL="F.Agent,F.Session"` rimuove il modulo di aggiornamento (`F.Updater`) se era stato installato in precedenza.

{% hint style="success" %}
Passi sempre `ADDLOCAL` nel pacchetto di distribuzione. In questo modo ogni computer avrà gli stessi componenti, indipendentemente da ciò che era installato in precedenza.
{% endhint %}

### Rimuovere un componente da un Devolutions Agent installato

Per rimuovere un componente da un Devolutions Agent installato, esegua il file MSI della versione installata. Elenchi i componenti che mantiene in `ADDLOCAL` e quelli che rimuove in `REMOVE`:

```
msiexec /i "DevolutionsAgent-2026.3.0-x64.msi" /qn /norestart ADDLOCAL="F.Agent,F.Session" REMOVE="F.Updater"
```

{% hint style="warning" %}
Non usi `REMOVE` da solo. Ad esempio, `REMOVE="F.Updater"` da solo disattiva anche RDP Extension. Questo ha effetto solo dopo il successivo riavvio del servizio o il riavvio del computer, quindi il problema non è subito visibile.
{% endhint %}

## Script di distribuzione PowerShell

Lo script seguente può essere usato così com'è oppure come comando di installazione di uno strumento di distribuzione. Installa o aggiorna Devolutions Agent, controlla il codice di uscita e indica quali componenti sono abilitati.

```powershell
# Deploy-DevolutionsAgent.ps1
# Installs or updates Devolutions Agent silently with the selected components.
# Run as administrator (or as SYSTEM through your deployment tool).

$msi      = "\\fileserver\share\DevolutionsAgent-2026.3.0-x64.msi"
$features = "F.Agent,F.Updater,F.Session"   # Agent service + update module + RDP Extension
$log      = "C:\Windows\Temp\DevolutionsAgent_install.log"

$arguments = "/i `"$msi`" /qn /norestart ADDLOCAL=`"$features`" /l*v `"$log`""
$process = Start-Process -FilePath "msiexec.exe" -ArgumentList $arguments -Wait -PassThru

if ($process.ExitCode -notin 0, 1641, 3010) {
    Write-Error "Devolutions Agent installation failed (exit code $($process.ExitCode)). See $log"
    exit $process.ExitCode
}

# Verify which components are enabled
$config = Get-Content "C:\ProgramData\Devolutions\Agent\agent.json" -Raw | ConvertFrom-Json
Write-Output "Service status          : $((Get-Service DevolutionsAgent).Status)"
Write-Output "RDP Extension enabled   : $($config.Session.Enabled)"
Write-Output "Update module enabled   : $($config.Updater.Enabled)"

exit $process.ExitCode
```

Per distribuire su più computer da una workstation di gestione con la comunicazione remota di PowerShell abilitata:

```powershell
$computers = Get-Content "C:\Deploy\computers.txt"
$msiShare  = "\\fileserver\share\DevolutionsAgent-2026.3.0-x64.msi"

Invoke-Command -ComputerName $computers -ArgumentList $msiShare -ScriptBlock {
    param($source)
    $local = "C:\Windows\Temp\DevolutionsAgent.msi"
    Copy-Item $source $local -Force
    $arguments = "/i `"$local`" /qn /norestart ADDLOCAL=`"F.Agent,F.Updater,F.Session`" /l*v C:\Windows\Temp\DevolutionsAgent_install.log"
    $p = Start-Process msiexec.exe -ArgumentList $arguments -Wait -PassThru
    [pscustomobject]@{ Computer = $env:COMPUTERNAME; ExitCode = $p.ExitCode }
}
```

{% hint style="info" %}
La copia da una condivisione di rete all'interno di una sessione remota può non riuscire a causa della delega delle credenziali (double hop). In tal caso, copi prima il file MSI nei computer di destinazione oppure lasci che lo distribuisca lo strumento di distribuzione.
{% endhint %}

## Codici di uscita

| Codice di uscita | Significato                                                                                                                                                                                                                                         |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `0`              | Installazione riuscita.                                                                                                                                                                                                                             |
| `3010`           | Installazione riuscita. È necessario un riavvio per completarla.                                                                                                                                                                                    |
| `1641`           | Installazione riuscita ed è stato avviato un riavvio.                                                                                                                                                                                               |
| `1603`           | Errore irreversibile durante l'installazione. Controlli il registro dettagliato. Questo è anche il codice restituito quando è già installata una versione più recente (il registro mostra "A newer version of this product is already installed."). |
| `1618`           | È in corso un'altra installazione. Riprovi più tardi.                                                                                                                                                                                               |

## Verificare l'installazione

* Verifichi che il servizio Devolutions Agent sia in esecuzione con `Get-Service DevolutionsAgent`.
* Apra `C:\ProgramData\Devolutions\Agent\agent.json`. Il programma di installazione scrive un valore `Enabled` per ogni componente facoltativo. Ad esempio, con `ADDLOCAL="F.Agent,F.Session"`, `Session` mostra `"Enabled": true` e `Updater` mostra `"Enabled": false`.
* Se qualcosa non sembra corretto, apra il registro di installazione dettagliato (il file `/l*v`). Elenca ogni funzionalità e il relativo stato di installazione.

## Dopo l'installazione

Non è necessario riavviare né disconnettersi dopo l'installazione di Devolutions Agent.

La comunicazione tra Remote Desktop Manager e Devolutions Agent avviene tramite la connessione RDP e questo canale viene configurato quando viene stabilita la connessione RDP. Se Devolutions Agent viene installato mentre è aperta una sessione RDP verso quel computer, chiuda la sessione RDP e la riapra. Le nuove connessioni RDP effettuate dopo l'installazione funzionano subito.

{% hint style="warning" %}
Le sessioni jump, la disconnessione remota e l'esecuzione remota richiedono RDP Extension (`F.Session`). Lo includa in `ADDLOCAL` su ogni computer in cui vengono usate queste funzionalità.
{% endhint %}

## Disinstallazione silenziosa

Per disinstallare Devolutions Agent in modo silenzioso, cerchi il codice prodotto ed esegua `msiexec /x`:

```powershell
$app = Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" |
    Where-Object { $_.DisplayName -eq "Devolutions Agent" }

$arguments = "/x $($app.PSChildName) /qn /norestart /l*v C:\Windows\Temp\DevolutionsAgent_uninstall.log"
Start-Process msiexec.exe -ArgumentList $arguments -Wait
```

{% hint style="info" %}
La disinstallazione non rimuove `C:\ProgramData\Devolutions\Agent` (incluso `agent.json`) né la chiave del Registro di sistema `HKLM\SOFTWARE\Devolutions\Agent`. Li elimini manualmente se serve uno stato pulito, ad esempio prima di una reinstallazione da zero.
{% endhint %}

## Vedere anche

* [Jump host](/agent/it/jump-host.md)
* [Devolutions Blog – Sostituire RDM Agent con Devolutions Agent](https://devolutions.net/blog/replacing-rdm-agent-with-devolutions-agent/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/agent/it/deploy-devolutions-agent-silently.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
