Powershell
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→
L’incubo di cercare contenuti in un file di tracciamenti

Ricerca di parole chiave in file di tracciamento complessi.
Nel corso della giornata digitale può essere necessario raccogliere informazioni su specifiche situazioni e l’unica strada per farlo è analizzare corpulenti file di tracciamenti alla ricerca di specifiche parole. La necessità può essere legata a tante altre situazioni che necessitano di individuare specifiche stringhe di testo in specifici file di testo.
Nel corso degli anni ci siamo trovati a scrivere di volta in volta delle procedure di estrazione all’interno dei singoli script realizzati per avere allarmi o innescare altre procedure, fino a quando abbiamo iniziato a muoverci con le funzioni e i moduli di Powershell.
Il risultato finale è una funzione inserita in un modulo Powershell installato sui computer e specializzato nell’estrapolazione di contenuti specifici in file testuali o in output complessi di altri programmi o dello stesso Powershell.
Oggi abbiamo deciso di estrarre una di queste funzioni di base dal suo modulo e condividerne il funzionamento, che in futuro sarà necessario per altri contenuti che stiamo per rilasciare.
Tabella dei Contenuti
Obiettivo della funzione di ricerca
Per le tipiche finalità da noi utilizzate è frequente la ricerca di parole o frasi chiave in un file di tracciamento di un programma, al fine di isolare alcuni stati del suo funzionamento, come ad esempio avere una segnalazione se un backup BCDR è in esecuzione da un tempo superiore a quanto stimato. Per eseguire tale controllo è necessario sapere quando il salvataggio è iniziato e da quanto tempo è… Continua a leggere→