Moduli
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→
Distribuire un proprio modulo Powershell con uno script o un RMM

Lavoro di squadra tra software
In un precedente articolo abbiamo visto come ottimizzare gli script Powershell, arrivando a creare dei moduli contenenti le funzioni utilizzate per le proprie attività di manutenzione.
Il modulo è quel passaggio che consente di avere sottomano delle funzioni usabili da più procedure e usabili direttamente dalla console Powershell del computer e del server, la loro combinazione permette di semplificare il lavoro ottenendo un “lavoro di squadra”, dove i membri della squadra sono i moduli realizzati e legati tra loro delle procedure che li impiegano.
Per noi individuare lo User ID degli utenti collegati richiede un solo comando (Get-AllUSID) e non diversi cmdlet e filtri combinati.
Arrivati all’uso dei moduli, il passaggio successivo è il distribuirli posizionandoli nel giusto percorso e generare in modo automatico il relativo manifesto.
La generazione del manifesto è ben documentata da Microsoft e in diversi blog, per accedere a queste informazioni è sufficiente avvalersi del consulente Google.
Per praticità riportiamo alcuni link di riferimento:
- Cmdlet New-ModuleManifest per la creazione del manifesto (*.psd1)
- Cmdlet Update-ModuleManifest per modificare il manifesto (*.psd1)
- Scrittura di un manifesto Powershell per un modulo
Appresi gli elementi di base per rendere disponibile un modulo, diventa importante trovare una strategia che permetta di posizionarli seguendo uno standard, in tal senso diventa utile automatizzare, usando degli script che con pochi parametri permettano di compiere le operazioni necessarie alla delivery, ancora meglio se usando un RMM.