mercoledì 25 gennaio 2023

Linux: Svuotare la cache dei DNS

Il servizio DNS funziona come un sistema di traduzione, traducendo i nomi di dominio in indirizzi IP e viceversa; in genere si appoggia a un server gestito dal proprio provider di connettività o a server pubblici liberamente accessibili come quelli forniti da Google, Cloudflare, OpenDNS, ecc. 
Generalmente i sistemi operativi mantengono una cache locale per velocizzare l'accesso alle risorse utilizzate più spesso ed evitare di effettuare ogni volta una chiamata al server DNS remoto. Tuttavia, all'interno della cache del DNS, possono crearsi inconsistenze che impediscono l'accesso ad alcuni siti o alla visualizzazione di contenuti non aggiornati. In questi casi è utile poter eliminare il contenuto della cache DNS in modo tale da interrogare nuovamente il server DNS per una corretta risoluzione dell'URL.

Non tutte le distribuzioni Linux hanno abilitato di default la cache dei DNS. Per verificarlo basta eseguire il seguente comando dalla finestra terminale
systemctl is-active systemd-resolved
se il sistema risponde con Active allora la cache è abilitata.
Verifica abilitazione cache DNS
FIG 1 - Verifica abilitazione cache DNS

Per abilitare la cache dei DNS bisogna abilitare ed avviare il servizio systemd-resolved con i comandi
sudo systemctl enable systemd-resolved.service
sudo systemctl start systemd-resolved.service

Per disabilitare la cache dei DNS
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved.service

Con il comando
resolvectl statistics
Vengono visualizzate informazioni sintetiche principali sullo stato della cache come il numero di elementi memorizzati.

Per svuotare la cache dei DNS il comando da eseguire è
resolvectl flush-caches





lunedì 23 gennaio 2023

MS Word: Eliminare Intestazioni e piè di pagina all'interno di un documento

Normalmente, è possibile rimuovere rapidamente tutte le intestazioni e i piè di pagina da un documento MS Word semplicemente facendo doppio clic sul campo dell'intestazione o del piè di pagina, per poi rimuoverli tutti in una sola volta. Se il documento contiene più tipi di intestazione e piè di pagina tale operazione va ripetuta per ciascun tipo, in alternativa è possibile utilizzare la funzione Verifica documento:
Dal menu File di MS Word, nella sezione Informazioni, cliccare su Verifica documento quindi su Controlla documento.
MS Word, Controlla documento
FIG 1 - MS Word, Controlla documento

Dalla finestra di dialogo, deselezionare tutte le opzioni lasciando attiva solo Intestazione, piè di pagina e filigrana e cliccare sul pulsante Controlla.
MS Word, Intestazioni, piè di pagina e filigrane
FIG 2 - MS Word, Intestazioni, piè di pagina e filigrane

Nella finestra successiva cliccare su Rimuovi tutto.
Rimuovi tutto
FIG 3 - Rimuovi tutto
Cliccare su Chiudi per ritornare al documento.

Eliminare Intestazioni e piè di pagina tramite VBA

Per eliminare tutte le intestazioni e piè di pagina presenti all'interno del documento, è possibile utilizzare VBA:
Avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11.
Dal menu Inserisci, selezionare Modulo.
VBA, Modulo
FIG 4 - VBA, Modulo

Incollare il seguente codice
 Sub RemoveHeaderAndFooter()  
   Dim oSec As Section  
   Dim oHeader As HeaderFooter  
   Dim oFooter As HeaderFooter  
   For Each oSec In ActiveDocument.Sections  
     For Each oHeader In oSec.Headers  
       If oHeader.Exists Then oHeader.Range.Delete  
     Next oHeader  
           For Each oFooter In oSec.Footers  
       If oFooter.Exists Then oFooter.Range.Delete  
     Next oFooter  
   Next oSec  
   Selection.WholeStory  
   ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader  
   Selection.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone  
   ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument  
      MsgBox ("Operazione completata")  
 End Sub  
VBA
FIG 5 - VBA

Cliccare sul pulsante Esegui o premere F5.






martedì 17 gennaio 2023

MS Word: Rimuovere tutti i collegamenti tramite VBA

Per eliminare tutti i collegamenti (hyperlinks) presenti in un documento MS Word è possibile procedere nel seguente modo:
Selezionare l'intero documento premendo la combinazione di tasti CTRL + A;
Premere la combinazione CTRL + SHIFT + F9 per eliminare tutti i collegamenti.

Eliminare tutti i collegamenti utilizzando VBA

Avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11.
Dal menu Inserisci, selezionare Modulo
Incollare il seguente codice
 Sub DelAllHyperlinks()  
      Dim nHyperlinks As Long  
      Dim n As Long  
      With ThisDocument  
       nHyperlinks = .Hyperlinks.Count  
       For n = nHyperlinks To 1 Step -1  
            .Hyperlinks(n).Delete  
       Next n  
      End With  
      MsgBox ("Collegamenti eliminati: " & nHyperlinks)  
 End Sub  
   
Cliccare sul pulsante Esegui o premere F5.
Elimina collegamenti
FIG 1 - Elimina collegamenti


Al termine dell'operazione un messaggio visualizzerà il numero di collegamenti eliminati all'interno del documento.


Per eliminare tutti i collegamenti da tutti i documenti MS Word aperti, il codice da copiare è il seguente
 Sub DelHyperlinksInAllOpenDocuments()  
      Dim doc As Document  
      Dim docName As String  
      Dim nHyperlinks As Long  
      Dim nTotHyperlinks As Long  
      Dim nDoc As Long  
      nTotHyperlinks = 0  
      nDoc = 0   
      For Each doc In Application.Documents  
           docName = doc.Name  
           nDoc = nDoc + 1  
           With Documents(docName)  
            nHyperlinks = .Hyperlinks.Count  
            nTotHyperlinks = nTotHyperlinks + nHyperlinks  
            For n = nHyperlinks To 1 Step -1  
                 .Hyperlinks(n).Delete  
            Next n  
           End With  
      Next doc  
      MsgBox ("Documenti Aperti: " & nDoc & vbNewLine & "Collegamenti totali eliminati: " & nTotHyperlinks)  
 End Sub  

Al termine dell'esecuzione verrà visualizzato un messaggio in cui viene indicato il numero di documenti analizzati e il numero totale di collegamenti rimossi.
Collegamenti eliminati dai documenti aperti
FIG 2 - Collegamenti eliminati dai documenti aperti





giovedì 12 gennaio 2023

MS Outlook: Modificare l'ambito di ricerca tramite registro di sistema

Per impostazione standard Outlook esegue una ricerca in tutte le cartelle della cassetta postale corrente quando la ricerca viene avviata dalla Posta in arrivo. Se la ricerca viene avviata da un'altra cartella, la ricerca include solo gli elementi di quella cartella. Gli utenti possono comunque modificare l'ambito della ricerca agendo manualmente sull'apposita casella o tramite le opzioni di ricerca (File -> Opzioni -> Cerca) presenti in Outlook.
Outlook, Opzioni Cerca
FIG 1 - Outlook, Opzioni Cerca

L'ambito di ricerca può essere impostato anche tramite registro di sistema:
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio);
  • Posizionarsi sulla chiave di registro
    HKEY_CURRENT_USER\Software\Microsoft\Office\xx.0\Outlook\Search
    dove al posto di xx va indicata la versione di office
  • Creare un nuovo valore DWORD 32bit e rinominarlo in DefaultSearchScope.
  • Cliccare, con il tasto destro del mouse, sul valore appena creato e selezionare Modifica.
  • Nella casella Dati valore specificare uno dei seguenti valori a seconda del comportamento desiderato
    0 - Impostazione predefinita. La ricerca in Outlook si comporta come sopra indicato.

    1 - Tutte le cassette postali. La ricerca viene eseguita su tutte le caselle di posta.

    2 - Cartella corrente. La ricerca viene eseguita all'interno della cartella corrente.

    3 - Cassetta postale corrente. La ricerca viene eseguita all'interno della casella di posta corrente.
  • Una volta impostato il valore desiderato, riavviare Outlook.
DefaultSearchScope
FIG 2 - DefaultSearchScope


Il valore può essere impostato anche tramite policy, in tal caso troveremo il valore DefaultSearchScope nel percorso
HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\office\16.0\outlook\Search





martedì 10 gennaio 2023

MS Outlook: Impedire di aggiungere nuovi dati a un file .pst esistente

Per impedire agli utenti di aggiungere nuovi dati o contenuti a un file .pst esistente, è possibile aggiungete la voce PSTDisableGrow al Registro di sistema e impostate il suo valore ad 1. Per farlo, basta eseguire i seguenti passaggi:
  • Avviare l'Editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi sulla seguente chiave di registro
    HKEY_CURRENT_USER\Software\Microsoft\Office\xx.0\Outlook\PST
    dove al posto xx.0 va indicata la versione di Office (ad es. 15.0 per Office 2013, 16.0 per Office 2016 e 2019);
  • Creare un nuovo valore DWORD (32 bit) e rinominarlo in PSTDisableGrow;
  • Fare clic con il pulsante destro del mouse sulla voce di registro PSTDisableGrow creata e selezionare Modifica;
  • Nella casella di Dati valore, digitare 1 e selezionare OK;
    La voce di registro PSTDisableGrow può essere impostata sui seguenti valori:
    0 - L'utente può aggiungere nuovi elementi a un file .pst esistente. Questo è il valore predefinito.
    1 - Non è possibile aggiungere nuovi contenuti o dati a un file .pst esistente.
    Outlook  PSTDisableGrow
    FIG 1 - Outlook  PSTDisableGrow
PSTDisableGrow può essere impostato anche tramite policy, in tal caso il valore verrà creato al seguente percorso nel registro di sistema:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\Outlook\PST

Dopo aver assegnato a PSTDisableGrow  il valore 1, se si tenta di aggiungere un email al file pst verrà visualizzato il messaggio 
"Impossibile spostare gli elementi. Autorizzazione non idonea per eseguire l'operazione".
Impossibile spostare gli elementi
FIG 2 - Impossibile spostare gli elementi