Archivi categoria: Articoli sistemistici

Disinstallare aggiornamenti di Windows da remoto

PC-KB Un aggiornamento automatico di Windows vi crea dei problemi sui PC del dominio?

Disinstallatelo da remoto!

Ecco come fare:

Per verificare sul PC se la patch KB31* è stata installata lanciate il comando:

Get-Hotfix -computername "NOME DEL PC REMOTO" | Where-Object { $_.HotfixID -like "KB31*" } | Sort-Object InstalledOn

Otterrete:

Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
NOME_PC... Security Update KB3163018 NT AUTHORITY\SYSTEM 08/03/2016 00:00:00
NOME_PC... Security Update KB3156016 NT AUTHORITY\SYSTEM 08/03/2016 00:00:00
NOME_PC... Security Update KB3150220 NT AUTHORITY\SYSTEM 08/03/2016 00:00:00
NOME_PC... Security Update KB3149090 NT AUTHORITY\SYSTEM 08/03/2016 00:00:00
NOME_PC... Security Update KB3159398 NT AUTHORITY\SYSTEM 08/03/2016 00:00:00

Per rimuovere, ad esempio, le KB3163018 e 3159398, lanciate il comando wusa in questo modo:

psexec \\"NOME DEL PC REMOTO" cmd
wusa.exe /uninstall /kb:3163018 /quiet /norestart
wusa.exe /uninstall /kb:3159398 /quiet /norestart
exit

Le opzioni quiet e norestart evitano rispettivamente l’uso della GUI (essendo da linea di comando) e il il riavvio non richiesto.

Annunci

Aggiungere un disclaimer in calce ad ogni messaggio in uscita su Exchange/Office365

disclaimer La vostra posta è su Exchange o su Office365 e vorreste aggiungere un bel disclaimer in calce ad ogni messaggio che spedite?

Ecco come fare:

Bisognerà accedere all’amministrazione di Exchange. Nel caso il server non sia su Office 365 basterà accedere alla pagina di amministrazione aggiungendo al solito URL il suffisso /ecp (ad es. https://www.acme.com/ecp).
Nel caso l’hosting fosse su Office 365 allora potrete provare a collegarvi al sito https://outlook.com/ecp.
Qualora l’operazione non andasse a buon fine seguite i seguenti passaggi:

  1. Accedere alla pagina di amministrazione di Office 365
    Office365-admin-page
  2. Dal portale di Office 365 aprire la pagina di amministrazione di ExchangeOffice365-exchange-admin-page

A questo punto le operazioni sono identiche a prescindere dalla piattaforma.

  • Scorrere sino alla sezione Flusso di posta e selezionare Regole
    Office365-rules
  • Cliccare sul segno + per aggiungere una nuova regola e selezionare Applica le dichiarazioni di non responsabilità
    Office365-CreateDisclaimer
  • Ora bisognerà configurare tutte le voci della nuova regola:
    Office365-AddDisclaimerText

        1. Assegnare un nome alla regola
        2. Alla voce Applica questa regola se… selezionare Il destinatario si trova in… e poi selezionare Esterno dell’organizzazione, così come qui indicato:
          Office365-RecipientExternal
        3. Cliccare su Immetti il testo… ed inserire il testo del proprio disclaimer. Io ho usato questo:
          • Le informazioni contenute in questo messaggio e nei documenti allegati, sono da considerarsi strettamente riservate. Il loro utilizzo è consentito unicamente al destinatario del messaggio, per le finalità indicate. Qualora riceveste questo messaggio per errore, vi preghiamo di darne immediata notizia al mittente e di procedere alla sua distruzione (compresi gli eventuali allegati). Costituisce violazione alle disposizioni del D.Lgs. n. 196/2003 “Codice in materia di protezione dei dati personali”, qualsiasi utilizzo e/o conservazione dei dati ricevuti per errore.
            Information in this message and its attachments may be privileged or confidential. It is for the exclusive use of the intended recipient(s). If you are not one of the intended recipients, you are hereby informed that any use, disclosure, distribution, and/or copying of this information is strictly prohibited. If you receive this message in error, please notify the sender immediately and delete all copies of this message.

            Se non ti è necessario, non stampare questa e-mail – If you don’t need, don’t print this e-mail

Come ottenere rapidamente con Powershell la lista degli utenti di un dominio ed i relativi indirizzi e-mail di Exchange

Active-Directory-Logo Avete bisogno di una lista di utenti e dei relativi indirizzi e-mail presenti in Exchange? Usate Powershell sul domain controller!

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.

Get-ADUser -Filter * -Properties DisplayName, EmailAddress, Title | Select-Object -Property @{Name="Nome"; Expression = {$_.displayname}},@{Name="Indirizzo e-mail"; Expression = {$_.emailaddress}},@{Name="Account"; Expression ={$_.samaccountname}},@{Name="Stato"; Expression = {$_.enabled}}| where {($_."Indirizzo e-mail") -and ($_."Nome")}|Sort-Object Nome

Il risultato che otterremo è questo:

Nome                   Indirizzo e-mail                                  Account              Stato
----                   ----------------                                  -------              -----
Administrator          administrator@acmespa.it                          Administrator         True
Alessandro Rossi       Alessandro.Rossi@acmespa.it                       arossi               False
Antonella Bianchi      acquisti@acmespa.it                               abianchi              True
Antonio Neri           magazzino@acmespa.it                              aneri                 True
Emilio Di Maio         Emilio.DiMaio@acmespa.it                          edimaio               True
IT MAN                 itman@acmespa.it                                  itman                 True
Laboratorio            laboratorio@acmespa.it                            laboratorio           True

Rinominare un grosso numero di file con Powershell

MenuRename Avete la necessità di rinominare un grosso numero di file ma non sapete come fare?
Usate Powershell!

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.

Il seguente comando rinomina i file sostituendo parte del testo inclusa nel nome del file con del nuovo testo

Get-ChildItem -Filter "*eventuale_filtro_file*" -Recurse | Rename-Item -NewName {$_.name -replace 'vecchio_dato','nuovo_dato' }

Ad esempio sostituire lo spazio presente nel nome dei file jpg con un trattino:

Get-ChildItem -Filter *.jpg -Recurse | Rename-Item -NewName {$_.name -replace ' ','-' }

Oppure sostituire l’estensione jpeg con jpeg:

Get-ChildItem -Filter *.jpg -Recurse | Rename-Item -NewName {$_.name -replace 'jpeg','jpg' }

Disabilitare e subito riabilitare scheda di rete con Powershell

NICdisable Vi capita di voler disabilitare e poi riabilitare una scheda di rete ma essendo connessi in desktop remoto non potete farlo?
Fatelo 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?

Con Powershell è possibile cercare tutte le schede di rete fisiche presenti (ed abilitate) in un computer e disabilitarle per un attimo, per poi riabilitarle subito dopo.

Per cui, aprite una sessione di Powershell con diritti di amministratore (pulsante destro sull’icona di Powershell e quindi “Esegui come amministratore”) e lanciate il seguente comando.

$nic = Get-WmiObject Win32_NetworkAdapter | Where-Object {($_.NetEnabled -eq $true) -and ($_.PhysicalAdapter -eq $true) -and (($_.AdapterTypeID -eq 0) -or ($_.AdapterTypeID -eq 9))};$nic.disable();$nic.enable()

Potete anche testarlo sul vostro PC aprendo la finestra “Connessioni di rete” digitando il comando ncpa.cpl: ritroverete tutte le schede di rete (fisiche e non), e lanciando il comando Powershell vedrete che quella attualmente abilitata si disabiliterà per un attimo per poi riabilitarsi da sola.

Verificare le patch di vulnerabilità per Meltdown e Spectre (c.d. Speculation Control)

MeltdonSpectreVerify Microsoft ha messo a disposizione un modulo PowerShell per verificare le compatibilità delle patch di vulnerabilità: il c.d. Speculation Control. Ecco come installarlo

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).