Sei già un cliente NinjaOne? Effettua il login per visualizzare le altre guide e gli ultimi aggiornamenti.

Installazione dell’agente NinjaOne: Distribuzione tramite Intune

Argomento

Questo articolo spiega come installare l'agente NinjaOne tramite Microsoft Intune.

Ambiente

  • Integrazioni NinjaOne
  • Microsoft Intune

Descrizione

È possibile utilizzare Microsoft Intune per distribuire l'agente NinjaOne sui dispositivi Microsoft Windows o Apple macOS. Abbiamo migliorato questo processo con l'implementazione della nostra integrazione con Microsoft Intune. È possibile utilizzare la procedura descritta di seguito o fare riferimento a Guida introduttiva all'integrazione di Microsoft Intune in NinjaOne per un'esperienza semplificata.

Secondo la documentazione Microsoft, se si mescolano l'installazione di applicazioni Win32 e di applicazioni line-of-business durante l'iscrizione a Windows Autopilot, l'installazione dell'applicazione potrebbe fallire, poiché entrambe potrebbero tentare di utilizzare il servizio Trusted Installer contemporaneamente. Tuttavia, è supportata la combinazione di applicazioni Win32 e line-of-business durante la preparazione del dispositivo Windows Autopilot.

Selezionate una categoria per saperne di più:

Istruzioni per la distribuzione di Microsoft Intune per Windows

Preparare il file MSI

  1. Scaricare il file MSI dell'agente NinjaOne.
  2. Assicurarsi che il file .msi dell'agente NinjaOne sia pronto per la distribuzione.

Aggiungere l'agente NinjaOne come applicazione Line of Business in Microsoft Intune

  1. Aprire il Microsoft Endpoint Manager Admin Center per i dispositivi su macOS Catalina (link esterno).
  2. Andare in Applicazioni → Tutte le applicazioni e fare clic su + Aggiungi.
intune admin center_apps_all apps.png
Immagine 1: Accesso alle app nel centro di amministrazione di Microsoft Intune
  1. Nel riquadro Aggiungi app, nella sezione Tipo di app, selezionare Line-of-business app.

Caricare il file MSI

  1. Clicca su Seleziona file pacchetto app.
  2. Nel riquadro dei file del pacchetto dell'applicazione, fare clic su Sfoglia per individuare e selezionare il file MSI dell'agente NinjaOne, quindi fare clic su OK per caricarlo.

Configurare le informazioni dell'app

Configurare l'applicazione come segue:

  • Nome: Inserite un nome per l'applicazione, ad esempio NinjaOne Agent.
  • Descrizione: Inserisci una descrizione per l'applicazione.
  • Publisher: Entra in scena NinjaOne.
  • Contesto di installazione dell'app: Seleziona il dispositivo.
  • Ignora la versione dell'applicazione: Sì.

Assegnare l'applicazione

Nella sezione Assegnazioni, specificare i gruppi di dispositivi o utenti a cui si desidera distribuire l'agente NinjaOne.

  1. Nella sezione Revisiona + crea, controlla le impostazioni.
  2. Fare clic su Crea, quindi monitorare l'installazione client.

È possibile visualizzare lo stato di installazione nel portale Microsoft Intune in Applicazioni → Monitor → Stato di installazione delle app.

Istruzioni per la distribuzione di Microsoft Intune per macOS

Per i dispositivi con macOS Catalina (10.15) e versioni successive, macOS richiede l'approvazione manuale di varie impostazioni di sicurezza e privacy prima di aprire il software scaricato per la prima volta. Per sapere come installare l'agente con le impostazioni di sicurezza e privacy avanzate di macOS, consultare Installazione dell'agente NinjaOne: Aggiungi dispositivo (macOS).

Criteri di rilevamento

Alcuni MDM potrebbero non rilevare correttamente se l'agente è installato, anche se è stato distribuito correttamente. Per impostazione predefinita, la maggior parte degli MDM probabilmente controlla la cartella /Applications/ per il file specificato o controlla le ricevute PKG; tuttavia, questi non sono indicatori corretti per l'agente NinjaOne.

A seconda di ciò che consente l'MDM, ci sono alcuni modi per confermare che l'agente NinjaOne è stato installato correttamente:

File di applicazione

  1. Controlla la cartella /Applications/ per le applicazioni installate:
    • /Applications/NinjaRMMAgent/uninstall.app
    • /Applications/NinjaRMMAgent/programfiles/njbar.app
    • /Applications/NinjaRMMAgent/programfiles/njdialog.app
      Se l'MDM sta controllando le app installate, è possibile utilizzare una (o tutte e tre) delle app installate sopra per verificare che l'app sia stata installata correttamente.
  2. Visualizzare l'ID e la versione del bundle con i seguenti comandi dopo aver installato l'agente NinjaOne, assicurandosi di sostituire {appPath} con uno dei percorsi sopra indicati:
    • defaults read {appPath}/Contents/Info.plist CFBundleIdentifier
    • defaults read {appPath}/Contents/Info.plist CFBundleShortVersionString
      Per esempio, puoi vedere il seguente input/output per njbar.app:

      /Applications/NinjaRMMAgent/programfiles/njbar.app/Contents/Info.plist CFBundleIdentifier org.njbar.daemon
      /Applications/NinjaRMMAgent/programfiles/njbar.app/Contents/Info.plist CFBundleShortVersionString 5.8.9154

File di programma

Alcuni MDM supportano semplicemente il controllo dell'esistenza di un determinato file dopo l'installazione. Si consiglia di utilizzare il seguente file:

/Applications/NinjaRMMAgent/programfiles/ninjarmm-macagent

Installare lo script di controllo

Alcuni MDM supportano l'uso di uno script personalizzato per verificare se un'applicazione è installata. Potrebbe essere necessario utilizzare solo uno script che verifichi l'esistenza del file di cui sopra e, in caso affermativo, restituisca il valore appropriato. Le specifiche possono dipendere dalla piattaforma stessa. Di seguito, e in allegato alla fine dell'articolo, NinjaOne offre uno script che può aiutare nella distribuzione.

È necessario modificare l'URL in modo che corrisponda all'URL del programma di installazione generato o all'URL generico del programma di installazione.
Nota: Se si utilizza l'URL generico del programma di installazione, è necessario sostituire Token='' con Token='YourActualTokenID'.

#!/bin/bash

# SYNOPSIS
# This script is used to install the NinjaOne agent. Supports generic installer or generated URL.

# DESCRIPTION
# This script is used to install the NinjaOne agent. Supports generic installer or generated URL.

------------------------------------------------------------

Write-LogEntry() {
    if [[ -z "$1" ]]; then
        Write-LogEntry "Usage: Write-LogEntry "You must supply a message when calling this function.""
        return 1
    fi

    local message="$1"

    local log_path="/tmp/NinjaOneInstall.log"
    local timestamp
    timestamp=$(date +"%Y-%m-%d %H:%M:%S")

    # Append the log entry to the file and print it to the console
    echo "$timestamp - $message" >>"$log_path"
    echo "$timestamp - $message"
}

# Adjust URL to your generated URL or to the generic URL
URL=''
# If using generic installer URL, a token must be provided
Token=''
Folder='/tmp'
Filename=$(basename "$URL")

if [[ $EUID -ne 0 ]]; then
    Write-LogEntry "This script must be run as root. Try running it with sudo or as the system/root user."
    exit 1
fi

if [[ -z "$URL" ]]; then
    Write-LogEntry 'Please provide a URL. Exiting.'
    exit 1
fi

Write-LogEntry 'Performing checks...'

CheckApp='/Applications/NinjaRMMAgent'
if [[ -d "$CheckApp" ]]; then
    Write-LogEntry 'NinjaOne agent already installed. Please remove before installing.'
    rm "$Folder/$Filename"
    exit 1
fi

if [[ "$Filename" != *.pkg ]]; then
    Write-LogEntry 'Only PKG files are supported in this script. Cannot continue.'
    exit 1
fi

if [[ "$Filename" == 'NinjaOneAgent.pkg' ]]; then
    if [[ -z "$Token" ]]; then
        Write-LogEntry 'A generic install URL was provided with no token. Please provide a token to use the generic installer. Exiting.'
        exit 1
    fi

    if [[ ! $Token =~ ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ ]]; then
        Write-LogEntry 'An invalid token was provided. Please ensure it was entered correctly.'
        exit 1
    fi

    Write-LogEntry 'Token provided and generic installer being used. Continuing...'
    echo "$Token" >"$Folder/.~"
else
    if [[ -n "$Token" ]]; then
        Write-LogEntry 'A token was provided, but the URL appears to be for a generated installer and not the generic installer.'
        Write-LogEntry 'Script will not continue. Please use either a generic installer URL, or remove the token. You cannot use both.'
        exit 1
    fi
fi

Write-LogEntry 'Downloading installer...'

if ! curl -fSL "$URL" -o "$Folder/$Filename"; then
    Write-LogEntry 'Download failed. Exiting Script.'
    exit 1
fi

if [[ ! -s "$Folder/$Filename" ]]; then
    Write-LogEntry 'Downloaded an empty file. Exiting.'
    exit 1
fi

if ! pkgutil --check-signature "$Folder/$Filename" | grep -q "NinjaRMM LLC"; then
    Write-LogEntry 'PKG file is not signed by NinjaOne. Cannot continue.'
    exit 1
fi

Write-LogEntry 'Download successful. Beginning installation...'

installer -pkg "$Folder/$Filename" -target /

CheckApp='/Applications/NinjaRMMAgent'
if [[ ! -d "$CheckApp" ]]; then
    Write-LogEntry 'Failed to install the NinjaOne Agent. Exiting.'
    rm "$Folder/$Filename"
    exit 1
fi

Write-LogEntry 'Successfully installed NinjaOne!'
rm "$Folder/$Filename"
exit 0

Profili MDM rilevanti

Indipendentemente dal modo in cui viene distribuito l'agente NinjaOne, diversi profili MDM rilevanti possono contribuire a semplificare il processo e a garantire il corretto funzionamento dell'agente. I nomi dei payload e delle impostazioni esatte possono cambiare leggermente tra i diversi MDM.

Tieni presente che queste configurazioni possono essere combinate in un unico criterio o separate in criteri diversi, a seconda delle preferenze individuali o dei requisiti MDM.

  1. Consenti all'agente NinjaOne di accedere a tutti i file.
    • Tipo di payload: Preferenze sulla privacy Controllo dei criteri
    • Autorizzazioni: SystemPolicyAllFiles
    • Valori:
      • Consentito: True
        Assicurarsi che la chiave di autorizzazione sia rimossa dal payload.
    • Codice statico: Falso
    • Codice Requisito: identificatore "ninjarmm-macagent" e anchor apple generic e certificato 1[field.1.2.840.113635.100.6.2.6] /* esiste */ e certificato leaf[field.1.2.840.113635.100.6.1.13] /* esiste */ e certificato leaf[subject.OU] = EBNT3ZX97E
    • Tipo di identificatore: percorso
    • Identificatore: /Applicazioni/NinjaRMMAgent/programmi/ninjarmm-macagent
  2. Impedisci agli utenti finali di disabilitare l'elaborazione in background di NinjaOne Agent.
    • Tipo di payload: Gestione dei servizi - Elementi di login gestiti
    • Valori:
      • Commento: Agente NinjaOne
      • RuleType: TeamIdentifier
      • RuleValue: EBNT3ZX97E
  3. Consenti a NinjaOne Remote l'accesso a tutti i file e alle impostazioni di accessibilità.
    • Tipo di payload: Preferenze sulla privacy Controllo dei criteri
    • Autorizzazioni:
      • SystemPolicyAllFiles
      • Accessibilità
    • Valori:
      • Consentito: True
        Assicurarsi che la chiave di autorizzazione sia stata rimossa dal payload
      • Codice statico: Falso
      • Codice Requisito: identificatore "com.ninjarmm.ncstreamer" e anchor apple generic e certificato 1[field.1.2.840.113635.100.6.2.6] /* esiste */ e certificate leaf[field.1.2.840.113635.100.6.1.13] /* esiste */ e certificate leaf[subject.OU] = EBNT3ZX97E
      • Tipo di identificatore: ID pacchetto
      • Identificatore: com.ninjarmm.ncstreamer
  4. Opzionale: Consentite a un utente standard di consentire l'acquisizione dello schermo con NinjaOne Remote. (Questo carico utile può essere combinato con il carico utile precedente)
    • Tipo di payload: Preferenze sulla privacy Controllo dei criteri
    • Autorizzazioni: ScreenCapture
    • Valori: Assicurarsi che la chiave Allowed sia stata rimossa dal payload
      • Autorizzazione: AllowStandardUserToSetService
      • Codice statico: Falso
      • Codice Requisito: identificatore "com.ninjarmm.ncstreamer" e anchor apple generic e certificato 1[field.1.2.840.113635.100.6.2.6] /* esiste */ e certificate leaf[field.1.2.840.113635.100.6.1.13] /* esiste */ e certificate leaf[subject.OU] = EBNT3ZX97E
      • Tipo di identificatore: ID pacchetto
      • Identificatore: com.ninjarmm.ncstreamer

Domande frequenti

Selezionare una domanda per visualizzare la risposta:

In che modo NinjaOne impedisce la deduplicazione quando viene distribuito tramite Intune?

Impediamo la duplicazione in due modi:

  1. Microsoft Intune verifica la presenza del servizio NinjaOne prima dell'installazione; se è già presente, Intune salta il tentativo di installare l'agente NinjaOne e contrassegna il dispositivo come conforme.
  2. Colleghiamo l'endpoint in base ai numeri di serie normalizzati recuperati da Intune, che ci permettono di abbinare il record Intune al dispositivo NinjaOne esistente.

In casi limite, se il numero di serie non è unico, possono verificarsi duplicazioni. Quando si verifica questo problema, è necessario correggere il numero di serie non univoco.

Come funzionerà questa installazione quando la versione cambierà?

Microsoft Intune non aggiornerà l'installazione; tuttavia, NinjaOne invierà gli aggiornamenti dell'agente quando necessario. Se in futuro si nota che la versione installata differisce in modo significativo dalla versione disponibile per il download, è possibile ripristinare e aggiornare il pacchetto Microsoft Intune.

Perché LOB (line of business) è preferibile rispetto a Win32?

Il LOB è generalmente più sicuro, in quanto consente di aggirare alcuni blocchi stradali imposti da alcuni produttori. Ad esempio, alcuni produttori forniscono i loro dispositivi con l'agente SCCM; se Microsoft Intune rileva l'agente SCCM, le distribuzioni di App32 vengono bloccate. Solo LOB può superare questo blocco.

Perché l'installazione dell'agente NinjaRMM fallisce con un errore durante il processo di installazione del PKG?

Questo errore può essere causato da un errore nel rilevamento dell'installazione. Microsoft Intune imposta automaticamente il valore CFBundleIdentifier come "com.bitrock.appinstaller". È necessario controllare il file info.plist di uninstall.app nella cartella dell'agente installato all'interno di "Applicazioni" e impostare le informazioni sulle app incluse come mostrato nella Figura 2.

IntuneSolution_BundleIdentifier.png
Immagine 2: Impostazioni delle applicazioni incluse (fare clic per ingrandire)

Domande frequenti

Passi successivi