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

Script personalizzato: distribuzione dell’agente NinjaOne tramite un’attività pianificata immediata di AD tramite GPO

Argomento

Questo articolo spiega come e in quali scenari utilizzare lo script di automazione NinjaOne Agent Deployment by AD Immediate Scheduled Task GPO presente nella NinjaOne Automation Template Library.

Ambiente

  • NinjaOne Endpoint Management
  • Microsoft Windows

Descrizione

NinjaOne offre una funzionalità di rilevamento e distribuzione di Active Directory (AD) che semplifica la distribuzione degli agenti in ambienti controllati da dominio AD. Per ulteriori informazioni su questa opzione, consultare NinjaOne Endpoint Management: Rilevamento e distribuzione di Active Directory.

In alternativa, è possibile utilizzare un modello di distribuzione degli agenti basato sul dominio che utilizza un'attività pianificata immediata tramite Oggetto Criteri di Gruppo (GPO). Potrebbe essere più appropriato utilizzare questo modello se si verifica almeno uno dei seguenti scenari:

  • È necessario distribuire l'agente su laptop remoti e dispositivi simili che si connettono alla rete tramite una rete privata virtuale (VPN).
  • Si dispone di un dominio più ampio con un numero elevato di unità organizzative (OU) contenenti gli oggetti computer, oppure è necessario effettuare la distribuzione su più OU contemporaneamente.
  • Si desidera distribuire l'agente agli oggetti computer in base all'appartenenza a un gruppo di sicurezza piuttosto che per OU.
  • Si desidera registrare oggetti computer in diverse OU o gruppi di sicurezza in diverse posizioni all'interno di NinjaOne.
  • È necessario inviare l'agente agli oggetti computer con una frequenza superiore a una volta al giorno, alla settimana o al mese.
  • I tuoi oggetti computer si collegano a Internet tramite un proxy.
  • Non è possibile collegare NinjaOne al proprio controller di dominio (DC) per motivi di sicurezza.
  • Non hai accesso diretto al DC e gestisci invece il dominio tramite gli Strumenti di amministrazione server remoto (RSAT).
  • È necessario eseguire la distribuzione contemporaneamente su server e workstation.
  • È necessario eseguire la distribuzione su oggetti computer in segmenti di rete diversi, indipendentemente da quello in cui risiede il DC.

Per utilizzare un modello di distribuzione dell'agente basato sul dominio con GPO, accedi allo script di automazione disponibile nella Libreria dei modelli di NinjaOnedenominato NinjaOne Agent Deployment by AD Immediate Scheduled Task GPO. Consulta Libreria di automazione: Script modello per i passaggi di navigazione.

Indice

Selezionare una categoria per saperne di più:

Funzionalità e vantaggi aggiuntivi

Oltre ai casi d'uso descritti nella sezione Descrizione di questo articolo, questo script offre le seguenti funzionalità e vantaggi:

  • Il GPO generato dall'automazione è un'attività pianificata immediata. L'attività verrà applicata immediatamente al successivo aggiornamento automatico o manuale dei criteri di gruppo, quindi non è necessario riavviare gli endpoint per distribuire l'agente NinjaOne. L'attività verrà riapplicata continuamente ad ogni successivo aggiornamento automatico o manuale dei criteri di gruppo fino a quando l'agente non sarà distribuito con successo. L'attività verrà applicata anche ai dispositivi remoti, come i laptop, ogni volta che si connettono alla rete, tramite VPN o in altro modo, e successivamente al DC, senza la necessità di una VPN "sempre attiva".
  • Il processo scaricherà automaticamente il file di installazione generico dell'agente dalla piattaforma NinjaOne su cui è registrato l'endpoint che lo esegue e verificherà la firma digitale.
  • Questa automazione è pienamente compatibile con gli ambienti Microsoft Entra Domain Services e non è necessario mantenere un server di gestione online in modo permanente. Salverà tutti i file richiesti dal GPO nell'archivio dei Criteri di gruppo.
  • Si noti che questo script non è compatibile con Microsoft Entra ID o Microsoft Intune. Per le istruzioni sulla distribuzione tramite Intune, fare riferimento a Installazione dell'agente NinjaOne: Distribuzione tramite Microsoft Intune.
  • Ove applicabile, NinjaOne passerà la password del proxy all'automazione tramite un campo personalizzato sicuro e la memorizzerà solo in forma crittografata, esclusivamente all'interno dell'attività pianificata immediata sul DC. Il GPO passerà la password crittografata all'endpoint come argomento dello script PowerShell, in modo che non venga mai memorizzata sull'endpoint né in alcun altro luogo in testo semplice.
  • Lo script eseguito dal GPO presenta le seguenti caratteristiche:
    • Rileverà se il servizio dell'agente NinjaOne è installato sull'endpoint e tenterà di installare l'agente solo se il servizio non viene trovato. Lo script rileverà e rimuoverà eventuali residui di precedenti installazioni o disinstallazioni non riuscite per massimizzare la probabilità di una distribuzione riuscita.
    • Verificherà l'intestazione del file di installazione dell'agente corrente da NinjaOne (scaricherà solo l'intestazione, non l'intero file) per determinare se è disponibile un aggiornamento e, in tal caso, lo scaricherà e lo verificherà. Ciò garantisce che i vostri endpoint non installino un agente obsoleto solo per aggiornarsi immediatamente.
    • Opzionalmente, può scrivere eventi nel Registro eventi di Windows per facilitare la risoluzione dei problemi e la diagnosi delle distribuzioni non riuscite.
  • Come precauzione di sicurezza, lo script di automazione memorizzerà i riferimenti alle unità organizzative (OU) o ai gruppi di sicurezza utilizzati per determinare l'ID del token di posizione come identificatori univoci globali (GUID), non come nomi in testo semplice.

Prerequisiti, campi personalizzati e valori delle variabili dello script

L'automazione GPO " NinjaOne Agent Deployment by AD Immediate Scheduled Task " presuppone che abbiate attivato la tokenizzazione dell'agente, poiché utilizzerà gli ID token per determinare la posizione in cui gli endpoint si registreranno. Fate riferimento a NinjaOne Platform: Agent Tokenization per ulteriori informazioni sulla tokenizzazione dell'agente.

A seconda dei privilegi di accesso all'interno del dominio, è possibile eseguire questo script di automazione su qualsiasi DC o su qualsiasi computer membro del dominio con le funzionalità opzionali di Windows RSAT Active Directory e RSAT Group Policy installate e attive.

Se la configurazione del dominio impedisce all'account di sistema del DC locale di apportare modifiche a livello di dominio, esegui l'automazione utilizzando credenziali con i privilegi appropriati. Queste modifiche includono la creazione e l'importazione di GPO, la lettura di oggetti AD e la lettura e la scrittura nella condivisione del volume di sistema (SYSVOL). Per ulteriori informazioni sull'utilizzo delle credenziali in NinjaOne, consulta NinjaOne Endpoint Management: Scambio di credenziali.

Allo stesso modo, se si intende leggere o scrivere in campi personalizzati, è necessario eseguire l'automazione con credenziali che possano essere elevate per farlo.

Lo script che verrà eseguito sugli endpoint lo farà nell'account di sistema locale dell'endpoint. Non vi è alcun rischio per gli amministratori di dominio o per qualsiasi altro set di credenziali. Non è possibile avere GPO residui da un'attività di individuazione e distribuzione AD, né altri GPO che contengano la stringa NinjaOne. Se lo script rileva questi GPO, fallirà immediatamente.

Lo script di automazione scriverà i file necessari nella cartella {[Your GPO GUID]} all'interno della cartella Policies della condivisione SYSVOL. Questa condivisione verrà replicata automaticamente su tutti gli altri DC senza la necessità di funzionalità Windows aggiuntive come la replica DFS (Distributed File System), quindi il DC su cui lo si esegue è arbitrario per i domini multi-DC.

Campi personalizzati utilizzati per l'automazione

Lo script di automazione può utilizzare uno o tutti i seguenti campi personalizzati. Questi campi personalizzati sono facoltativi, a seconda delle esigenze.

NomeTipoAmbitoAutorizzazioniDescrizione
ID token posizione NinjaOneTestoOrganizzazione, PosizioneAccesso tecnico: ModificabileAutomazioni
: Sola lettura
Questo campo contiene l'ID del token di posizione per la posizione in cui i dispositivi si registreranno, se non dichiarato dalla variabile di script. Per i dettagli su come ottenere l'ID del token di posizione, fare riferimento alla sezione di questo articolo intitolata Come ottenere l'ID del token di posizione.
Elenco destinazioni GPO NinjaOneWYSIWYGDispositivoAccesso tecnico: Modificabile
Automazioni: Lettura/Scrittura
Se l'ambito di destinazione è impostato su UO o gruppi di sicurezza, questo campo contiene l'elenco delle UO o dei gruppi di sicurezza da configurare o a cui indirizzare, insieme ai rispettivi ID dei token di posizione. NinjaOne non utilizzerà questo campo per nessun altro ambito di destinazione.
Elenco dei nomi host GPO di NinjaOneWYSIWYGDispositivoAccesso tecnico: Modificabile
Automazioni: Solo scrittura
Se l'ambito di destinazione è impostato su UO o gruppi di sicurezza, questo campo contiene l'elenco dei nomi host degli oggetti computer all'interno delle destinazioni. NinjaOne non utilizzerà questo campo per nessun altro ambito di destinazione.
Password proxySicuroOrganizzazione, PosizioneAccesso tecnico: Modificabile
Automazioni: Sola lettura
Per la connessione proxy, questo campo contiene la password delle credenziali proxy, se applicabile.

Per le implementazioni su larga scala, può essere utile compilare il campo personalizzato NinjaOne Location Token ID su larga scala utilizzando un file di importazione CSV. È possibile trovare le istruzioni per farlo nella nostra pagina Script Share: Importazione di dati da foglio di calcolo in campi personalizzati (API) (pagina della comunità Dojo).

Variabili di script utilizzate per l'automazione

Lo script di automazione utilizza le seguenti variabili di script:

NomeTipoDescrizione
Nome GPOTestoQuesta variabile è il nome del GPO. Può essere qualsiasi identificatore univoco, in modo da allinearsi a qualsiasi convenzione di denominazione, ma deve contenere la stringa NinjaOne.
Ambito di destinazioneMenu a tendinaQuesta variabile controlla il targeting per il GPO tramite collegamenti e filtri dei gruppi di sicurezza, a seconda dei casi. Le opzioni disponibili sono Nessuno ( per il targeting a livello di elemento), Radice del dominio, Unità organizzative o Gruppi di sicurezza. Il targeting per unità organizzative e gruppi di sicurezza supporta la sostituzione dell'ID token della posizione di registrazione.
Abilita registrazione eventiCasella di controlloSe selezionata, questa variabile farà sì che lo script GPO scriva gli eventi di Windows nel registro eventi Applicazione sotto l'origine NinjaOneGPODeployment man mano che procede. Questa opzione è utile per diagnosticare problemi di distribuzione su endpoint remoti su larga scala (ad esempio, con un Windows Event Collector) o individualmente a livello di endpoint.
Elenco computer di outputCasella di controlloSe selezionata, questa variabile genererà l'elenco dei nomi host degli oggetti computer in ogni unità organizzativa (OU) o gruppo di sicurezza nell'ambito nel campo personalizzato Elenco nomi host GPO di NinjaOne quando si selezionano come destinazione unità organizzative o gruppi di sicurezza.
Ricrea elenco di destinazioneCasella di controlloSe selezionata, questa variabile ripopolerà il campo personalizzato " Elenco destinazioni GPO" di NinjaOne quando si selezionano come destinazione unità organizzative o gruppi di sicurezza. Utilizzare questa opzione per risolvere i disallineamenti dell'elenco delle destinazioni causati da modifiche all'architettura AD.
Rimuovi GPOCasella di controlloSe selezionata, questa opzione rimuoverà il GPO e i file e le cartelle associati dal DC. È necessario impostare Ambito di destinazione su Nessuno e lasciare deselezionate le opzioni Ricrea elenco destinazioni e Elenco computer di output.
ID tokenTestoInserisci l'ID del token di posizione in questa variabile se non stai utilizzando il campo personalizzato ID token di posizione di NinjaOne per questo scopo. Per i dettagli su come ottenere l'ID del token di posizione, consulta la sezione di questo articolo intitolata Come ottenere l'ID del token di posizione.
Rilevamento automatico proxyCasella di controlloSe selezionata, questa variabile utilizzerà il rilevamento automatico del proxy (se dietro un proxy).
Host proxyIndirizzo IPQuesto è il nome host del proxy ed è obbligatorio se si utilizza un proxy senza rilevamento automatico.
Porta proxyNumero interoQuesto è il numero di porta del proxy ed è obbligatorio se si utilizza un proxy senza rilevamento automatico.
Nome utente proxyTestoQuesto è il nome utente del proxy, se richiesto.
Password proxyCasella di controlloSe selezionata, questa variabile indicherà che è richiesta una password per il nome utente del proxy. Lo script recupererà la password dal campo personalizzato protetto " Password proxy ".

Processi dello script di automazione

Questa sezione descrive le fasi del flusso di lavoro per il processo dello script di automazione.

Fase uno: preliminari

Lo script inizia verificando tutti i prerequisiti e fallirà immediatamente se uno qualsiasi di essi non viene soddisfatto.

Gli esempi includono, ma non si limitano a:

  • Convalida delle variabili dello script
  • Verifica che l'endpoint sia membro del dominio e sia un DC o un altro computer con RSAT per AD e GPO installato e attivo
  • Verifica che l'account che esegue lo script sia attivo e possa scrivere su SYSVOL

Lo script otterrà quindi l'elenco di tutti gli oggetti computer e recupererà tutte le unità organizzative (OU) e i gruppi di sicurezza che li contengono, filtrando quelli che contengono solo oggetti utente. Lo script recupererà quindi l'ID del token di posizione dalla variabile dello script o dal campo personalizzato.

Fase due: configurazione della selezione dell'ambito di destinazione

La fase successiva dipende dall'ambito di destinazione. Per le OU e i gruppi di sicurezza, se è la prima volta che si esegue lo script, o se si seleziona "Ricrea elenco di destinazione", lo script popolerà il campo personalizzato "Elenco di destinazione GPO NinjaOne " con l'elenco dei nomi delle OU o dei gruppi di sicurezza insieme all'ID del token di posizione fornito, quindi si interromperà. Lo script restituirà i nomi canonici delle OU anziché i loro nomi distintivi, in modo che siano più facili da comprendere.

A questo punto, è possibile modificare l'ambito di distribuzione e, facoltativamente, controllare in quali posizioni registrare gli oggetti computer in ciascuna unità organizzativa o gruppo di sicurezza. Per le istruzioni, fare riferimento alla sezione di questo articolo intitolata Come modificare il campo personalizzato "Elenco destinatari GPO NinjaOne".

Figura 1: Elenco destinazioni GPO: Unità organizzative (clicca per ingrandire)
Figura 2: Elenco dei destinatari GPO: gruppi di sicurezza (clicca per ingrandire)

Fase tre: crittografia della password del proxy

Se sono stati configurati dettagli proxy che includono una password, lo script leggerà il campo personalizzato protetto e crittograferà la stringa in modo identico a quando viene crittografata localmente.

NinjaOne memorizzerà la password crittografata nella configurazione dell'attività pianificata immediata e la passerà allo script come argomento. NinjaOne non memorizzerà mai la password sull'endpoint e non la memorizzerà mai in chiaro.

Fase quattro: creazione del GPO principale e dei file di supporto

Lo script di automazione esegue le seguenti azioni durante la fase quattro:

  1. Lo script di automazione eliminerà qualsiasi GPO di distribuzione preesistente trovato con lo stesso nome al fine di rimuovere tutti i collegamenti preesistenti.
  2. Lo script creerà un nuovo GPO e personalizzerà il modello incluso nello script di automazione per il dominio e il DC su cui è in esecuzione.
  3. Lo script importerà il contenuto del GPO personalizzato nel GPO appena creato. Lo script indirizzerà e collegherà il GPO di conseguenza, alla radice del dominio, a livello di unità organizzativa (OU), alla radice del dominio con filtraggio del gruppo di sicurezza dell'attività pianificata immediata, oppure non lo collegherà affatto.
Figura 3: Esempio di GPO con destinazione a livello di unità organizzativa (clicca per ingrandire)
Figura 4: Esempio di GPO con filtraggio del gruppo di sicurezza (clicca per ingrandire)
  1. Una volta che il GPO è pronto, collegato e filtrato come serve, lo script di automazione genererà lo script che il GPO attiverà al refresh della policy, personalizzato in base al dominio e al DC. Lo script viene personalizzato automaticamente come richiesto, includendo la registrazione degli eventi di Windows, il targeting a livello di OU o di gruppo di sicurezza, i controlli di aggiornamento dell'agente e altre specifiche.

Lo script verrà salvato automaticamente nella cartella GPO.

  1. Per il targeting di OU e gruppi di sicurezza, lo script di automazione scriverà un file di ricerca CSV dei GUID di destinazione e dei corrispondenti GUID di posizione NinjaOne nella cartella GPO. Se è stata selezionata l'opzione "Output Computer List", lo script scriverà anche l'elenco delle OU e dei gruppi di sicurezza di destinazione nell'ambito e i rispettivi oggetti computer nel campo personalizzato " NinjaOne GPO Hostname List ".
Figura 5: Esempio di elenco di nomi host con targeting a livello di OU (clicca per ingrandire)
  1. Lo script di automazione scaricherà il file di installazione dell'agente nella cartella GPO e verificherà la firma digitale prima di visualizzare un messaggio con il risultato finale.

Fase cinque: processo dello script GPO

Quando l'aggiornamento automatico o manuale dei criteri di gruppo attiva lo script, lo script verificherà innanzitutto se il servizio agente NinjaOne esiste e, in caso affermativo, terminerà immediatamente.

Se il servizio agente NinjaOne non esiste, lo script rimuoverà tutti i potenziali residui di qualsiasi installazione o tentativo di disinstallazione precedentemente fallito per massimizzare la probabilità di successo dell'installazione.

Il passaggio successivo dipende dalla configurazione dell'ambito di destinazione:

  • Per il targeting OU, lo script recupererà il GUID dell'OU dell'endpoint e lo confronterà con quelli presenti nel CSV-lookup. Questo confronto determinerà l'ID del token di posizione NinjaOne.
  • Per il targeting dei gruppi di sicurezza, lo script recupererà i GUID dei gruppi di sicurezza di cui l'endpoint è membro e li confronterà con quelli presenti nel file CSV di ricerca. Questo confronto determinerà l'ID del token di posizione NinjaOne.
  • Per il targeting della radice del dominio o nessun targeting, l'ID del token di posizione fornito dalla variabile dello script o dal campo personalizzato è già hardcoded.

L'azione successiva che lo script GPO eseguirà dipende dalla piattaforma da cui è stata eseguita l'automazione. A seconda dei casi, lo script GPO copierà il file di installazione dell'agente dal controller di dominio oppure verificherà la data del file di installazione dell'agente attualmente disponibile su NinjaOne dalla sua intestazione. Se la data del file di installazione disponibile su NinjaOne è la stessa della data del file sul controller di dominio, lo script copierà il file di installazione dell'agente dal controller di dominio. Tuttavia, se la data del file di installazione disponibile su NinjaOne è posteriore a quella presente sul controller di dominio, lo script scaricherà il file di installazione dell'agente più recente e ne verificherà la firma digitale. Se il download o la verifica della firma digitale falliscono, lo script ricorrerà alla copia del file di installazione dal controller di dominio; in caso di esito positivo, lo script utilizzerà il file più recente.

Successivamente, lo script installerà l'agente, imposterà il dispositivo per la registrazione nella posizione corretta come determinato dall'ID del token di posizione ed eliminerà la copia locale.

Se è stata fornita una configurazione proxy, lo script la imposterà una volta installato l'agente. Se la configurazione proxy includeva una password, questa verrà passata come stringa crittografata come argomento dello script, in modo che non venga mai memorizzata sull'endpoint.

Infine, lo script attenderà la conferma della registrazione riuscita all'applicazione web NinjaOne, che potrebbe fallire se l'ID del token di posizione non è valido. Dopo aver confermato lo stato della registrazione, lo script terminerà.

Se hai selezionato Abilita registrazione eventi, lo script scriverà gli eventi nel registro eventi dell'applicazione con l'origine NinjaOneGPODeployment durante l'intero processo. Nella seguente Figura 6, nota l'origine NinjaOneGPODeployment nel registro dell'applicazione :

Figura 6: Esempio di Visualizzatore eventi su un endpoint distribuito (clicca per ingrandire)
Devices in different OUs successfully registered to their correct locations.png
Figura 7: Esempio di dispositivi in diverse unità organizzative registrati correttamente nelle rispettive posizioni

Come modificare il campo personalizzato "Elenco destinazioni GPO NinjaOne"

È possibile modificare il campo personalizzato " Elenco destinazioni GPO NinjaOne " dopo la prima esecuzione dello script, dopo aver ricreato l'elenco delle destinazioni o in qualsiasi altro momento successivo.

Per rimuovere un'unità organizzativa o un gruppo di sicurezza dall'ambito, eliminare la riga con l'opzione Elimina riga nel menu delle azioni. Fare riferimento alla Figura 8 per un esempio illustrato.

Non limitarsi a cancellare il contenuto della riga; è necessario eliminare l'intera riga in modo che non rimangano celle vuote. Non eliminare la riga di intestazione né quella finale. L'esecuzione di una di queste azioni causerà il fallimento dell'automazione.
Figura 8: Eliminazione di una riga dall'elenco dei destinatari GPO (fare clic per ingrandire)

È necessario apportare almeno una modifica all'elenco di destinazioni iniziale quando si selezionano le OU, eliminando una o più righe dall'ambito o modificando uno o più ID dei token di posizione.

L'esecuzione dell'automazione mentre si selezionano tutte le OU con lo stesso ID token di posizione avrà lo stesso risultato della selezione della radice del dominio, quindi in questo scenario l'automazione fallirà.

Si noti che questo è uno scenario diverso dal puntare a ogni gruppo di sicurezza senza modificare alcun ID token di posizione, poiché potrebbero esserci casi in cui non tutti gli oggetti computer sono membri di un gruppo.

Per ogni OU o gruppo di sicurezza in cui si desidera modificare la posizione di destinazione, sarà necessario il rispettivo ID del token di posizione.

Come ottenere l'ID del token di posizione

Per trovare l'ID del token di posizione in NinjaOne, procedere come segue:

  1. Accedere alla dashboard di sistema di NinjaOne e aprire la scheda Dispositivi . Selezionare Installatori agenti.
  2. Copiare l'ID token per la posizione richiesta dalla colonna Token e incollarlo nella colonna ID token della riga corrispondente nell'elenco di destinazione. L'ID token scelto deve supportare un ruolo di dispositivo basato su Windows, altrimenti tali endpoint non riusciranno a registrarsi sulla piattaforma.
dashboard_agent installers_token.png
Figura 9: Ottenere l'ID token dalla pagina Installatori di agenti in NinjaOne
  1. Al termine, salvare le modifiche.
  2. Esegui nuovamente lo script di automazione. Lo script convaliderà le modifiche e fallirà se si verifica una o più delle seguenti condizioni:
    • Hai eliminato la riga di intestazione, la riga finale o tutte le righe di destinazione.
    • Si stanno selezionando le OU come destinazione, ma non è stata apportata alcuna modifica al campo personalizzato.
    • Hai impostato Target Scope su Security Groups, ma il campo personalizzato contiene OU, o viceversa.
    • Hai modificato i nomi delle unità organizzative o dei gruppi di sicurezza in modo che non corrispondano più al DC.
    • Uno o più oggetti computer esistono in più gruppi di sicurezza con ID token di posizione in conflitto.
    • Qualsiasi ID token è registrato in un formato GUID non valido.

Una volta che lo script di automazione avrà convalidato il campo personalizzato, passerà alla fase tre.

Risorse aggiuntive

Per ulteriori informazioni sull'automazione dei flussi di lavoro di NinjaOne e sulla personalizzazione dell'istanza, consultare i seguenti articoli:

Domande frequenti

Passi successivi