Scripting
Controllo dei contenuti delle code di BitsTransfer

Individuare elementi anomali nelle code di BitsTransfer.
Uno dei tanti canali di infiltrazione di malware o esfiltrazione di informazioni è BitsTransfer (Background Intelligent Transfer Service), una utility utilizzata da alcuni programmi per gli aggiornamenti e da altri per la sincronizzazione di contenuti, la scelta di questo canale è la sua velocità.
Dobbiamo ammettere che lo utilizziamo anche noi per il trasferimento di report, con gli opportuni accorgimenti per evitare che l’EDR di MalwareBytes, da noi utilizzato come soluzione anti-malware, intervenga bloccando il trasferimento.
La nostra scelta è stata quella di perfezionare gli script e non di limitare i controlli dell’anti-malware.
Da diversi anni abbiamo realizzato procedure in Powershell per il controllo delle code di BitsTransfer per tutti gli utenti del sistema, quest’anno siamo arrivati ad un’ottimizzazione dell’analisi che abbiamo decido di condividere.
L’impiego è utile per avere allarmi da parte di un sistema RMM, nel nostro caso Datto RMM.
Tabella dei Contenuti
Obiettivo della procedura monitor
L’analisi deve controllare con una cadenza temporale frequente (60 – 120 secondi) e regolare il contenuto delle code associate agli utenti del sistema, a tale scopo è utilizzabile il cmdlet Get-BitsTransfer, che richiede il caricamento di una specifico modulo Powershell.
L’output ottenuto può contenere dei valori per i quali non desideriamo avere degli allarmi, in quanto noti e considerati leciti. Questo filtro rende necessario fornire una lista di esclusione, contenente gli elementi da non considerare.
Eliminati dal output i… Continua a leggere→
Modificare da remoto la configurazione di base del power managment di windows

Cambiare le impostazioni di alimentazione del computer con uno script Powershell e un RMM.
Devi collegarti da remoto ad un computer e lo trovi spento, ma sai benissimo che dovrebbe essere acceso, il problema della situazione incresciosa è che di default ogni computer, a prescindere che sia portatile o fisso, viene mandato in standby dopo una decina di minuti.
I nuovi default di controllo di alimentazione sono tarati per spegnere il computer anche se collegato alla rete elettrica, si tratta probabilmente di una solerte politica di qualche sviluppatore green.
Il guaio è per chi deve lavorare da casa in reperibilità e si aspetta di potersi collegare al proprio computer quando contattato per intervenire, ma questa possibilità gli viene negata per via di un flag in un pannello.
Nel nostro caso ci viene interdetta la possibilità di svolgere qualsiasi operazione di manutenzione fuori orario, compresa l’installazione dei computer da remoto, dove raggiungere il cliente significa imbarcarsi in un viaggio di circa 650 km.
Il problemino è comunque di facile risoluzione, basta modificare un’impostazione nella gestione di alimentazione ed evitare che il computer si spenga se collegato alla rete elettrica, mantenendo invece attivo lo spegnimento del monitor, che è causa di alti consumi.
La configurazione di queste impostazioni può essere automatizzata e gestita a sua volta da remoto attraverso una semplice procedura realizzata da un RMM, evitando di dimenticarsene in fase di installazione, il tutto usando un semplice comando di Microsoft Windows.
Tabella dei Contenuti
Il comando e i… Continua a leggere→
Uno script powershell per modificare il separatore nei file Excel CSV

Modificare il delimitatore di celle in un file Excel CSV con Powershell.
Scaricare report dai portali web passa nella quasi totalità di casi da file Microsoft Excel CSV, di fatto dei file di testo leggeri ed a basso rischio di contaminazione. Il trovare direttamente dei file Excel di tipo XLSX o dei file PDF è invece più raro.
Il problema dei file in formato CSV è legato al separatore delle celle, che nei file scaricati, in particolare da portali internazionali, è tipicamente la virgola. Questo valore nelle installazioni di Microsoft Excel è ereditato dalle impostazioni regionali, dove nel caso della lingua italiana è il punto e virgola.
Le strade per aprire i file CSV con la corretta formattazione sono molteplici.
Tra le vie rapide, la più comoda e veloce, è quella di cambiare l’estensione del file da CSV a TXT ed aprirlo direttamente da Microsoft Excel, andando ad impostare a mano il separatore da usare ed eventualmente altre formattazioni.
La via diretta da Microsoft Excel è quella di modificare al suo interno le impostazioni regionali, andando a modificare il delimitatore dei decimali da virgola a punto, questo impatta ovviamente anche sulla visualizzazione dei valori numerici nelle celle, ma essendo già all’interno di Microsoft Excel tanto vale aprire il file dopo aver cambiato l’estensione.
La via che abbiamo scelto al culmine dell’irritazione è stata quella di creare uno script in Powershell da lanciare in riga di comando con alcuni parametri. Lo script apre… Continua a leggere→
Conoscere il livello di connettività internet nel corso della giornata

Determinare in modo automatico la disponibilità di banda internet del computer.
Internet nell’ultimo decennio è diventata sempre più un elemento imprescindibile del quotidiano, la quasi totalità delle azioni che svolgiamo è legata alla disponibilità di un collegamento, che deve essere in grado di sostenere il fabbisogno dei servizi impiegati.
Possiamo immaginare che il sapere che ogni singolo servizio è in grado di funzionare con la capacità di connettività di cui disponiamo è limitativo, dobbiamo pensare che la necessità globale è legata alla somma degli accessi contemporanei di ogni servizio usato sul dispositivo e che deve essere considerata la sommatoria degli assorbimenti contemporanei di ogni singolo dispositivo della nostra rete.
Da questa situazione deriva il fatto che nel corso della giornata possono palesarsi delle situazioni di traffico che portano a considerevoli rallentamenti o peggio al blocco delle comunicazioni verso alcuni servizi.
Per poter valutare in tempo reale, o quasi, se la capacità di banda disponibile è sufficiente per garantire i servizi di navigazione dell’ufficio, abbiamo realizzato una versione di base di uno script Powershell in grado di svolgere una valutazione partendo da diversi computer e di salvare un file in formato CSV con i valori rilevati di upload e download.
Con gli opportuni adattamenti è diventato uno strumento per mandare temporaneamente in pausa i backup BCDR, al fine di garantire la navigazione da/verso internet necessaria per il lavoro.
Tabella dei Contenuti
La determinazione della banda
La realizzazione di una procedura in grado di determinare la capacità di banda disponibile… Continua a leggere→
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… Continua a leggere→