Ecco come fare: Continua a leggere Installazione silente di UltraVNC nei client di un dominio
In Active Directory vengono registrati tutti i dati degli utenti compresi gli indirizzi e-mail.
Quindi in un domain controller possiamo recuperare sia i nomi degli utenti, l’account ed anche l’indirizzo e-mail. Continua a leggere Come ottenere rapidamente con Powershell la lista degli utenti di un dominio ed i relativi indirizzi e-mail di Exchange
Spesso capita che una lista di file presenti dei caratteri non validi tipo spazi, o segni di interpunzione indesiderati. A volte invece si vogliono uniformare le estensioni dei files, ad esempio jpeg e jpg.
Continua a leggere Rinominare un grosso numero di file con Powershell
Quando siete connessi ad un computer con desktop remoto potreste avere la necessità di staccare un attimo il “cavo di rete”, ma essendo connessi da remoto l’operazione porterebbe solo alla vostra disconnessione senza possibilità di riconnettersi. Ma allora come fare? Continua a leggere Disabilitare e subito riabilitare scheda di rete con Powershell
Spesso capita che in un dominio i vecchi account computer restino comunque attivi nonostante inutilizzati da diverso tempo. Active Directory, però, salva l’informazione relativa all’ultimo accesso (lastlogondate), per cui ricercando tale informazione possiamo disabilitare un account computer in tutta sicurezza.
Continua a leggere Disabilitare velocemente i vecchi account computers di un dominio
Il 3 gennaio 2018, Microsoft ha iniziato a pubblicare il suo Security Bulletin mensile in anticipo per alcune piattaforme a causa dei nuovi difetti di sicurezza della CPU, comunemente denominati “Meltdown” e “Spectre”. Nella KB4072699 Microsoft ha pubblicato le patch per la sicurezza e per la compatibilità col software anti-malware.
Microsoft ha riscontrato un problema di compatibilità con alcuni prodotti software antivirus. Il problema di compatibilità si verifica quando le applicazioni antivirus effettuano chiamate non supportate nella memoria del kernel di Windows.
Lo script powershell che segue abilita il comando Get-SpeculationControlSettings che consente di verificare se sono stati applicate le patch per la vulnerabilita suddetta.
Ecco lo script:
$DownloadLink="https://gallery.technet.microsoft.com/scriptcenter/Speculation-Control-e36f0050/file/185444/1/SpeculationControl.zip" $Filezip=$env:temp+"\SpeculationControl.zip" $ModuliPS=$PSHome+"\Modules\" $SCpath=$PSHome+"\Modules\SpeculationControl\" $WebClient = New-Object System.Net.WebClient $WebClient.DownloadFile($DownloadLink,$Filezip) $shell = New-Object -COM Shell.Application $target = $shell.NameSpace($ModuliPS) $zip = $shell.NameSpace($Filezip) $target.CopyHere($zip.Items(), 16) cd $SCpath $StatoIniziale=get-ExecutionPolicy set-executionpolicy unrestricted -Force import-module $SCpath\SpeculationControl.psm1 set-executionpolicy $StatoIniziale -Force Get-SpeculationControlSettings
Questo il risultato quando nessuna patch è stata applicata:
Speculation control settings for CVE-2017-5715 [branch target injection] For more information about the output below, please refer to https://support.mic rosoft.com/en-in/help/4074629 Hardware support for branch target injection mitigation is present: False Windows OS support for branch target injection mitigation is present: False Windows OS support for branch target injection mitigation is enabled: False Speculation control settings for CVE-2017-5754 [rogue data cache load] Hardware requires kernel VA shadowing: True Windows OS support for kernel VA shadow is present: False Windows OS support for kernel VA shadow is enabled: False Suggested actions * Install BIOS/firmware update provided by your device OEM that enables hardwar e support for the branch target injection mitigation. * Install the latest available updates for Windows with support for speculation control mitigations. * Follow the guidance for enabling Windows Server support for speculation contr ol mitigations described in https://support.microsoft.com/help/4072698 BTIHardwarePresent : False BTIWindowsSupportPresent : False BTIWindowsSupportEnabled : False BTIDisabledBySystemPolicy : False BTIDisabledByNoHardwareSupport : False KVAShadowRequired : True KVAShadowWindowsSupportPresent : False KVAShadowWindowsSupportEnabled : False KVAShadowPcidEnabled : False
Ulteriori informazioni sull’output potranno essere reperite qui
Informazioni sulle patch da applicare potranno essere reperite anche sul sito di OVH Francia o sul sito di Achab (che ringraziamo entrambi pubblicamente).
Anzitutto bisognerà avere sul server l’utilità PsExec. Segui il link al precedente post di Sistemisti Senior per sapere come fare per scaricarlo. Ricordarsi di copiare il file PsExec.exe nella cartella %WINDIR%\SYSTEM32 (oppure di aggiungere il percorso alla variabile PATH).
Creare quindi il seguente file .bat
@echo off title Sessione CMD su computer locale set TESTATA= cls ^&echo. ^&echo ATTIVA E LANCIA UNA PSSESSION SU UN PC REMOTO ^&echo ============================================= ^&echo. ^&echo. ^&echo. %TESTATA% echo ATTENZIONE: per uscire digitare exit al primo prompt ed exit(1) al secondo echo. echo. set /P NOMEPC=Inserire il nome del PC remoto: title Sessione CMD su computer remoto %TESTATA% echo Avvio PSEXEC sul computer remoto per eventuale echo attivazione delle sessioni remote di PowerShell echo. echo. psexec \\%NOMEPC% -s winrm.cmd quickconfig -q echo %errorlevel% IF %ERRORLEVEL% GEQ 1 echo ************** ERRORE! **************** && pause color 1f title Sessione PowerShell su computer remoto %TESTATA% echo Avvio Powershell su PC %NOMEPC% echo. echo. C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit " & {New-PSSession -ComputerName %NOMEPC% |Enter-PsSession}" color Goto Fine :FINE
Otterrete una bella schermata come questa:
Ricordarsi che:
Per uscire dalla sessione remota di Powershell digitare “exit” o “Exit-PsSession” come nell’esempio:
[NOME-PC_REMOTO]: PS C:\Users\admin\Documents> Exit-PSSession
Per uscire dalla sessione locale di Powershell e tornare nel prompt dei comandi digitare “exit(1)” come nell’esempio:
PS C:\Windows\system32> exit(1)
Con Powershell, grazie ai comandi Get-Service e Start-Service, possiamo controllare tutti quei servizi il cui avvio è impostato ad automatico e riavviarli nel caso in cui qualcuno di essi sia fermo.
Meglio ancora è programmare un controllo giornaliero che compia per noi questa azione e grazie all’Utilità di pianificazione è possibile schedulare tale attività.
Ecco come fare:
Create un file AvviaServiziAutomatici.xml con il blocco note come qui di seguito indicato
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Description>Lo script powershell avvia tutti i servizi arrestati che hanno la modalità di avvio automatico settata</Description> </RegistrationInfo> <Triggers> <CalendarTrigger> <Enabled>true</Enabled> <ScheduleByDay> <DaysInterval>1</DaysInterval> </ScheduleByDay> </CalendarTrigger> </Triggers> <Principals> <Principal id="Author"> <LogonType>Password</LogonType> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT1H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <Exec> <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command> <Arguments>-command " & {get-service | where {($_.status -eq 'stopped') -and ($_.starttype -eq 'Automatic')} | Start-Service}"</Arguments> </Exec> </Actions> </Task>
Quindi aprite l’Utilità di Pianificazione (potete farlo anche lanciando il comando taskschd.msc) e nel pannello Azioni, presente a destra, cliccate su Importa attività. Confermate il tutto ed inserite, quando richiesto, le credenziali di un amministratore del server.
Avrete così una schedulazione giornaliera che riavvia automaticamente i vostri servizi fermi.
Ecco come fare:
Dal sito del supporto Microsoft apri il link seguente e sarai reindirizzato alla pagina “Disinstallare Office da un PC”.
A questo punto scegli:
Il sistema scarica un eseguibile che esegue automaticamente la disinstallazione.
Attenzione: riavviare il PC dopo la disinstallazione!!!
Ecco come fare:
Lanciare da esegui il comando:
rundll32.exe keymgr.dll, KRShowKeyMgr
Ecco come fare:
Anzitutto devi scaricare PsExec (puoi seguire le istruzioni presenti in questo nostro articolo).
Crea poi un file vbs o bat da copiare sul PC remoto e lanciare. Io in questo caso uso un file AttivaDHCP.vbs che configura l’assegnazione automatica degli indirizzi IP con DHCP sul PC remoto. Queste le righe dello script AttivaDHCP.vbs:
strComputer = "." Set objWMIService = GetObject(_ "winmgmts:\\" & strComputer & "\root\cimv2") Set colNetAdapters = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration " _ & "where IPEnabled=TRUE") For Each objNetAdapter In colNetAdapters errEnable = objNetAdapter.EnableDHCP() errEnable = objNetAdapter.SetDNSServerSearchOrder() Next
Crea poi un file .bat ed inserisci nella sezione “Impostazione parametri fissi” il nome dell’utente amministratore, il percorso/nome del file dello script da copiare e lanciare sul PC remoto. Ecco lo script:
@echo off rem Impostazione parametri fissi rem ============================ SET UTENTEAMMINISTRATORE="MIODOMINIO\Administrator" SET PERCORSOSCRIPT="\\SERVER-01\Scripts" SET NOMESCRIPT="AttivaDHCP.vbs" echo Impostazione parametri variabili echo ================================ SET /P NOMEPC=[Inserisci il nome del PC]: SET /P PASSWORDADMIN=[Inserisci la password dell'utente %UTENTEAMMINISTRATORE%]: if "%PASSWORDADMIN%"=="NUL" goto NOPARAMETERS if "%NOMEPC%"=="NUL" goto NOPARAMETERS Set NOMEPC=NUL Set PASSWORDADMIN=NUL echo. echo. echo. echo Copio il file dello script sul PC %NOMEPC% echo ========================================== set STRINGAPSEXECCOPIA=cmd /c copy %PERCORSOSCRIPT%\%NOMESCRIPT% %public%\downloads psexec -u %UTENTEAMMINISTRATORE% -p %PASSWORDADMIN% \\%NOMEPC% %STRINGAPSEXECCOPIA% echo. echo. echo. echo Lancio lo script sul PC %NOMEPC% echo ================================ set STRINGAPSEXECLANCIA=cscript %public%\downloads\%NOMESCRIPT% psexec -u %UTENTEAMMINISTRATORE% -p %PASSWORDADMIN% \\%NOMEPC% %STRINGAPSEXECLANCIA% echo. pause Set PASSWORDADMIN=NUL Set NOMEPC=NUL goto FINE :NOPARAMETERS echo. echo ERRORE: Inserire il nome del PC e la PASSWORD DI ADMIN :FINE echo. echo ================= echo Fine elaborazione
Lo script dapprima copierà il file indicato nella variabile %NOMESCRIPT% nel percorso locale del PC %public%\downloads e poi lo lancerà. Per consentire i giusti permessi lo script chiederà la password dell’utente amministrativo indicato nella variabile %UTENTEAMMINISTRATORE%.
Otterrai:
Impostazione parametri variabili ================================ [Inserisci il nome del PC]: PC-001 [Inserisci la password dell'utente "MIODOMINIO\Admin"]: Mi@password. Copio il file dello script sul PC PC-001 ========================================== PsExec v2.11 - Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals - www.sysinternals.com 1 file copiati. cmd exited on PC-001 with error code 0. Lancio lo script sul PC PC-001 ================================ PsExec v2.11 - Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals - www.sysinternals.com Microsoft (R) Windows Script Host Versione 5.8 Copyright (C) Microsoft Corporation 1996-2001. Tutti i diritti riservati. cscript exited on PC-001 with error code 0. Premere un tasto per continuare . . . ================= Fine elaborazione
Ecco come fare:
Innanzitutto scaricate PDFcreator (la versione standard, non la Plus) e copiatelo in una cartella condivisa sul server.
Create poi uno script .bat, nella stessa cartella, con il seguente contenuto:
@echo off for /f "tokens=*" %%a in ('dir /b "%~dp0PDFCreator*Setup.exe"') do ( echo %n% %~dp0%%a start /wait "" "%~dp0%%a" /ForceInstall /SILENT /LANG=Italiano /COMPONENTS="program,ghostscript" /NORESTART /NOICONS /ProxyName=proxy1:8088 )
Io ho inserito anche un falso proxy per evitare che il programma si connetta ad Internet. Gli altri switch della linea di comando servono ad usare la lingua italiana (/LANG=Italiano), ad installare solo i componenti necessari (/COMPONENTS=”program,ghostscript”), ad evitare il riavvio del PC (/NORESTART), e ad evitare che il programma aggiunga icone sul desktop (/NOICONS).
L’opzione /SILENT consente un’installazione che mostra lo stato di avanzamento, ma se vorreste evitare del tutto interazioni con l’installazione allora basterà usare lo switch /VERYSILENT.
Basterà quindi lanciare lo script .bat dalla cartella condivisa e l’installazione creerà automaticamente una nuova stampante PDF su cui lanciare le stampe per la creazione dei documenti.
Vi consiglio anche di impostare la creazione di documenti PDF/A per l’utilizzo istituzionale; il formato PDF/A, infatti, incorpora tutte le informazioni necessarie e sufficienti per la visualizzazione del documento e quindi ne garantisce la leggibilità anche nelle versioni future. Questi i passaggi:
Quindi seleziona il profilo relativo
Ecco come fare:
dal server di dominio lanciare il seguente comando
netdom renamecomputer NOMEORIGINALEPC /newname:NUOVONOMEPC /ud:NOMEDOMINIO\Administrator /pd:PasswordAmministratore
La sintassi è quindi:
netdom renamecomputer {nome del PC da cambiare} /newname:{nuovo nome del PC} /ud:{nome del dominio}\{nome utente amministratore del dominio} /pd{password dell’utente amministratore del dominio}
L’output a cui bisognerà dare conferma sarà il seguente (tenendo presente che se sul PC sono presenti condivisioni e servizi basati su nome computer essi non funzioneranno più):
Con questa operazione il computer NOMEORIGINALEPC verrà ridenominato NUOVONOMEPC. Alcuni servizi, ad esempio Autorità di certificazione, si basano su un nome di computer fisso. Se un servizio di questo tipo è in esecuzione in NOMEORIGINALEPC, una modifica del nome di computer avrebbe un'influenza negativa. Continuare (S o N)?
Ecco come fare:
Create, sul server che effettua il backup, due operazioni pianificate (una per il backup riuscito l’altra per il backup con errori) importando i seguenti files XML (personalizzando le parti evidenziate):
File BackupKO.xml
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2012-11-22T10:58:40.4469273</Date> <Author>NOMEDOMINIO\utente</Author> </RegistrationInfo> <Triggers> <EventTrigger> <Enabled>true</Enabled> <Subscription><QueryList><Query Id="0" Path="Microsoft-Windows-Backup"><Select Path="Microsoft-Windows-Backup">*[System[(EventID=5 or EventID=8 or EventID=17 or EventID=18 or EventID=19 or EventID=20 or EventID=21 or EventID=22 or EventID=49 or EventID=50 or EventID=52 or EventID=100 or EventID=517 or EventID=518 or EventID=521 or EventID=527 or EventID=528 or EventID=544 or EventID=545 or EventID=546 or EventID=561 or EventID=564 or EventID=612)]]</Select></Query></QueryList></Subscription> </EventTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>NOMEDOMINIO\utente</UserId> <LogonType>Password</LogonType> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT4H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <SendEmail> <Server>127.0.0.1</Server> <Subject>Errore backup server</Subject> <To>info@acme.it</To> <From>info@acme.it</From> <Body>Verificare il backup da Windows server backup.</Body> <HeaderFields /> <Attachments /> </SendEmail> </Actions> </Task>
E file BackupOK.xml
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2012-11-22T10:58:40.4469273</Date> <Author>NOMEDOMINIO\utente</Author> </RegistrationInfo> <Triggers> <EventTrigger> <Enabled>true</Enabled> <Subscription><QueryList><Query Id="0" Path="Microsoft-Windows-Backup"><Select Path="Microsoft-Windows-Backup">*[System[(EventID=4)]]</Select></Query></QueryList></Subscription> </EventTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>NOMEDOMINIO\utente</UserId> <LogonType>Password</LogonType> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT4H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <SendEmail> <Server>127.0.0.1</Server> <Subject>BACKUP OK </Subject> <To>info@acme.it</To> <From>info@acme.it</From> <Body>Backup terminato correttamente.</Body> <HeaderFields /> <Attachments /> </SendEmail> </Actions> </Task>
Nei server con sistema operativo Windows 2012 R2 il comando di invio e-mail è deprecato per cui ricorriamo a Powershell. Lanceremo quindi al posto dell’attività “Invio messaggio di posta elettronica (deprecato)” l’attività “Avvio programma” con i seguenti parametri:
Programma o script:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Parametro:
-command ” & {Send-MailMessage -SMTPServer 127.0.0.1 -To ‘info@acme.it’ -From ‘info@acme.it’ -Subject ‘Errore backup server’ -Body ‘Verificare il backup da Windows server backup.’}”
O più semplicemente usare i seguenti file:
File BackupKO-2012R2.xml
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2012-11-22T10:58:40.4469273</Date> <Author>NOMEDOMINIO\utente</Author> </RegistrationInfo> <Triggers> <EventTrigger> <Enabled>true</Enabled> <Subscription><QueryList><Query Id="0" Path="Microsoft-Windows-Backup"><Select Path="Microsoft-Windows-Backup">*[System[(EventID=5 or EventID=8 or EventID=17 or EventID=18 or EventID=19 or EventID=20 or EventID=21 or EventID=22 or EventID=49 or EventID=50 or EventID=52 or EventID=100 or EventID=517 or EventID=518 or EventID=521 or EventID=527 or EventID=528 or EventID=544 or EventID=545 or EventID=546 or EventID=561 or EventID=564 or EventID=612)]]</Select></Query></QueryList></Subscription> </EventTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>NOMEDOMINIO\utente</UserId> <LogonType>Password</LogonType> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT4H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <Exec> <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command> <Arguments>-command " & {Send-MailMessage -SMTPServer 127.0.0.1 -To 'info@acme.it' -From 'info@acme.it' -Subject 'BACKUP OK' -Body 'Verificare il backup da Windows server backup.'}"</Arguments> </Exec> </Actions> </Task>
File BackupOK-2012R2.xml
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2012-11-22T10:58:40.4469273</Date> <Author>NOMEDOMINIO\utente</Author> </RegistrationInfo> <Triggers> <EventTrigger> <Enabled>true</Enabled> <Subscription><QueryList><Query Id="0" Path="Microsoft-Windows-Backup"><Select Path="Microsoft-Windows-Backup">*[System[(EventID=4)]]</Select></Query></QueryList></Subscription> </EventTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>NOMEDOMINIO\utente</UserId> <LogonType>Password</LogonType> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT4H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <Exec> <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command> <Arguments>-command " & {Send-MailMessage -SMTPServer 127.0.0.1 -To 'info@acme.it' -From 'info@acme.it' -Subject 'BACKUP OK' -Body 'Backup terminato correttamente.'}" </Arguments> </Exec> </Actions> </Task>
Al verificarsi dell’evento di fine backup sarà spedito un messaggio e-mail con l’esito del salvataggio.
Se non avete un server di posta interno vi consigliamo di leggere il nostro post Configurare un SMTP server su Windows 2008 senza Exchange
I ransomware sono dei softwares che crittografano il contenuto dei vostri files di produttività (doc, xls, jpg, pdf, ecc.) cancellando il file originale e creandone una versione crittografata con un nome files composto dal vostro nome file seguito da un’estensione personalizzata.
Il più famoso ransomware, Cryptolocker, ad esempio, crea dei files con un estensione contenente la parola “crypt” oppure contenente un indirizzo di posta elettronica (tipicamente l’indirizzo di colui che potrebbe sbloccare i files).
Lo scopo di questo post è quello di bloccare il processo di creazione di files con dette estensioni, stoppando sul nascere l’infezione. Infatti se si riesce ad inibire il processo di creazione dei files che presentano certi tipi di estensioni, bloccheremmo in pratica l’infezione.
Il procedimento è possibile su tutti i servers Microsoft grazie allo strumento di amministrazione chiamato “Gestione risorse file server” (fsrm.msc). Qualora non trovaste questa voce negli strumenti di amministrazione bisognerà installare il ruolo “Gestione risorse file server” dal Server Manager (in 2008 il ruolo si chiama “Servizi file” mentre in 2012 il ruolo è Servizi file e archiviazione ->Servizi file e iScsi ->Gestione risorse file server).
Potete anche usare Powershell sia per verificare che il servizio sia già attivo (se il risultato è true allora il ruolo è già installato):
Import-Module ServerManager;(Get-WindowsFeature FS-Resource-Manager).Installed
che per installarlo
Import-Module ServerManager; Add-WindowsFeature FS-Resource-Manager
Ricordatevi di eseguire Powershell sempre come amministratore!
Una volta attivato il ruolo, lanciare la console dagli strumenti di amministrazione.
Selezionare Gestione screening dei file -> Gruppi di file ed aggiungere un nuovo gruppo di files di nome “Crypto” contenente le estensioni che volete bloccare:
Ad esempio: *.*@*, *.*crypt*, *.*yy*, *.frt*, *.locky, *.???.exe, *.???.cab.
Poi nella sezione Gestione screening dei file -> Modelli per lo screening dei file aggiungere un nuovo modello “Blocca ransomware” con le opzioni indicate nella figura 3
Volendo potete anche abilitare, nella sezione messaggio di posta elettronica, l’invio degli avvisi all’amministratore di sistema cosicché al primo tentativo del ransomware di crittografare un file della rete sarà lanciata un’e-mail di avviso.
Prima di abilitare tale funzione bisognerà configurare il server per l’invio. Selezionate con il pulsante destro Gestione risorse file server e scegliete Configura opzioni. Impostate le opzioni come findicato nella figura 4.
A questo punto bisognerà scegliere le cartelle da monitorare sul server, soprattutto quelle condivise o quelle delle applicazioni LOB.
Selezionare Gestione Screening dei file ->Screening dei file e con il pulsante destro scegliere Crea screening dei file.
Selezionare le opzioni come indicato nella figura 5.
La soluzione non è definitiva, nel senso che bisogna modificare le policy ogniqualvolta nasce un nuovo ransomware che crea una nuova estensione, però l’aggiunta delle nuove estensioni è un processo semplice e rapido.
Vi invitiamo a segnalarci le estensioni che riscontrate ed a condividerle con i nostri seguaci.
Ecco come fare:
Lanciate Powershell quindi digitate il seguente comando:
get-ChildItem "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP"
Otterete un risultato simile a questo da cui evincere la versione installata:
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP Name Property ---- -------- CDF v2.0.50727 Version : 2.0.50727.4927 CBS : 1 Increment : 4927 Install : 1 SP : 2 OCM : 1 v3.0 Version : 3.0.30729.4926 CBS : 1 Increment : 4926 Install : 1 SP : 2 v3.5 Version : 3.5.30729.4926 CBS : 1 Install : 1 InstallPath : C:\Windows\Microsoft.NET\Framework64\v3.5\ SP : 1 v4 v4.0 (default) : deprecated
Qualora voleste un maggior dettaglio, ad esempio della versione 4:
get-ChildItem "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP"|Where-Object {$_.Name -like "*4*"} | Get-ChildItem -Recurse
Oppure potreste usare il seguente comando:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name Version, Release -ErrorAction 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release | ft -autosize
ed ottenere:
PSChildName Version Release ----------- ------- ------- v2.0.50727 2.0.50727.4927 v3.0 3.0.30729.4926 Windows Communication Foundation 3.0.4506.4926 Windows Presentation Foundation 3.0.6920.4902 v3.5 3.5.30729.4926 Client 4.8.03761 528049 Full 4.8.03761 528049 Client 4.0.0.0
Se siete tra i fortunati possessori di un antivirus di Trend Micro a protezione del vostro Microsoft Exchange Server (sia esso il prodotto Scan Mail for Microsoft Exchange che Worry Free Business Security Advanced) allora avete la soluzione per bloccare i files con estensione .exe presenti negli allegati con estensione .zip.
Questi ransomware, infatti, infettano il computer del malcapitato crittografando i files più utili (files di Office, jpg, PDF, ecc.) quando si apre un allegato contenente il file eseguibile responsabile dell’infezione.
Il suddetto file è sempre abilmente artefatto nel nome in modo da trarre in inganno l’utente poco esperto; infatti il file viene spesso rinominato con un estensione .pdf.exe cosicché l’utente che non ha le estensioni dei file visibili (configurazione di default sui PC Microsoft) vedrà solo l’estensione .pdf.
Trend Micro permette nel suo programma di scansione delle e-mail di bloccare le estensioni .exe (ma anche le classi Java .class, ed altri files potenzialmente pericolosi), anche se i files sono inseriti in un file compresso con estensione .zip.
Il sistema non è in grado si analizzare però files compressi in altri formati (tipo .rar). Si possono però filtrare tutti gli altri tipi di files compressi consentendo solo l’uso del formato .zip.
Qui di seguito vi mostro la schermata della configurazione nel programma Worry Free Business Security Advanced ed il relativo link al sito di Trend Micro per la spiegazione.
Io comunque consiglio di abilitare almeno questi:
Applicazione ed eseguibile | +---Formato file eseguibili e collegamenti (.elf) | +---Eseguibile (.exe; .dll; .vxd) | +---Applet JAVA (.class) | +---Collegamento Windows NT/95 (.lnk) | +---Windows Installer Package (.msi)
File compressi | +---Microsoft Cabinet (.cab)
Come per tutti i miei utenti, consiglio anche a voi di contattare i vostri sistemisti sempre PRIMA di aprire gli allegati dubbi e di configurare i PC per mostrare le estensioni dei files. Per questi malware soluzioni postume al momento non esistono!
P.S.
Se siete stati già infettati spegnete il computer immediatamente. Più tempo resta acceso e più si infetta!
Ecco come fare:
Aprite il link https://www.microsoft.com/en-us/software-download/windows10
Scegliete la versione di sistema operativo
Nota:
Se avete dubbi sull’architettura del vostro PC aprite il programma msinfo32 e leggete il valore “Tipo sistema”
Una volta terminato il download del MediaCreationTool e lanciato, bisognerà scegliere se aggiornare subito il proprio PC o creare il supporto per un altro PC.
Se scegliete la prima opzione il sistema scarica l’aggiornamento (quasi 4 GB di dati) e provvede in autonomia ad aggiornare a Windows 10 (armatevi di pazienza perché l’operazione è lunga ma non richiede alcun intervento).
Con la seconda opzione sarà invece possibile scaricare il file ISO da cui masterizzare un DVD per l’installazione su un altro PC.
E’ evidente che la prima opzione è quella più semplice perché non prevede nessuna particolare competenza tecnica per l’applicazione.
Buon divertimento
N.B.
Una volta installato Windows 10 sarà comunque possibile ritornare, entro un mese, alla versione precedente di sistema operativo. Basterà andare in Impostazioni->Aggiornamenti e sicurezza-> Ripristino.
Devi effettuare l'accesso per postare un commento.