Al lavoro, chi gestisce l'antivirus e la sicurezza aziendale, ci chiede di eseguire un controllo supplementare quando rilevano qualcosa di strano e sospetto nei computer in uso agli utenti. I tool che ci chiedono di utilizzare sono Microsoft Safety Scanner e Kaspersky Virus Removal Tool, così mi sono messo a cercare un metodo per poterli avviare da remoto, in modo invisibile all'utilizzatore del computer, tramite PowerShell e NinjaOne.
Gli script allegati all'articolo sono comunque utilizzabili localmente su un computer, non è sempre necessario usarli da remoto anche se sono pensati per questo scopo. Scanmrt.ps1 è lo script per il tool Microsoft, invece scankvrt.ps1 è destinato al tool Kaspersky.
Devo ammettere che gli script non sono tutta farina del mio sacco ma devo ringraziare Zigul, per alcuni preziosi suggerimenti, e anche ChatGPT, che per una volta, mi ha permesso di completare più velocemente alcuni passaggi. I due tool hanno una "data di scadenza", quindi se volete rifare un controllo sullo stesso computer, dopo qualche tempo, dovete scaricare la versione aggiornata del programma.
Nello script è previsto il download automatico dell'eseguibile usato per la scansione, ma, se vi doveste trovare in una rete aziendale chiusa, potrebbe fallire e in questo caso dovete copiare manualmente il file nel computer da controllare.

Tenete conto che una scansione completa del disco fisso, con questi due programmi, può richiedere molto tempo a seconda delle dimensioni del disco fisso e di quanti file deve controllare.
Vediamo ora cosa si può cambiare negli script per poterli adattare alle vostre esigenze.Gli script vanno eseguiti con una utenza amministratore per poter funzionare.
Scanmrt.ps1
Nel blocco dei parametri (param) all'inizio dello script troviamo [String]$ScanType = "Full", che permette la scansione completa del disco fisso (Full) o una veloce (Quick) che ne controlla solo alcune aree, dovete scegliere voi quale controllo fare. Invece [String]$DownloadURL = https://go.microsoft.com/fwlink/?LinkId=212732 è il link per il download del programma, se non viene cambiato da Microsoft non va toccato.Il file di log della scansione lo si può trovare nella cartella C:\windows\debug\msert.log.Il file msert.exe viene scaricato nella cartella C:\SWDTemp, che se non esiste viene creata, potete naturalmente cambiare nome a questa cartella come volete basta che modifichiate tutti i percorsi presenti nello script.if (Test-Path "C:\SWDTemp") { Write-Host "La cartella è presente, prosegui con il download." } else { Write-Host "La cartella non esiste, avvio la creazione e poi il download." New-Item -Path "C:\SWDTemp" -ItemType Directory }Dopo alcune ore di scansione mi ha rilevato un problema dovuto alla presenza di un altro antivirus nel computer che ha disattivato Windows Defender.

scankvrt.ps1
Il link per il download del programma va modificato solo se viene cambiato da Kaspersky [string]$DownloadURL = https://devbuilds.s.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe
Invece $WorkingDir = "C:\SWDTemp" è la cartella di lavoro dove viene scaricato kvrt.exe, modificate il percorso come volete anche nel resto dello script.Nella seguente zona dello script ci sono tutti i parametri passati per eseguire la scansione, se volete maggiori dettagli su di loro potete consultare questa pagina.
$Arguments = @('-accepteula','-fupdate','-silent','-adinsilent','-processlevel', '2','-allvolumes',#se si vuole controllare una singola cartella commentare la riga precedente e inserire in questa il percorso#'-custom', 'C:\virus','-details','-dontencrypt','-d', $WorkingDir)
I file di report della scansione si trovano nella cartella C:\SWDTemp\Reports sono leggibili con notepad o un editor di testo più potente perché possono essere piuttosto grandi.

Conclusioni
Speravo di poter trovare qualche altro tool da linea di comando scaricabile a parte e utilizzabile senza interfaccia grafica, ma, al momento, non ci sono riuscito.
Msert.exe e Kvrt.exe garantiscono comunque un buon controllo e una seconda opinione sullo stato del vostro computer, basta solo avere la pazienza di aspettare la conclusione della scansione.