sabato 6 giugno 2020

Windows Server 2019: Group Policy, mappare una cartella solo per utenti appartenenti ad un determinato gruppo

Nell'articolo precedente è stato mostrato come mappare una cartella condivisa tramite GPO. La Policy (configurazione utente) è stata creata all'interno del dominio pertanto va ad agire su tutti gli account utente.
In quest'articolo vedremo come creare un oggetto criteri di gruppo da applicare esclusivamente ad un determinato gruppo in AD.
Il primo passo da seguire consiste nella creazione del gruppo. In questo caso andremo a creare il gruppo GRP_Direzione contenente tutti gli utenti della unità organizzativa Direzione. I passaggi sono del tutto analoghi a quelli già visti in precedenti articoli.


Creare un gruppo tramite Utenti e computer di Active Directory

  • Da Server Manager cliccare sul menu Strumenti e selezionare Utenti e Computer di Active Directory (Active Directory Users and Computers). In alternativa premere la combinazione di tasti WIN+R digitare dsa.msc e premere invio.
    Windows Server 2019, Server Manager
    FIG 1 - Windows Server 2019, Server Manager
  • Espandere il dominio mycompany.local e posizionarsi sull'unità organizzativa Direzione\Utenti. Cliccare, con il tasto destro del mouse, sulla UO Utenti e selezionare Nuovo->Gruppo.
    FIG 2 - Utenti e computer di Active Directory, Nuovo Gruppo
  • Nella casella Nome gruppo inserire il nome da assegnare al gruppo (ad es. GRP_Direzione), come Tipo gruppo lasciare selezionato Sicurezza e come Ambito del gruppo lasciare attiva l'opzione Globale. Cliccare su OK per la creazione del gruppo.
    Nuovo oggetto Gruppo
    FIG 3 - Nuovo oggetto Gruppo
  • Selezionare tutti gli account utente presenti nell'unità organizzativa Direzione\Utenti e cliccarci su con il tasto destro del mouse. Selezionare, dal menu contestuale, Aggiungi a un gruppo.
    Aggiungi a un gruppo
    FIG 4 - Aggiungi a un gruppo
  • Nella nuova finestra di dialogo, all'interno della casella Immettere i nomi degli oggetti da selezionare, digitare il nome (o parte di esso) del gruppo (GRP_Direzione) a cui si intendono  aggiungere gli account utente e cliccare sul pulsante Controlla nomiSe il nome del gruppo è corretto cliccare su OK per confermare l'operazione. Una nuova finestra di dialogo (FIG 6 ) confermerà l'avvenuta aggiunta al gruppo.
    Seleziona Gruppi
    FIG 5 - Seleziona Gruppi

    Aggiunta al gruppo completata
    FIG 6 - Aggiunta al gruppo completata




Creazione cartella condivisa

  • Avviare Esplora file, cliccare su Questo PC quindi sul Disco locale (C:).
    Esplora file, disco C:
    FIG 7 - Esplora file, disco C:
  • Creare una nuova cartella e rinominarla in Direzione.
  • Cliccare, con il tasto destro del mouse, sulla cartella appena creata e selezionare Proprietà.
    Proprietà cartella
    FIG 8 - Proprietà cartella
  • Selezionare la scheda Condivisione e cliccare sul pulsante Condivisione avanzata.
    Condivisione cartella
    FIG 9 - Condivisione cartella
  • Selezionare l'opzione Condividi la cartellaAll'interno della casella Nome condivisione aggiungere il simbolo $ per creare una condivisione nascosta. Cliccare sul pulsante Autorizzazioni.
    Condivisione avanzata
    FIG 10 - Condivisione avanzata
  • Selezionare il gruppo Everyone, quindi cliccare su Rimuovi. Il nostro scopo è fare in modo che alla cartella possano accedere solo utenti che appartengono al gruppo GRP_Direzione.
    Autorizzazioni, rimuovere gruppo Everyone
    FIG 11 - Autorizzazioni, rimuovere gruppo Everyone
  • Cliccare sul tasto Aggiungi e, all'interno della nuova finestra di dialogo, digitare il nome del gruppo GRP_Direzione quindi cliccare su OK per ritornare alla schermata precedente.
    Autorizzazioni, aggiungi gruppo
    FIG 12 - Autorizzazioni, aggiungi gruppo
  • Dato che intendiamo fornire al gruppo GRP_Direzione permessi completi sulla cartella condivisa, selezionare il gruppo quindi flaggare la casella Controllo completo e cliccare su OK.
    Autorizzazioni, controllo completo al gruppo GRP_Direzione
    FIG 13 - Autorizzazioni, controllo completo al gruppo GRP_Direzione
  • Nella finestra Condivisione avanzata (FIG 10), cliccare ancora su OK.
  • Come visibile in FIG 14 verrà mostrato il percorso della cartella condivisa. Cliccare su Chiudi.
    Percorso di rete condivisione
    FIG 14 - Percorso di rete condivisione

Il prossimo passo consiste nel mappare la cartella condivisa agli utenti che appartengono al gruppo GRP_Direzione mediante GPO.





Creazione GPO per mappare la cartella agli utenti del gruppo GRP_Direzione

  • Da Server Manager, cliccare su Strumenti quindi su Gestione Criteri di gruppo.
    Server Manager
    FIG 15 - Server Manager
  • Espandere il dominio mycompany.local quindi cliccare, con il tasto destro del mouse, sull'unità organizzativa Direzione e dal menu contestuale selezionare Crea un oggetto Criteri di gruppo in questo dominio e crea qui un collegamento....
    Gestione Criteri di gruppo
    FIG 16 - Gestione Criteri di gruppo
  • Specificare il nome che si desidera assegnare all'oggetto Criteri di gruppo ad es. GPO_Direzione_mappa_condivisione e cliccare su OK.
    Nuovo oggetto Criteri di gruppo
    FIG 17 - Nuovo oggetto Criteri di gruppo
  • Cliccare con il tasto destro del mouse sull'oggetto Criteri di gruppo appena creato e selezionare Modifica.
    Modifica oggetto Criteri di gruppo
    FIG 18 - Modifica oggetto Criteri di gruppo
  • La policy dovrà essere applicata agli utenti. All'interno della sezione Configurazione utente cliccare su Preferenze, quindi su Impostazioni di Windows e successivamente su Mapping unità.
    Configurazone utente, Mapping unità
    FIG 19 - Configurazone utente, Mapping unità
  • Cliccare, con il tasto destro del mouse, sul pannello sulla destra e selezionare Nuovo->Unità mappata.
  • Nella casella Azione selezionare Aggiorna, all'interno della casella percorso digitare il percorso della cartella condivisa \\SERVER1DC\Direzione$. Attivare la casella Riconnetti e in label digitare il nome con cui la cartella verrà mappata (ad es. Share Direzione).
    Proprietà unità mappata
    FIG 20 - Proprietà unità mappata
  • Selezionare l'opzione Usa e specificare la lettera di unità con cui la cartella condivisa verrà mappata (ad es. J:).
    Proprietà unità mappata
    FIG 21 - Proprietà unità mappata
  • Cliccare su OK e chiudere la finestra Editor Gestione criteri di gruppo e la finestra Gestione criteri di gruppo.


A questo punto gli utenti che appartengono al gruppo GRP_Direzione, quando eseguiranno il logon su una postazione del dominio, si ritroveranno la cartella \\SERVER1DC\Direzione$ mappata come unità J:.





mercoledì 3 giugno 2020

Windows Server 2019: Introduzione alle Group Policy (GPO) e mapping cartella condivisa

Quando si parla di Active Directory non si può fare a meno di parlare anche delle Group Policy (Criteri di gruppo). Le Group Policy sono un insieme di regole che controllano l'ambiente di lavoro degli utenti e dei computer fornendo una gestione centralizzata e consentendo la configurazione dei sistemi operativi, impostazioni degli utenti e applicazioni in un ambiente Active Directory. In pratica le Group Policy stabiliscono, in parte, cosa l'utente può e non può fare su un computer del dominio e possono essere utilizzate, ad esempio, per bloccare l'accesso al pannello di controllo/gestione attività, impedire/autorizzare l'accesso a cartelle condivise, disabilitare il download di file eseguibili, consentire l'installazione automatica di software, implementare restrizioni su quote disco, sulla lunghezza della password e altro. Le Group policy vengono gestite tramite lo strumento Gestione Criteri di gruppo (Group Policy Management Console o GPMC) e create/modificate tramite l'Editor Gestione Criteri di gruppo (Group Policy Management Editor o GPME).
Prima di mostrare come creare le Group Policy è bene chiarire e approfondire alcuni concetti basilari.

Le Group Policy vengono configurate e distribuite dagli amministratori di dominio mediante la creazione di oggetti Criteri di gruppo(Group Policy Object o GPO). Gli oggetti Criteri di gruppo sono container per gruppi di impostazioni (policy settings) che possono essere applicate agli account utente, agli account computer o ad entrambi attraverso Active Directory. Tali oggetti vengono creati utilizzando l'Editor Gestione Criteri di gruppo (GPME) che viene invocato quando si modifica un GPO all'interno dello strumento Gestione Criteri di gruppo (GPMC). 
Contrariamente a quanto possa far credere il nome, gli oggetti Criteri di gruppo non sono affatto orientati al gruppo: non è possibile applicarli direttamente ai gruppi. Possono essere applicati a livello locale, a siti, ai domini e alle UO (Microsoft li abbrevia con LSDOU: Locale, Sito, Dominio, OU) all'interno di una data foresta. L'assegnazione delle policy viene anche chiamata linking.
Il rapporto tra GPO e LSDOU può essere del tipo molti a uno (ad es. più GPO assegnati ad un sola UO) o di uno a molti (ad es. una sola GPO assegnata a più UO). Quando viene assegnato un oggetto Group Policy ad un'unità organizzativa questo agisce su tutti gli account in essa contenuti e sulle UO sottostanti.  

Affermare che i Criteri di Gruppo/GPO vengono memorizzati all'interno di Active Directory non è del tutto corretto. Gli oggetti Criteri di gruppo vengono memorizzati in due posti distinti: all'interno di un container di Group Policy (Group Policy Container o GPC) e all'interno di un Group Policy Template (GPT). Il GPC è memorizzato all'interno del database Active Directory e contiene informazioni sulla proprietà, versione, stato e una lista dei componenti. Il GPT, invece, viene conservato all'interno della cartella Windows\SYSVOL\sysvol\<Nome del dominio>\Policies\GUID\ dove GUID rappresenta il Global Unique Identifier dell'oggetto Criteri di gruppo. Tale cartella contiene impostazioni amministrative, impostazioni di sicurezza, informazioni sulle applicazioni disponibili, impostazioni del registro di sistema, script e altro.

Anche se una Group Policy può contenere numerose impostazioni è buona norma configurarne solo un numero ristretto. Le Group Policy sono cumulative e supportano l'ereditarietà (possono essere ereditate dai container superiori in Active Directory). Le policy vengono applicate in background. Generalmente il computer effettua un refresh delle policy ogni 90 minuti ma è possible forzarne la sincronizzazione tramite il comando gpupdate /force dal Prompt dei comandi. I domain controller, a differenza dei normali computer, eseguono il refresh delle Group Policy ogni 5 minuti. Un eccezione alla regola viene fatta per le policy che includono il reindirizzamento di cartelle, l'installazione del software, l'applicazione di script, impostazioni Stampanti e dischi di rete mappati. Tali policy, infatti, vengono applicate solo al logon dell'utente (per gli account utente) o all'avvio del sistema (per gli account computer).
Le Group Policy vengono replicate automaticamente. L'Active Directory viene replicato utilizzando AD Replication (controllato da Knowledge Consistency Checker e Intersite Topology Generator) ed è controllato dal servizio File Replication o dal servizio Distributed File Replication.
Le impostazioni specificate all'interno di un oggetto Group Policy vengono scritte all'interno del registro di sistema e vengono eliminate quando l'impostazione della policy viene eliminata o l'oggetto Group Policy viene cancellato. Tale comportamento previene l'effetto "tattooing", un tempo presente, che costringeva gli amministratori a creare un nuovo GPO per annullare le impostazioni di un GPO cancellato. 





Creare una Group Policy che mappa una cartella condivisa

Di seguito vengono mostrati i passaggi per creare una Group Policy che esegue il mapping di una cartella condivisa assegnando una specifica lettera di unità.
  • Da Server Manager cliccare su Strumenti e selezionare Gestione Criteri di gruppo (Group policy management).
    Windows Server 2019,  Server Manager
    FIG 1 - Windows Server 2019,  Server Manager
  • Espandere la foresta cliccando su mycompany.local.
  • Cliccare con il tasto destro del mouse sul nome della foresta (mycompany.local) e selezionare Crea un oggetto Criteri di gruppo in questo dominio e crea qui un collegamento. In questo modo andremo a creare un'oggetto Criteri di gruppo che verrà applicato all'intero dominio. Le policy applicate al dominio agiscono su tutte le unità organizzative mentre quelle applicate ad un'unità organizzativa agiscono esclusivamente su quest'ultima e su quelle sottostanti.
    Windows Server 2019, Gestione Criteri di gruppo
    FIG 2 - Windows Server 2019, Gestione Criteri di gruppo
  • Assegnare un nome all'oggetto Criteri di gruppo (ad es. Mapping Cartella Condivisa) e cliccare su OK.
    Windows Server 2019, Nuovo oggetto Criteri d gruppo
    FIG 3 - Windows Server 2019, Nuovo oggetto Criteri d gruppo
  • Cliccare con il tasto destro del mouse sull'oggetto Criteri di gruppo appena creato e selezionare Modifica.
    Windows Server 2019, Modifica oggetto Criteri di gruppo
    FIG 4 - Windows Server 2019, Modifica oggetto Criteri di gruppo
  • Nell'Editor Gestione Criteri di gruppo notiamo la separazione tra due sezioni: Configurazione computer e Configurazione utente. Ambedue, sul sistema operativo a cui vengono applicate, agiscono sul registro di sistema. Come già accennato, le policy possono essere applicate ai computer, agli utenti o ad entrambi. In questo articolo la policy che andremo a creare verrà applicata agli account utente. Ciò significa che la policy verrà applicata nel momento in cui l'utente effettuerà il logon su una qualsiasi postazione del dominio. All'interno di Configurazione utente cliccare su Preferenze per espanderla.
    Editor Gestione Criteri di gruppo, Configurazione utente
    FIG 5 - Editor Gestione Criteri di gruppo, Configurazione utente
  • Cliccare su Impostazioni di Windows quindi su Mapping unità.
    Editor Gestione Criteri di gruppo, Configurazione utente, Preferenze
    FIG 6 - Editor Gestione Criteri di gruppo, Configurazione utente, Preferenze
  • Cliccare, con il tasto destro del mouse, su una parte vuota sul lato destro della finestra e, dal menu contestuale, selezionare Nuovo e successivamente su Unità mappata.
    Editor Gestione Criteri di gruppo, Mapping unità
    FIG 7 - Editor Gestione Criteri di gruppo, Mapping unità
  • Nel campo Azione è necessario specificare cosa andrà a fare la Group policy. Selezionare Aggiorna in modo che la cartella verrà sempre mappata. All'interno della casella Percorso indicare il path della cartella da mappare (ad es. \\SERVER1DC\Cartella condivisa che abbiamo creato nell'articolo Windows Server 2019: Mappare automaticamente una cartella condivisa).
    Mapping unità, Nuove proprietà unità
    FIG 8 - Mapping unità, Nuove proprietà unità
  • Selezionare l'opzione Riconnetti, in questo modo la cartella verrà riconnessa non appena disponibile.
  • In Etichetta specificare il nome con cui si intende mappare la cartella (ad es. Share1).
  • Alla cartella mappata possiamo assegnare la prima lettera disponibile o, attivando l'opzione Usa, specificare una precisa lettera di unità. In questo esempio attiviamo l'opzione Usa, selezioniamo la lettera P: e clicchiamo su OK.
    Mapping unità, Nuove proprietà unità
    FIG 9 - Mapping unità, Nuove proprietà unità
  • Chiudere la finestra.
  • Spostarsi su una postazione appartenente al dominio e verificare, dopo il logon, che la group policy appena creata funziona e che la cartella condivisa sia stata mappata con la lettera di unità specificata. Possiamo forzare l'applicazione delle group policy tramite il comando gpupdate /force eseguito dal Prompt dei comandi della workstation.
    Unità mappata dopo il logon su una workstation del dominio
    FIG 10 - Unità mappata dopo il logon su una workstation del dominio





lunedì 1 giugno 2020

Windows Server 2019: Configurare la workstation in modo che contatti un domain controller alternativo in caso di indisponibilità di quello principale

Chi ha seguito gli articoli precedenti su Windows Server 2019 (i link sono presenti in fondo all'articolo) si ritroverà con due domain controller configurati come segue:

Nome: Server1DC
IP: 192.168.1.121
Subnet Mask: 255.255.255.0
DNS primario: 192.168.1.121

Nome: Server2DC
IP: 192.168.1.122
Subnet Mask: 255.255.255.0
DNS primario: 192.168.1.121

Per fare in modo che una workstation, nel caso non riesca a contattare Server1DC o questo non sia disponibile, provi con un domain controller alternativo come Server2DC è necessario modificare le impostazioni di rete. In pratica tra i server DNS della workstation bisogna aggiungere l'indirizzo IP del server Server2DCGeneralmente questa operazione viene effettuata centralmente tramite il server DHCP. Dato che non ho ancora trattato l'argomento DHCP, in quest'articolo mostrerò come effettuare l'operazione manualmente sulla postazione tramite GUI. I passaggi da seguire sono quelli già visti nell'articolo Windows Server 2019: Aggiungere una workstation al dominio (join al dominio):
  • Cliccare con il tasto destro del mouse sull'icona Accesso a Internet presente nell'area di notifica e selezionare Impostazioni Apri connessione e Internet.
    Windows 10, Impostazioni Apri connessione e Internet
    FIG 1 - Windows 10, Impostazioni Apri connessione e Internet
  • Cliccare sulla sezione Ethernet presente sul lato sinistro della finestra quindi cliccare su Modifica opzioni scheda.
    Impostazioni Ethernet, Modifica opzioni scheda
    FIG 2 - Impostazioni Ethernet, Modifica opzioni scheda
  • All'interno della finestra Connessioni di rete, cliccare con il tasto destro del mouse sulla scheda di rete e selezionare Proprietà dal menu contestuale. Potrebbe essere richiesto l'inserimento di credenziali di un account del dominio abilitato ad eseguire la modifica (FIG 4).
    Proprietà scheda di rete
    FIG 3 - Proprietà scheda di rete
    Connessioni di rete, richiesta credenziali
    FIG 4 - Connessioni di rete, richiesta credenziali
  • Dall'elenco selezionare Protocollo Internet versione 4 (TCP/IPv4) e cliccare sul pulsante Proprietà.
    Proprietà Protocollo Internet Versione 4 (TCP/IPv4)
    FIG 5 - Proprietà Protocollo Internet Versione 4 (TCP/IPv4)
  • All'interno del campo Server DNS alternativo digitare l'IP del domain controller aggiuntivo (Server2DC) 192.168.1.122 quindi cliccare su OK e chiudere le finestre aperte.
    Server DNS alternativo
    FIG 6 - Server DNS alternativo




sabato 30 maggio 2020

Edge Easter Egg: Let's Surf

Recentemente Microsoft ha rilasciato la nuova versione (83.0.478.37) del suo browser Edge
Microsoft Edge 83.0.478.37
FIG 1 - Microsoft Edge 83.0.478.37

All'interno del nuovo browser si nasconde il minigioco Let's Surf che può essere avviato digitando nella barra indirizzi la seguente stringa
edge://surf 
o cliccando sull'apposito pulsante che appare quando la connessione è assente.
Connessione assente. Avvia gioco
FIG 2 - Connessione assente. Avvia gioco


Come per il minigioco del dinosauro da tempo incluso nel browser Chrome di Google, anche quello presente in Edge non richiede la connessione ad Internet. Una versione preliminare del gioco era stata introdotta nella versione di Edge distribuita agli iscritti del programma Insider. Gli utenti avevano chiesto di lasciare il minigioco nella versione definitiva del browser e sono stati accontentati dagli sviluppatori che hanno persino deciso di apportare qualche miglioramento al gameplay e aggiungere nuove funzionalità.
Let's Surf
FIG 3 - Let's Surf


Il gioco si ispira a SkiFree (1991): un gioco di sci creato da Chris Pirih e rilasciano da Microsoft all'interno dell'Entertainment Pack 3 per Windows e DOS
Lo scopo del gioco consiste nel guidare il surfista selezionato (utilizzando tastiera, mouse/touchpad o gamepad) tra le onde evitando gli ostacoli, isole, kraken e altri surfisti.

Let's Surf
FIG 4 - Avvio gioco Let's Surf

Lungo il tragitto è possibile raccogliere cuori per estendere la vita, fulmini per incrementare la velocità (premendo il tasto F), salvare il cane per proteggerci dai nemici e monete per sottrarre tempo. L'utente può selezionare, tramite l'apposito menu, 3 modalità di gioco: Navighiamo, Versione di valutazione a tempoZig zag.

Navighiamo
In tale modalità non c'è una fine ma si cerca di percorrere la maggiore distanza possibile evitando gli ostacoli e il kraken.

Versione di valutazione a tempo
Bisogna raggiungere la fine del percorso nel minor tempo possibile.

Zig zag
La modalità Zig zag prevede di seguire un percorso predefinito. Bisogna navigare attraverso il maggior numero di porte presenti lungo il percorso.

Let's Surf Impostazioni gioco
FIG 5 - Let's Surf Impostazioni gioco


Dal menu è possibile anche attivare la Modalità Alta visibilità che mette in evidenza gli ostacoli da evitare e gli oggetti da recuperare tramite una serie di riquadri e la Modalità velocità ridotta che, come si intuisce, permette di giocare con una velocità inferiore.
Sempre all'interno del menu viene evidenziato il miglior punteggio ottenuto.


Let's Surf Modalità gioco
FIG 6 - Let's Surf Modalità gioco





venerdì 29 maggio 2020

MS Office: Modificare il tema di Office mediante registro di sistema

MS Office permette all'utente di impostare il tipo di tema preferito selezionandolo tra i quattro messi a disposizione: A colori, Grigio scuro, Nero, Bianco. Per modificare il tema basta cliccare sul menu File -> Opzioni da un'applicazione del pacchetto Office (come Word, Excel, Outlook ecc) e, nella scheda Generale, all'interno della sezione Personalizzazione della copia di Microsoft Office in uso selezionare dalla casella combinata Tema di Office il tema desiderato.

Tema di Office
FIG 1 - Tema di Office


Per eseguire la stessa operazione tramite registro di sistema è necessario agire su 2 valori:
il valore DWORD nominato UI Theme presente in 
HKEY_CURRENT_USER\Software\Microsoft\Office\xx.0\Common\
e sul valore binario DATA presente in  
HKEY_CURRENT_USER\Software\Microsoft\Office\xx.0\Common\Roaming\Identities\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-ADAL}\Settings\1186\{00000000-0000-0000-0000-000000000000}\
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) mentre al posto di xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx è presente una stringa alfanumerica (GUID) che varia in base all'utenza e la versione di office installata.

I valori corrispondenti ai temi selezionabili in Office sono:
0 per il tema A colori.
3 per il tema Grigio scuro.
4 per il tema Nero.
5 per il tema Bianco.

Supponendo di voler impostare il tema Grigio scuro 
ad UI THEME va assegnato il valore 3
mentre a DATA il valore binario 03 00 00 00

Tema di Office, valore binario DATA
FIG 2 - Tema di Office, valore binario DATA


Di seguito un semplice script PowerShell che modifica il tema per Office 2016

Do{
cls
Write-Host "================ Seleziona tema Office 2016 ================"
     
Write-Host "0: Premi '0' per il tema 'A colori'."
Write-Host "3: Premi '3' per il tema 'Grigio scuro'."
Write-Host "4: Premi '4' per il tema 'Nero'."
Write-Host "5: Premi '5' per il tema 'Bianco'."
Write-Host "Q: Premi 'Q' per uscire."
Write-Host
$officeThemeValue = Read-Host "Scegli";
Write-Host

}While($officeThemeValue -notin 0,3,4,5,'q')

if ($officeThemeValue -ne 'q'){
$OfficeThemeRegKey = 'HKCU:\Software\Microsoft\Office\16.0\Common'

Set-ItemProperty -Path $OfficeThemeRegKey -Name 'UI Theme' -Value $officeThemeValue -Type DWORD

Get-ChildItem -Path ($OfficeThemeRegKey + "\Roaming\Identities\") | ForEach-Object {
  $identityPath = ($_.Name.Replace('HKEY_CURRENT_USER', 'HKCU:') + "\Settings\1186\{00000000-0000-0000-0000-000000000000}");

  if (Get-ItemProperty -Path $identityPath -Name 'Data' -ErrorAction Ignore) {
Write-Verbose $identityPath

Set-ItemProperty -Path $identityPath -Name 'Data' -Value ([byte[]]($officeThemeValue, 0, 0, 0)) -Type Binary
  }
}
Write-Host "Modifica effettuata. Riavviare le applicazioni Office."
}


Dal seguente link è possibile scaricare il file PS1 contenente lo script.





mercoledì 27 maggio 2020

Cloudflare: Filtrare i contenuti web con 1.1.1.1 for Families

Cloudflare, società specializzata nel content delivery network, da circa 2 anni fornisce gratuitamente un server DNS veloce ed attento alla privacy (Cloudflare 1.1.1.1: il DNS più veloce del web e attento alla privacy). Da qualche mese, per rispondere alle richieste degli utenti relativamente alla possibilità di filtrare i siti pericolosi, ha introdotto un nuovo servizio DNS gratuito chiamato 1.1.1.1 for Families che permette di aggiungere facilmente un livello di protezione alla propria rete domestica e ai propri dispositivi riducendo al minimo il rischio di scaricare malware o di accedere a contenuti per adulti. Il servizio sfrutta la rete globale di Cloudflare e anche in questo caso è garantita la bassa latenza delle risposte, sicurezza e il rispetto della privacy. I DNS da impostare sul proprio dispositivo o sul router per poter usufruire della protezione di Cloudflare sono i seguenti:

Per la protezione contro il malware
DNS primario (IPv4): 1.1.1.2
DNS secondario (IPv4): 1.0.0.2

DNS primario (IPv6): 2606:4700:4700::1112
DNS secondario (IPv6): 2606:4700:4700::1002

Per la protezione contro malware e contenuti per adulti
DNS primario (IPv4): 1.1.1.3
DNS secondario (IPv4): 1.0.0.3

DNS primario (IPv6): 2606:4700:4700::1113
DNS secondario (IPv6): 2606:4700:4700::1003


Le pagine vengono filtrate attraverso l'utilizzo di blacklist che vengono gestite e aggiornate direttamente da Cloudflare. Non viene offerta alcuna opzione di personalizzazione: non è possibile aggiungere manualmente ulteriori pagine da filtrare e nel caso in cui un sito sia stato inserito erroneamente all'interno della blacklist, non c'è la possibilità di sbloccarlo direttamente se non segnalando il problema a Cloudflare.
Cloudflare, 1.1.1.1 for Families
FIG 1 - Cloudflare, 1.1.1.1 for Families

lunedì 25 maggio 2020

Outlook: Individuare i file PST connessi al profilo Outlook tramite registro di sistema

Ogni volta che viene aggiunto un file PST ad Outlook, viene generata una nuova chiave all'interno del registro di sistema. Il nome della chiave, per questioni di sicurezza, viene generato in maniera casuale mentre il percorso e il nome del file PST connesso al profilo Outlook è contenuto all'interno del valore binario 001f6700.

Per ricercare manualmente il valore possiamo avviare l'editor del registro di sistema (regedit.exe) e posizionarci sulla chiave di registro del nostro profilo di posta. Il percorso del profilo varia in base alla versione di Outlook:

Per Outlook 2010 posizionarsi su
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\<nome_profilo_posta>]

Per Outlook 2013 e successivi la chiave di registro contenente il profilo è del tipo
[HKEY_CURRENT_USER\Software\Microsoft\Office\<versione>\Outlook\Profiles\<nome_profilo_posta>]
Ad esempio, per Outlook 2013 è
[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles\<nome_profilo_posta>]
mentre per Outlook 2016 la chiave è
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Profiles\<nome_profilo_posta>]


Una volta in posizione possiamo ricercare il valore binario 001f6700
Editor del Registro di sistema, valore 001f6700
FIG 1 - Editor del Registro di sistema, valore 001f6700

Un modo più semplice consiste nell'utilizzare uno script che, fornita la chiave di registro relativa al profilo Outlook, si occupa di individuare tutti i valori 001f6700 e trasformarli da valori binari in stringhe. Di seguito è riportato un semplcie script PowerShell che permette di automatizzare l'operazione.


$keys = Get-ChildItem HKCU:\software\microsoft\office\16.0\OUTLOOK\profiles\Posta -rec -ea SilentlyContinue | Where-Object {(Get-ItemProperty -path $_.PSPath) -match "001f6700"} | select -Property Property, Name, PSPath
foreach($chiave in $KEYS.PSPath){
  $valore = Get-ItemPropertyValue $chiave -Name 001f6700
  [Text.Encoding]::unicode.getString($valore.syncroot) 
}


Per individuare le chiavi di registro che contengono i valori 001f6700 ci avvaliamo dell'utilizzo dei cmdlet Get-ChildItem e Get-ItemProperty. A Get-ChildItem passiamo la chiave di registro relativa al profilo Outlook che vogliamo analizzare (HKCU:\software\microsoft\office\16.0\OUTLOOK\profiles\Posta), indichiamo che la ricerca deve essere effettuata anche sulle sottochiavi (-rec o -recurse) e che in caso di errore intendiamo proseguire senza visualizzare alcun messaggio (-ea SilentlyContinue oppure -ErrorAction SilentlyContinue).
Con la condizione Where-Object e Get-ItemProperty andiamo ad individuare solo le chiavi che contengono valori 001f6700.
Con il ciclo foreach scorriamo tutte le chiavi di registro individuate dall'istruzione precedente, estraiamo il contenuto del valore 001f6700 con Get-ItemPropertyValue e trasformiamo il valore binario in stringa in modo da renderlo leggibile. In output avremo l'elenco dei file PST connessi al profilo di Outlook specificato.