Quando ad uno script monitor RMM serve un file specifico

Copiare un file quando server con un RMM.
Una delle cose belle nell’usare un RMM, in particolare Datto RMM, è quella di poter creare dei monitor personalizzati per i propri usi, quando dico creare intendo scrivere da zero gli script Powershell che eseguono le verifiche ed innescano allarmi ed azioni.
Talvolta un monitor può aver bisogno di un aiuto esterno per eseguire il proprio lavoro, ad esempio gli eseguibili di software di analisi dei dischi, di misurazione della banda, di raccolta delle temperature, etc. La quasi totalità di questi file sono di tipo portable e costituiti da un semplice eseguibile da posizionare in qualche cartella del computer.
Le opzioni in questo caso possono essere diverse:
- copiare a mano il file nel computer;
- eseguire un componente per l’RMM che posiziona il file;
- generare un errore nel monitor che, come soluzione, avvia un componente che posiziona il file.
La prima soluzione è per noi esclusa a priori, avere un RMM e poi dover fare una copia mano dei file non è tollerabile.
Le restanti situazioni si assomigliano tra loro per il fatto che lo script da eseguire è sostanzialmente il medesimo, può sembrare che il lanciare gli script a mano sia equivalente al copiare i file a mano, ma non è proprio la medesima cosa.
Per la seconda opzione è possibile selezionare con un filtro tutti i computer su cui distribuire il file e configurare la procedura del RMM per eseguire gli script in contemporanea su tutti i computer, un solo click invece di qualche decina. Un’altra via è quella in cui il monitor che richiede il file generi un allarme nella dashboard del RMM, la raccolta dei device con l’allarme di file mancante permette di avviare su tutti la procedura di installazione.
La strada che noi preferiamo è la terza, che a seguito dell’errore di assenza del file innesca la sua distribuzione, liberando l’MSP da qualsiasi incombenza e rendendo completamente indipendente il monitor. L’aspetto limitativo di questa implementazione è che diventa impossibile eseguire uno script di soluzione legato alla funzione di indagine del monitor. Un altro elemento da considerare è che quando il monitor sarà operativo, ad ogni allarme chiederà l’esecuzione dello script di soluzione associato.
Tabella dei Contenuti
Innescare l’evento di installazione
Per avviare il meccanismo è fondamentale che il monitor verifichi la mancanza del file ed attivi di conseguenza l’allarme, è importante avere l’attenzione di inserire un messaggio di diagnosi che permetta di capire dalla dashboard che sul computer segnalato manca un elemento necessario per l’esecuzione del monitor.
Presente questo allarme diventa possibile pilotare manualmente dal RMM l’esecuzione dello script di installazione o lasciare che l’RMM continui il suo lavoro mandando automaticamente in esecuzione lo script, con conseguente rimozione dell’allarme.
Considerando che per ogni allarme relativo al funzionamento del monitor, questi attiverà la soluzione, è importante che anche lo script di installazione controlli la presenza del file e si interrompa senza generare errori se il file è già presente.
Per valutare la presenza del file è sufficiente utilizzare il cmdlet Test-Path inserito come condizione di una IF.
Un caso di installazione attraverso una copia
Il componente da realizzare è molto semplice e di poche righe di codice, come esempio abbiamo deciso di utilizzare lo script realizzato per copiare sul computer il file Speedtest CLI di Ookla, che necessita di alcune operazioni preliminari prima di poter essere utilizzato.
Il file eseguibile per Microsoft Windows è completamente autonomo e quindi portabile senza necessità di installazioni specifiche, deve essere solo copiato in un percorso a scelta e quando non serve più basta cancellare il file.
Il contro della scelta, del tutto tollerabile, è che per eseguire la CLI è necessario accettare le condizioni di utilizzo e la policy sul trattamento dei dati, questi due passaggi sono legati al fatto che l’esecuzione del test non deve essere abusato e che i dati di connettività misurati vengono inviati al cloud di Ookla per la generazione di statistiche globali sulla capacità di navigazione a livello nazionale o di città.
Prima di usare questo elemento e di conseguenza la procedura di cui andremo a parlare è importante leggere attentamente le policy di Ookla sull’utilizzo.
Copia e attivazione del file
Arrivando al sodo, per copiare un file servono essenzialmente due elementi:
- il file da copiare;
- il percorso dove copiare il file.
Il primo elemento si risolve allegando il file allo script creato nel RMM, per il secondo si tratta di decidere dove mettere il file, sarebbe meglio scegliere un percorso fisso il salvataggio delle scritture svolte dal RMM, così da semplificare le operazioni di ricerca e di pulizia.
$PathTemp = "C:\TempAEM\SCRIPT\"
$PathSpeed = $PathTemp + "speedtest.exe"
if (!(Test-Path $PathSpeed)) {
if (!(Test-Path $PathTemp)) {
New-Item -Path $PathTemp -ItemType "Directory" -Force -Confirm:$false
}
Copy-Item -Path "speedtest.exe" -Destination $PathTemp -Force -Confirm:$false
(C:\TempAEM\SCRIPT\speedtest.exe --accept-license)
(C:\TempAEM\SCRIPT\speedtest.exe --accept-gdpr)
}
La Riga 1 definisce il percorso di destinazione del file e la Riga 2 quello comprendente il file eseguibile da copiare.
La condizione della Riga 3 determina se il file non esiste ed in caso contrario non viene eseguite alcuna azione e la procedura si conclude.
Nel caso in cui il file sia mancante nelle Righe 3-8 vengono svolte le azioni necessarie a rendere disponibile il prodotto.
La condizione della Riga 4 verifica la presenza del percorso di salvataggio e se mancate lo crea usando il cmdlet New-Item.
Alla Riga 7, usando il cmdlet Copy-Item, il file integrato nel componente del RMM viene copiato nel percorso specificato.
Alle Righe 8 e 9 viene eseguito il file della CLI per accettare la licenza d’uso e la policy di trattamento dei dati.
Per maggiori informazioni sull’uso e la realizzazione degli script di automazione leggi questo articolo e contattaci senza impegno.
I componenti distribuiti sono forniti senza alcuna garanzia. Non vi sono garanzie che il software soddisfi le vostre esigenze o sia esente da errori. In nessun caso gli sviluppatori saranno responsabili per eventuali danni.
I componenti proposti sono stati collaudati nel modo più esaustivo possibile e sono utilizzati in modo regolare in ambienti di produzione, durante il loro utilizzo non si sono verificate anomalie di funzionamento.
Articoli recenti
- ShellBag – un viaggio allucinante nei ricordi di Windows
- La donazione di sangue nei cani: importanza, modalità e compatibilità
- Il Manto del Cane: Un Viaggio alla Scoperta della Sua Pelle e del Suo Pelo
- Proteggi il tuo cane dal caldo: prevenzione e riconoscimento della disidratazione
- Monitoraggio e Verifica delle Configurazioni di Rete: Una Soluzione Efficace con PowerShell e Datto RMM
Archivi
Prossimi eventi
Non ci sono eventi imminenti.
Iscriviti alla nostra Newsletter
Un progetto parallelo ambientato nella Tuscia Sutrina: piante da giardino locali, tecniche di coltivazione, storia e leggende del territorio, racconti fantasy a tema. Botanica, cultura e tradizioni in un unico spazio.
A volte basta una breve pausa per ritrovare la concentrazione: qualche minuto tra verde e fantasia può aiutare a tornare al lavoro con nuove idee.
Visita il sito