Supporto Microsoft Security Essentials su Windows Xp: scadenza fissata a luglio 2015

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Per la serie Lo sapevate che? diamo risposta ad un dubbio assolutamente lecito, soprattutto dopo la scadenza del supporto all’anziano SO Microsoft. Con la lenta migrazione dal più che osannato Windows Xp a un sistema più giovane (e volendo saltare a piè pari Windows 8 / 8.1 almeno fino a quando non verranno ripristinate le funzioni fondamentali come lo Start vecchio stampo, tanto per dirne uno) l’utente medio si chiede perché l’antivirus segnali il PC come a rischio con tanto di scudo rosso e avvisi a video.

Come potete ben vedere sia la “Protezione in tempo reale” che le “Definizioni virus e spyware” risultano essere rispettivamente attiva e aggiornate, ma il sistema viene segnalato come non più supportato. Tutto questo durerà per un anno ancora. Il supporto garantito da Microsoft per il suo Security Essentials su Windows Xp scadrà a luglio 2015.

In un modo o nell’altro siete costretti al salto, ma avete a disposizione ancora un po’ di tempo per decidere cosa fare da grandi, di certo Microsoft vi proteggerà da potenziali minacce ma ricordate che siete scoperti da nuove patch, scaricare programmi dei quali non conoscete la provenienza e installarli a cuor leggero potrebbe dare un taglio netto a quella linea temporale che vi separa dalla scelta di migrare a nuovo hardware con un sistema operativo supportato a bordo.

ItLUG, quell’associazione che nulla ha a che fare con Linux e l’informatica

O non almeno in senso stretto a meno di passioni del singolo associato! Si perché andare ad un evento dell’ItLUG potrebbe portare chiunque a pensare che si tratti dell’ennesimo ritrovo nerd dove scambiarsi trucchi e consigli, è così, ma l’informatica non c’entra poi granché, al massimo vi fa gioco la tecnologia alla base del mattoncino più amato da grandi e piccini sparsi per il mondo, questo per capirci:

ItLUG Assago 2014

Sabato e domenica (quelli appena passati, si) alcuni dei ragazzi dell’associazione si sono ritrovati ad Assago per un evento all’insegna delle idee trasformate in capolavori ad alto contenuto di fantasia, pazienza, talvolta pazzia, realizzati da zero grazie a tutto quello che compone l’infinito mondo LEGO, una di quelle droghe multi-generazionali che danno tanti benefici e con pressoché nessun effetto collaterale (conto in rosso in banca a parte, se non date un limite agli acquisti, ndr). Era da tanto che non tiravo fuori la macchina fotografica (complice anche la brutta stagione che non mi porta granché ispirazione), ho pensato fosse il caso di tirarla fuori dall’armadio e cominciare a riscaldarla con qualche scatto per un’occasione che mi è davvero piaciuta tantissimo e mi auguro possa ingrandirsi nel percorso previsto.

ItLUG Assago 2014

ItLUG Assago 2014 ItLUG Assago 2014

Complimenti ragazzi, sono molto invidioso per la vostra bravura, divertito e fiero che ci siano iniziative simili, non si è mai troppo grandi per giocare con secchi pieni di LEGO, chissà i miei che fine hanno fatto! Potete trovare gli scatti della visita nel set dedicato all’indirizzo flickr.com/photos/gioxxswall/sets/72157643910973785 (e scusate se ci ho perso un pelo la mano, mi sento arrugginito).

Pre-Crisi del settimo anno

Con questo fanno in tutto 6. Tra alti, bassi, lontananza, mille discussioni affrontate e problemi risolti (ma molti altri ancora da risolvere, manco fossimo gli enigmisti) siamo arrivati al nostro giro di boa annuale, auguri tesoro mio.

Ok, l’ho fatto. Volendo ora dare un taglio alle smancerie rivolgo a tutti voi la fatidica domanda: qualcuno ha da prestarmi il manuale all’uso del settimo anno? No perché almeno mi metto subito l’anima in pace! Come dite? Vale solo nel matrimonio? Riparliamone il 15/4/15, vedremo chi avrà avuto ragione!

PowerShell: connettersi con utente e password già stabiliti

Lo so che vi ho già spiegato come ci si connette alla PowerShell, ma è anche vero che farlo spesso nell’arco di una giornata lavorativa potrebbe seriamente mettere alla prova la pazienza del dover inserire ogni volta la propria password, nello script suggerito infatti vi ho detto che basta mettere un “-credential mario.rossi@dominio.tld” per mostrare il popup dove inserire solo la password, e se si automatizzasse anche questa operazione saltando direttamente nella console comandi?

Fattibile, tramite un file testuale che contiene la nostra password ovviamente criptata precedentemente. L’operazione è semplice e subito dopo vi basterà modificare lo script originale suggerito nel mio precedente articolo a riguardo per poter immediatamente lavorare in PowerShell sul vostro Exchange, ecco come fare.

Criptazione della password

La prima operazione da eseguire è salvare la vostra password criptata all’interno di un file testuale che terrete poi nel disco fisso della vostra macchina (o dove preferite) così da farlo raggiungere facilmente dallo script ps1 di collegamento. Per farlo aprite PowerShell e digitate il comando:

$credential = Get-Credential -credential mario.rossi@dominio.tld
$credential.Password | ConvertFrom-SecureString | Set-Content c:\pshell\password.txt

Manco a dirlo dovrete cambiare quel “mario.rossi@dominio.tld” con un account amministratore dell’Exchange e quel C:\pshell\ecc. con una cartella realmente esistente dove salvare il file “password.txt” che potrà poi essere utilizzato in seguito.

Modifica dello script di collegamento

A questo punto bisognerà dire allo script di collegamento di utilizzare un utente preciso e la password nel file appena salvato. Ecco il risultato ritoccato:

$User = "mario.rossi@dominio.tld"
$PWord = Get-Content C:\pshell\password.txt | ConvertTo-SecureString
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Credential -Authentication Basic -AllowRedirection
Import-PSSession $Session

Dovrete toccare solo due variabili, ancora una volta si tratta dell’account amministrativo (veri variabile $User) e la posizione del file con la password (vedi $PWord). Eseguendo lo script da PowerShell, a meno di errori, questo si autenticherà immediatamente alla vostra console senza alcun intervento da parte vostra. Potrete ora lanciare i comandi che vi interessano senza più dover inserire utente e password :-)

Anche in questo caso occorrerà ricordarsi di chiudere la sessione (Remove-PSSession) al termine del lavoro e pure stavolta vi ho modificato il documento Wiki così da poter scaricare facilmente il ps1 già pronto (public.gfsolone.com/wiki/doku.php?id=o365:pshellconnect) ;-)

Batch: cancellare tutti i file e le sottocartelle contenute in una cartella padre (e invio del log via mail)

Un lavoro semplicissimo se fatto in maniera interattiva, ma si risolve facilmente anche in batch nel caso in cui debba essere ripetuto tramite schedulazione, magari su un server, magari di una cartella su uno spazio condiviso (poi vedete voi eh, è riutilizzabile in mille contesti differenti).

Il codice è semplice, data una cartella di partenza tutto ciò che c’è dentro deve sparire, a prescindere che si tratti di sottocartelle contenenti file o che questi si trovino direttamente nella root. Una volta alla settimana bisognerà lanciare una “pulizia di primavera“, questo è il contenuto del mio batch:


set logfile=C:\scripts\cleanup.txt
set folder=\\SERVER\CARTELLA
dir "%%folder%%"/s/b/a | sort /r >> %logfile%
for /f "delims=;" %%D in (%logfile%) do (del /f /q "%%D" & rd /s /q "%%D")
cscript C:\scripts\sendlog.vbs
del /q %logfile%

Ciò che andrà toccato è chiaramente la variabile “logfile” (file dove verrà tenuta traccia di ciò che verrà eliminato) e quella “folder“, la cartella sotto la quale non dovrà più esistere alcunché. Il richiamo al sendlog.vbs tramite cscript (così da non chiedere nulla a video) servirà (come facilmente intuibile) a inviare via mail ciò che è stato trovato e rimosso, il codice ve l’ho già fatto vedere (ne sono quasi certo) in passato ma l’ho ovviamente modificato per l’occasione e ve lo ripropongo:


Set email = CreateObject("CDO.Message")
Set objNTInfo = CreateObject("WinNTSystemInfo")
Set objFSO = CreateObject("scripting.filesystemobject")
Set objArgs = WScript.Arguments

' Date and time
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objItem in colItems
dtmLocalTime = objItem.LocalDateTime
dtmMonth = Mid(dtmLocalTime, 5, 2)
dtmDay = Mid(dtmLocalTime, 7, 2)
dtmYear = Left(dtmLocalTime, 4)
dtmHour = Mid(dtmLocalTime, 9, 2)
dtmMinutes = Mid(dtmLocalTime, 11, 2)
dtmSeconds = Mid(dtmLocalTime, 13, 2)
Next
datacorrente = dtmDay & "/" & dtmMonth & "/" & dtmYear
oracorrente = dtmHour & ":" & dtmMinutes
'DEBUG: togliere il commento qui di seguito se si vuole visualizzare a video data e ora corrente
'Wscript.Echo datacorrente & " alle " & oracorrente

email.Subject = "Cleanup cartella CARTELLA"
email.From = "root@localhost.tld"
email.To = "me@localhost.tld"
email.Cc = "log@locahost.tld"
'email.Bcc = DestinationBCC
email.TextBody = "Pulizia CARTELLA terminata con successo il " & datacorrente & " alle " & oracorrente & vbCRLF & vbCRLF & vbCRLF & "In allegato il log di cartelle e file rimossi." & vbCRLF & vbCRLF
email.AddAttachment "C:\scripts\cleanup.txt"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.localhost.tld"
email.Configuration.Fields.Update
email.Send
set email = Nothing

Ciò che andrà toccato in questa occasione? Abbastanza intuibile:

  • email.Subject: l’oggetto da assegnare alla mail che vi verrà recapitata (a voi o chiunque dovrà occuparsi di controllare la buona riuscita dell’operazione);
  • email.From: un mittente dal quale far arrivare il log, può non essere reale se il vostro SMTP interno accetta connessione senza autenticazione e chi riceve lascia passare la mail da quel dominio senza particolari controlli antispam;
  • email.To: chi dovrà ricevere la comunicazione (tra le virgolette basterà usare una virgola per separare più indirizzi di posta, ndr);
  • email.Cc: come sopra ma ovviamente in copia conoscenza;
  • email.Bcc: commentato nel codice. Può essere ovviamente attivato togliendo il commento e può mandare la stessa mail in copia conoscenza nascosta;
  • email.TextBody: il corpo della mail che cattura ora e data dalla macchina che lancia la pulizia e allega il file di log (email.AddAttachment, ndr) per permettere di consultare quanto fatto;
  • forse inutile dirlo ma al posto di smtp.localhost.tld andrà riportato un vostro SMTP server interno, lo script non prevede (come potete vedere voi stessi) autenticazione, se volete includerla vi rimando allo script originale sul Wiki.

Mettete lo script nelle operazioni pianificate di un Windows sempre acceso, scegliete ora e giorno “et voilà“, il gioco è fatto.

Page 1 of 31812345»...Last »