Agent user scripting con Site Manager – Come gestire i backup pianificati con gli script lato utente

Traduzione a cura di Naonis dell’articolo apparso nel sito del produttore al seguente link:

https://blog.macrium.com/how-to-manage-scheduled-backups-with-site-manager-agent-user-scripting-e2eeaa8385

Se utilizzate Macrium Site Manager, una delle attività principali è il controllo delle azioni degli Agenti Macrium. Dato l’enorme aumento dei dipendenti che lavorano da casa a seguito delle attuali misure per limitare la diffusione del Coronavirus questa attività è ora ancor più importante di sempre. Molti amministratori IT in questo periodo sono alle prese con il problema di come ridurre il carico del traffico sulle VPN aziendali per rendere il lavoro da remoto il più possibile semplice e indolore.

Una prima soluzione sarebbe chiedere all’amministratore di Macrium Site Manager di disabilitare temporaneamente il backup della macchina via consolle di amministrazione, usando l’apposito interruttore relativo alla propria macchina, come mostrato nella figura seguente.

Per riabilitare il backup regolare , in questo caso, sarà di nuovo necessario chiedere all’amministratore di Macrium Site Manager di riportare allo stato precedente l’interruttore relativo alla propria macchina.

Esiste però anche un’altra soluzione che può funzionare senza necessità chiedere all’amministratore di Macrium Site Manager di modificare il profilo della propria macchina. Di seguito viene descritta proprio una possibile soluzione che rende l’Agent Macrium, installato nella propria macchina, capace di distinguere la connettività che sta utilizzando per raggiungere Macrium Site Manager, e in base a questo decidere cosa fare.

Lo scripting dell’Agent è una tecnica estremamente utile che può essere sfruttata con Site Manager per affrontare una sfida come questa. In parole povere, questa tecnica consente di eseguire con relativa facilità una serie di compiti diversi. In questo articolo, mostreremo proprio come utilizzare gli script dell’Agent di Site Manager per disabilitare selettivamente i backup in una varietà di scenari diversi, incluso quello in cui i computer portatili sono connessi da remoto tramite VPN. L’esempio può essere comunque utile per risolvere magari atre problematiche e ad iniziare a conoscere questa ulteriore opportunità.

Che cos’è lo scripting dell’Agent?

Macrium Site Manager v7.1.3268 e versioni successive consente di aggiungere degli script lato utente che saranno eseguiti periodicamente dagli Agent di Macrium. Uno script può generare anche una “descrizione testuale” che sarà visualizzata nella tabella del Site Manager relativa al computer.
Sarà possibile, ad esempio, disabilitare dall’Agent i backup pianificati in determinate condizioni.
In questo articolo sarà analizzato anche come modificare il comportamento dell’Agent quando il computer è connesso da remoto tramite VPN. Infatti, nell’attuale situazione di emergenza Covid-19, in cui molti lavoratori si connettono da remoto alla rete dell’ufficio tramite VPN, la possibilità di un controllo più selettivo dell’esecuzione dei backup, può rivelarsi uno strumento utilissimo per evitare la congestione della banda della connessione VPN nei momenti meno opportuni.

Come impostare lo script e quando farlo eseguire

Per eseguire lo script, Macrium Agent esamina questo percorso:

C:\Programmi\Macrium\Agent\Scripts\script.cmd

Questo script viene eseguito come file batch. Tuttavia, il file batch stesso può essere utilizzato per eseguire qualsiasi tipo di script o file eseguibile.
L’output di questo script lato utente sarà restituito al Site Manager.

L’Agent Macrium eseguirà lo script in una delle seguenti condizioni:

  • All’avvio del servizio Macrium Agent.
  • Quando viene modificato uno qualsiasi dei file presenti nella cartella C:\Programmi\Macrium\Agent\Scripts.
  • Quando viene scritto un valore nella chiave di registro HKEY_LOCAL_MACHINE\SOFTWARE\Macrium\CMCAgent\UserScripts.
  • Ogni 30 minuti.

Output dello script

L’output dello script dell’Agent lato utente fornisce all’amministratore le informazioni necessarie per comprendere correttamente cosa sta succedendo nei vari Agenti distribuiti. Queste informazioni sono molto utili per decidere quali azioni eventualmente intraprendere.

Ci sono due elementi importanti nei valori restituiti dagli script:

  • la descrizione utente: qualsiasi testo restituito via “standard output “(ad esempio con il comando “echo”) sarà mostrato dal Site Manager nella colonna “User Description“della tabella Computer;
  • la modalità operativa: il codice di ritorno dello script determina la modalità operativa dall’utente impostata dell’Agent.

Cose da considerare

Quando si utilizza il file batch situato in C:\Programmi\Macrium\Agent\Scripts\script.cmd per eseguire uno script PowerShell, è importante considerare come verrà restituito l’output dello script del file batch. Per esempio:

C:\Programmi\Macrium\Agent\Scripts\script.cmd –

@echo off

exit /b powershell ./script.ps1

In questo esempio, powershell.exe restituirà uno “0” se il file ps1 restituisce “0”, altrimenti powershell.exe restituirà “1” se il file ps1 restituisce qualcos’altro (se lo script esce con “-1”, powershell.exe restituirà “1”). Affinché powershell.exe restituisca il codice invariato dal file ps1, il file batch dovrebbe essere scritto in questo modo:

C:\Programmi\Macrium\Agent\Scripts\script.cmd –

@echo off

exit /b powershell -File script.ps1

Scripting base dell’Agent lato utente

Questo è un esempio semplice di scripting dell’Agent lato utente. Questo script imposta semplicemente la descrizione dell’utente su qualunque cosa sia definita nel comando echo. È quindi possibile impostare un codice di uscita che consenta o blocchi i backup con il comando exit. In questo esempio il backup sarà bloccato dal valore restituito “-1”.

Blocchi basati sul tempo

L’esempio mostrato di seguito mostra come cambiare il livello di errore dello script in base all’ora di esecuzione dello stesso. Questa tecnica può essere usata per impostare manualmente gli orari in cui l’Agent deve assolutamente evitare che sia lanciato il backup. Passato questo intervallo di tempo, sarà effettuato un backup differito. Questo vincolo può essere utile per evitare ad esempio che il backup sia eseguito in orari in cui la banda di connessione VPN va preservata per garantire la qualità della telefonia VoIP o delle video-conferenze.

Rilevamento VPN con Ipconfig

Possono esistere molti motivi per cui si desidera che il backup non sia eseguito quando si è connessi in VPN. Uno di questi è per preservare la limitata larghezza di banda disponibile di una connessione remota in VPN.

In questo scenario, i backup pianificati durante la loro esecuzione potrebbero ridurre moltissimo la banda della connessione VPN disponibile per il collegamento remoto.

L’esempio sopra mostra un semplice script batch che fornisce un determinato codice di errore a seconda che il valore “VPN” sia trovato nell’output del un comando ipconfig. Il valore “VPN” può essere modificato con qualsiasi altro valore che indichi se si è connessi a una VPN o meno in ipconfig (ad es. Ambito di indirizzi IP riservati per VPN). Non tutte le VPN sono visualizzate con ipconfig. In questo caso lo script andrà modificato per cercare di rilevarla in qualche altro modo.

File di segnalazione “marker file”

E’ possibile anche bloccare l’esecuzione dei backup se è presente un file “marker” in una directory a nostra scelta. Di seguito è mostrata una versione base di questo script:

Questo esempio imposta l’output del file batch in base alla presenza di un file marker posizionato nella radice di C:\.

Alcuni software VPN consentono l’esecuzione di uno script quando in fase di connessione o di disconnessione della VPN. Se il software VPN in uso supporta questa funzionalità, allora si può utilizzare un file batch che crei il file “marker” immediatamente dopo la connessione VPN come nell’esempio seguente.

Questo script crea un “file marker” vuoto chiamato “VPNMarkerFile.txt”.
Similmente possiamo creare anche un secondo script per eliminare questo file quando la VPN si disconnette come nell’esempio seguente.

In questo modo, il file “marker” esisterà solo quando il computer in questione è connesso in VPN. A questo punto va creato un terzo file, da inserire in C:\Programmi\Macrium\Agent\Scripts\script.cmd, che rileverà la presenza del file “marker” e bloccherà i backup di conseguenza come mostrato di seguito.

Nota: se il “marker file” viene scritto in C:\Programmi\Macrium\Agent\Scripts, lo script script.cmd verrà eseguito non appena non appensa sarà rilevata la modifica apportata.

Processi in esecuzione

Cercando nell’elenco dei processi, è possibile scoprire se un processo è in esecuzione o meno, quindi modificare l’output del file batch di conseguenza.

Possono esistere motivazioni diverse per cui si desideri bloccare un backup durante l’esecuzione di un particolare processo. Ad esempio, quando un processo esegue un’attività critica ad alto impegno di risorse e non si desidera avere in esecuzione contemporaneamente l’Agent Macrium. Alcune VPN hanno associato un processo in esecuzione quando l’utente è connesso con essa. In questo caso, modificando “process.exe” con il nome del processo in esecuzione, sarebbe possibile bloccare l’esecuzione dei backup quando si è connessi in VPN.

Sicurezza

Per motivi di sicurezza, gli script devono essere collocati nella cartella C:\Programmi\Macrium\Agent\Scripts. L’accesso in scrittura a questa cartella è limitato al solo utente amministratore, per impostazione predefinita. Se le autorizzazioni per questa cartella vengono modificate manualmente da un amministratore di sistema, gli utenti non privilegiati potrebbero essere in grado di impostare o modificare lo script in esecuzione.

Il servizio Agent esegue lo script come processo non privilegiato utilizzando l’account del servizio di rete (Network Service Account), indipendentemente dall’utente configurato per l’esecuzione del servizio Agent. Ciò per impedire che uno script lato utente sia eseguito con i privilegi di amministratore.

Ulteriori informazioni sulla sicurezza degli script e Macrium Reflect sono disponibili al seguente URL:

https://knowledgebase.macrium.com/display/KNOW72/Backup+Save+Options

Conclusione

Qualunque cosa si debba fare per gestire le risorse e mantenere l’accesso degli utenti alla rete, lo scripting dell’Agent lato utente all’interno di Macrium Site Manager è solo uno dei molti strumenti che possono essere utilizzati per garantire che la sicurezza non comprometta la produttività e viceversa.