Vai al contenuto
Avanet

Automatizzare il rollout di Sophos Endpoint su Windows

Questo articolo riguarda esclusivamente la distribuzione automatica di SophosSetup.exe tramite software distribution, RMM o script. Per una singola installazione interattiva e per la diagnostica dettagliata sono disponibili gli articoli separati collegati.

RMM indica qui una modalità di esecuzione generica, non un’integrazione di prodotto certificata da Sophos. Lo strumento scelto deve eseguire l’installer come SYSTEM o amministratore locale, predisporre insieme pacchetto e wrapper, conservare lo stato di uscita reale e gestire in modo controllato timeout e tentativi successivi.

Definire ambito e criteri del rollout

Prima dell’esecuzione, registrare dispositivi target, finestra di manutenzione, prodotto atteso, gruppo di destinazione, percorso di rete e responsabile. Iniziare con pochi dispositivi pilota rappresentativi e procedere solo per ondate limitate. Prima di ogni ondata, verificare le modifiche di versione di Core Agent in Sophos Endpoint Update, Cache e Message Relay: una versione pubblicata potrebbe non essere ancora disponibile ovunque a causa del rilascio graduale.

Un job non è riuscito solo perché restituisce un codice di processo. Deve inoltrare lo stato di uscita reale e il dispositivo deve raggiungere lo stato concordato localmente e in Sophos Fusion (in precedenza Sophos Central).

Preparare installer e prerequisiti

Scaricare un nuovo installer Windows dal tenant corretto in My Environment > Installers con Download Complete Windows Installer. Nonostante l’etichetta, SophosSetup.exe è un installer leggero che scarica le funzioni disponibili con la licenza. Sophos ne consente il trasferimento e l’esecuzione automatizzata, anche con SCCM. Non usare l’installer specifico di un utente del flusso Email Deployment: tutti i dispositivi verrebbero associati all’account Sophos Fusion del mittente.

L’installer è legato al tenant e riservato: un estraneo non ottiene accesso al portale, ma può registrare dispositivi nel tenant. Eliminare le copie dopo il rollout e distribuirlo solo da storage con accesso controllato. Dopo una divulgazione, Expire Previously Downloaded Installers in My Environment > Installers blocca tutti i download precedenti; l’azione è irreversibile.

Prima del pilota:

  • Verificare che Sophos Fusion supporti attualmente la versione Windows.
  • Assicurarsi che il contesto di distribuzione fornisca l’elevazione necessaria per installare il software endpoint.
  • Verificare le licenze. Un prodotto richiesto ma senza licenza nel tenant non viene installato.
  • Applicare sul firewall o proxy i requisiti di rete e proxy per Sophos Endpoint, inclusi TCP 443 in uscita e DNS 53. Ricontrollare i requisiti documentati prima di ogni rollout invece di mantenere una vecchia lista statica nello script.
  • Collaudare la decisione di rimozione o coesistenza per la protezione concorrente presente.
  • Predisporre SophosSetup.exe e gli argomenti localmente o con distribuzione controllata. Il pacchetto deve appartenere al tenant in cui è atteso il dispositivo.

Creare il comando pilota

Questo esempio PowerShell installa XDR in modo invisibile, inserisce il computer nel sottogruppo Pilot di Workstations, applica due tag e restituisce il codice reale al sistema di distribuzione:

$ErrorActionPreference = 'Stop'
$agentPaths = @(
    if (${env:ProgramFiles(x86)}) {
        Join-Path ${env:ProgramFiles(x86)} 'Sophos\Management Communications System\Endpoint\McsClient.exe'
    }
    if ($env:ProgramFiles) {
        Join-Path $env:ProgramFiles 'Sophos\Management Communications System\Endpoint\McsClient.exe'
    }
)
$installedAgent = $agentPaths | Where-Object {
    Test-Path -LiteralPath $_ -PathType Leaf
} | Select-Object -First 1
if ($installedAgent) {
    Write-Output "Sophos agent already installed: $installedAgent"
    exit 0
}

$installer = Join-Path $PSScriptRoot 'SophosSetup.exe'
if (-not (Test-Path -LiteralPath $installer -PathType Leaf)) {
    throw "SophosSetup.exe must be staged beside this wrapper: $installer"
}
$arguments = @(
    '--quiet'
    '--products=xdr'
    '--devicegroup=Workstations\Pilot'
    '--tag=Rollout:wave-0'
    '--tag=ManagedBy:RMM'
)
$process = Start-Process -FilePath $installer -ArgumentList $arguments -Wait -PassThru
$exitCode = $process.ExitCode
Write-Output "SophosSetup.exe exit status: $exitCode"
exit $exitCode

Questo wrapper è destinato alle nuove installazioni. Se trova già McsClient.exe, termina con codice 0 e non modifica né la registrazione del tenant né l’ambito dei prodotti, il gruppo o i tag. Controllare separatamente in Sophos Fusion le installazioni esistenti e usare il flusso di migrazione o gestione previsto quando devono essere modificate.

Le barre rovesciate esprimono la gerarchia di --devicegroup. Racchiudere l’intero percorso tra virgolette se un gruppo contiene spazi, ad esempio --devicegroup="Application Servers\Terminal Servers". Un gruppo o sottogruppo inesistente viene creato. Il pilota deve quindi usare un percorso intenzionale e verificarlo poi in Sophos Fusion.

I tag seguono --tag=<name>:<value>; è valido anche il solo nome, come --tag=Pilot. Ripetere l’argomento per più tag.

Scegliere il metodo di distribuzione

I criteri di collaudo restano uguali con qualunque strumento: eseguire l’installer legato al tenant nel contesto computer, valutarne il codice di processo e verificare lo stato atteso localmente e in Sophos Fusion. I percorsi AD e Intune descritti qui usano il wrapper per rilevare un’installazione esistente e restituire invariato il codice dell’installer. Con l’esecuzione MECM diretta, una Application controlla le ripetizioni mediante la propria Detection Method; per un Package, assegnazione e pianificazione devono impedire reinstallazioni involontarie. Sophos documenta script di avvio Active Directory, Microsoft Intune e MECM.

Script di avvio di Active Directory

Salvare il wrapper PowerShell precedente come Deploy-SophosEndpoint.ps1. Può essere assegnato come script di avvio del computer. Diversamente da uno script di accesso, viene eseguito con i diritti del computer prima dell’accesso; uno script di accesso richiederebbe un utente amministratore locale. Conservare il wrapper e SophosSetup.exe in una posizione modificabile solo dagli amministratori e leggibile dagli account computer target.

In Group Policy Management Console (gpmc.msc) collegare prima la GPO a una OU pilota. Il percorso esatto è Computer Configuration > Policies > Windows Settings > Scripts (Startup/Shutdown) > Startup; per PowerShell usare la scheda PowerShell Scripts. Aprire Show Files… e copiare in quella cartella Deploy-SophosEndpoint.ps1 e il SophosSetup.exe del tenant. Devono trovarsi affiancati perché $PSScriptRoot trovi l’installer. Quindi selezionare Deploy-SophosEndpoint.ps1 con Add… > Browse. Controllare Links e Security Filtering in Scope; concedere Read e Apply Group Policy solo ai computer pilota o a un gruppo di computer dedicato. Eseguire gpupdate /force sul pilota e riavviarlo. L’esempio Batch Sophos rileva Sophos\Management Communications System\Endpoint\McsClient.exe in %ProgramFiles(x86)% sui sistemi a 64 bit e in %ProgramFiles% su x86. Un wrapper proprio può usare un rilevamento interno almeno altrettanto specifico. Verificare accesso alla condivisione, contesto computer, assenza di reinstallazioni e registrazione del codice di uscita.

Microsoft Intune

Usare un account autorizzato a gestire Intune. Creare cartelle dedicate per sorgente, output e strumento; gli esempi documentati usano C:\Temp\IntunePackageSource, C:\Temp\IntunePackageOutput e C:\Temp\Intune-Win32-App-Packaging-Tool-master. Inserire SophosSetup.exe e il wrapper approvato nella cartella sorgente, quindi eseguire IntuneWinAppUtil.exe di Microsoft. Indicare cartella sorgente, SophosSetup.exe come file di installazione e cartella di output, poi rispondere Catalog folder: N. Il successo mostra INFO File 'C:\Temp\IntunePackageOutput\SophosSetup.intunewin' has been generated successfully.

In Microsoft Intune admin center aprire Apps > All Apps > Add, scegliere Windows app (Win32) e caricare SophosSetup.intunewin con Select app package file. In Program la base pubblicata è SophosSetup.exe --quiet; per questa distribuzione impostare Install command esattamente su powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass -File ".\Deploy-SophosEndpoint.ps1". Il pacchetto deve contenere affiancati Deploy-SophosEndpoint.ps1 e SophosSetup.exe, affinché il wrapper fornisca gli argomenti pilota e $PSScriptRoot venga risolto correttamente. Per l’ambito Windows e Core Agent corrente supportato dalla guida alla disinstallazione collegata, impostare Uninstall command esattamente su "C:\Program Files\Sophos\Sophos Endpoint Agent\SophosUninstall.exe" --quiet (invocazione SophosUninstall.exe --quiet). Solo sulle piattaforme legacy usare invece "C:\Program Files\Sophos\Sophos Endpoint Agent\uninstallcli.exe" --quiet (invocazione uninstallcli.exe --quiet); seguire la guida per prerequisiti, prodotti protetti e riavvio. Lasciare invariate le associazioni predefinite di Return code e Code type, salvo che il contratto di distribuzione collaudato richieda una gestione diversa. Selezionare architettura e Minimum OS in Requirements. In Detection rules configurare Rule type: File, Path: %ProgramFiles%\Sophos\Sophos UI, File or folder: Sophos UI.exe, Detection method: File or folder exists. Collaudare il rilevamento: evita ripetizioni, ma non prova registrazione in Sophos Fusion, prodotti o gruppo. Lasciare Dependencies e Supersedence invariati se non progettati. Assegnare prima solo il gruppo pilota in Assignments > Required. Dopo Review + create, osservare l’installazione automatica sui dispositivi registrati. Windows Autopilot è consigliato da Sophos per la registrazione, ma non è necessario per il pacchetto.

Microsoft Endpoint Configuration Manager (MECM)

I Packages sono il metodo legacy semplice; le Applications aggiungono rilevamento, dipendenze, requisiti e versioni. Per un Package usare Software Library > Application Management > Packages > Create Package, puntare This package contains source files alla sorgente protetta di SophosSetup.exe e creare un Standard program con SophosSetup.exe --quiet, Program can run: Whether or not a user is logged on, Run mode: Run with administrative rights e Drive mode: Runs with UNC name. In Deploy scegliere Device Collection pilota, Distribution Point, Purpose: Required, pianificazione e user experience.

Per una Application usare Applications > Create Application > Manually specify the application information. Il Deployment Type usa la sorgente UNC e imposta Installation program esattamente su SophosSetup.exe --quiet; questo comando MECM diretto resta distinto dal comando Intune basato sul wrapper descritto sopra e non include automaticamente le opzioni di prodotto, gruppo o tag dell’esempio pilota. Aggiungere tali opzioni deliberatamente al comando diretto o a un wrapper collaudato per MECM. Collegare con And tre clausole che richiedono C:\Program Files\Sophos\Endpoint Defense\SEDService.exe senza associazione a 32 bit, più C:\Program Files\Sophos\AutoUpdate\SophosUpdate.exe e C:\Program Files\Sophos\Management Communications System\Endpoint\McsClient.exe associati a un’applicazione a 32 bit sui sistemi a 64 bit. In User Experience scegliere Installation behavior: Install for system, Logon requirement: Whether or not a user is logged on, Installation program visibility: Normal, nessuna interazione e la stima documentata di dieci minuti. Distribuire poi a una collection pilota e un Distribution Point con Purpose: Required.

Per tutte le modalità, sostituire il pacchetto sotto change control. Rimuovere copie, riferimenti e assegnazioni precedenti solo dopo il collaudo della nuova ondata pilota. Le opzioni seguenti possono essere aggiunte al comando di installazione diretto o a un wrapper secondo la modalità; i comandi MECM diretti non ereditano automaticamente i parametri pilota.

Scegliere consapevolmente le opzioni

L’attuale documentazione CLI Windows comprende queste opzioni supportate:

  • --quiet, --noproxydetection, --nocompetitorremoval e --language=<ID> controllano interfaccia, rilevamento proxy, rimozione dei concorrenti e lingua.
  • --products=<elenco> accetta endpoint, xdr, xdrsensor, deviceEncryption, ztna, all e none; separare più valori con virgole.
  • --devicegroup, --tag, --computernameoverride e --domainnameoverride controllano collocazione e identità visualizzata. Usare gli override solo con una strategia di nomi inequivocabile.
  • --crtcatalogpath=<percorso> indica un catalogo personalizzato dei concorrenti da rimuovere.
  • Usare --customertoken=<UUID> e --epinstallerserver=<URL> solo se lo specifico flusso automatico o partner richiede questi valori forniti da Sophos.
  • --registeronly registra nuovamente una protezione Sophos esistente in un altro account. Prima occorre disattivare Tamper Protection sul dispositivo e usare l’installer dell’account di destinazione.
  • --goldimage, --notificationmode, --goldimagetimeout=<secondi> e --nonpersistent appartengono a un flusso VDI gold image validato separatamente con le versioni minime indicate da Sophos, non a un rollout standard delle workstation.

Sophos limita --bypassacscheck alle piattaforme legacy Windows 10 x86. --bypasstaegisidcheck ignora una verifica del tenant ID Taegis. Non aggiungere preventivamente questi bypass al pacchetto standard.

Decidere prodotto e gestione dei concorrenti

endpoint installa la protezione antimalware senza XDR. xdr comprende XDR e tutta la protezione di endpoint. xdrsensor offre XDR ma non antimalware, quindi richiede una protezione di terze parti. none installa solo i core agent e può servire a una verifica graduale di compatibilità. all installa tutti i prodotti con licenza e ignora gli altri.

Installando Sophos Anti-Virus, per impostazione predefinita l’installer tenta di rimuovere i concorrenti rilevati. --nocompetitorremoval impedisce il tentativo. Non è una garanzia generale di coesistenza. Prima di endpoint o xdr, collaudare rilevamento, rimozione, riavvii e ripristino con il prodotto terzo esatto. Scegliere xdrsensor solo se il prodotto mantenuto assume esplicitamente la protezione.

Configurare proxy, Message Relay e origine locale

Impostare un proxy valido solo durante l’installazione con --proxyaddress=<host>:<porta> o --pacurl=<URL>. Per proxy autenticati, Sophos dichiara che gli endpoint Windows supportano solo Digest Authentication; passare le credenziali con --proxyusername e --proxypassword. --noproxydetection disattiva il rilevamento automatico.

Indicare i Message Relay come elenco host:porta separato da virgole. La porta predefinita documentata è 8190:

SophosSetup.exe --quiet --products=endpoint `
  --messagerelays=relay01.example.net:8190,10.20.30.40:8190

Non esiste un’opzione CLI per assegnare un Update Cache. L’installer valuta automaticamente la connettività ai cache configurati nell’account Sophos Fusion.

--localinstallsource=<percorso> riduce i download ma non elimina il requisito Internet: alcuni file vengono comunque scaricati. Nella posizione indicata deve esistere una cartella SophosLocalInstallSource. Una cartella vuota viene popolata alla prima installazione; per precompilarla Sophos indica i contenuti di %ProgramData%\Sophos\AutoUpdate\data\repo o %ProgramData%\Sophos\UpdateCache\www\v3.

Proteggere segreti, stato di uscita e log

Non inserire installer, Customer Token o password proxy in share pubbliche, source control, output dei comandi o ticket. Se possibile, iniettare i valori a runtime dal secret store della piattaforma. Le righe di comando possono essere visibili agli amministratori locali e agli strumenti d’inventario: un proxy autenticato senza credenziali dedicate e limitate è rischioso.

Acquisire ora di avvio, target, argomenti non riservati e stato di uscita invariato, come nell’esempio. La pagina CLI ufficiale non pubblica una mappatura stabile dei codici numerici, quindi questo articolo non ne inventa una. Il codice è un segnale tecnico; per il collaudo fanno fede le verifiche locali e in Sophos Fusion.

I log dell’installer si trovano in C:\ProgramData\Sophos\CloudInstaller\Logs\ con il modello temporale SophosCloudInstaller_<date>_<time>.log. Usare il file corrispondente al tentativo interessato. --traillogging registra il contenuto dei messaggi tra dispositivo e Sophos Fusion. Usarlo solo su indicazione di Sophos Support; il supporto deve anche fornire la procedura esplicita di disattivazione del flusso diagnostico MCS corrente e verificare che la registrazione sia disattivata. Controllare i segreti prima di condividere i log.

Collaudare il pilota e autorizzare le ondate

Su ogni pilota, confermare che la protezione Sophos attesa sia attiva, che non esistano lacune involontarie nella protezione di terzi e che ogni riavvio necessario sia completato. Dopo l’installazione dell’agente, aprire My Environment > Computers & Servers in Sophos Fusion e verificare che il dispositivo compaia con stato di integrità, prodotti installati, ultima attività e gruppo previsti. Aprire la pagina dei dettagli del computer per ulteriori informazioni.

Dopo il periodo di osservazione concordato, autorizzare una piccola ondata rappresentativa e poi ondate maggiori. Confrontare completamento, registrazione in Sophos Fusion, stato, riavvii e conflitti per ogni ondata. Includere sedi, percorsi proxy, versioni Windows e prodotti terzi diversi nel pilota prima del rollout esteso.

Arrestare, ripristinare ed eseguire l’escalation

Fermare l’ondata successiva se i dispositivi non compaiono in Sophos Fusion, la protezione non si attiva, gli errori superano la soglia concordata o si concentrano problemi di rete, riavvio o concorrenti. Sospendere prima targeting e tentativi automatici; non lasciare i dispositivi in un ciclo cieco di reinstallazione.

Il rollback del job non ripristina automaticamente un concorrente rimosso dall’installer. Se il collaudo fallisce, trattare i dispositivi interessati in isolamento: disinstallare correttamente Sophos, ripristinare il prodotto precedente o mantenere lo stato Sophos funzionante secondo il piano approvato. Non modificare alla cieca oggetti di Sophos Fusion, Tamper Protection o validità dell’installer. L’articolo separato sulla disinstallazione copre la rimozione completa.

Per l’escalation raccogliere tenant/regione, data e ora, dispositivo, versione Windows, argomenti non segreti, stato di uscita invariato, ondata e il file corrispondente SophosCloudInstaller_<date>_<time>.log. Rimuovere i segreti. Inviare queste evidenze a Sophos Support per errori inspiegabili o riproducibili; per differenze di versione annotare anche la versione Core Agent effettivamente proposta.

Articoli correlati

Per un’installazione interattiva vedere Installare Sophos Endpoint su Windows. Gestire Agent Mode e software di Sophos Endpoint spiega gli Agent Mode. VDI richiede regole diverse per identità e clonazione; usare Preparare Sophos Endpoint in una Gold Image VDI. Per la rimozione completa vedere Disinstallare Sophos Endpoint da Windows. La diagnostica approfondita resta fuori da questo flusso.