venerdì 24 giugno 2022

Windows: Visualizzare la versione di Windows e altre informazioni sul desktop

In alcuni contesti può essere utile visualizzare sul desktop le informazioni relative al sistema in particolare quando ci si connette ad una macchina remota con Connessione desktop Remoto (mstsc).
Per visualizzare sul desktop le informazioni sulla versione del sistema operativo è possibile agire tramite il registro di sistema:
  • Premere la combinazione di tasti WIN+per aprire la finestra di dialogo Esegui e digitare regedit seguito da invio per avviare l'editor del registro di sistema;
  • Posizionarsi su
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
  • Creare se non presente, un nuovo valore DWORD e rinominarlo in DisplayVersion;
  • Assegnare a DisplayVersion il valore 1;
    DisplayVersion
    FIG 1 - DisplayVersion

  • Disconnettersi/riconnettersi dal sistema o terminare/avviare il processo explorer.exe per visualizzare la versione del sistema operativo su desktop.
    Informazioni Sistema Operativo
    FIG 2 - Informazioni Sistema Operativo

Tool di terze parti consentono di visualizzare un numero maggiore di informazioni permettendo di personalizzare sia i dati da visualizzare che il loro aspetto (posizione, tipo e dimensione dei caratteri, sfondo, ecc). Uno dei tool più apprezzati in questo campo è BgInfo di Sysinternals. Il tool può essere scaricato dal sito ufficiale https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo e non richiede alcuna installazione. Una volta avviata la versione a 32 o a 64 bit a seconda del sistema operativo e accettate la condizioni di licenza, viene mostrato l'elenco delle informazioni che verranno visualizzate sul desktop. L'elenco può essere personalizzato rimuovendo o aggiungendo nuovi campi, creando un campo personalizzato, modificando la posizione in cui verranno visualizzate le informazioni, impostando lo sfondo e specificando come aggiornare il wallpaper. 
BGInfo
FIG 3 - BGInfo

Le impostazioni possono essere salvate all'interno di un file .bgi (dal menu File->Save as) che può essere richiamato successivamente all'avvio del tool. Ad esempio, supponendo di aver salvato le personalizzazioni all'interno del file SystemInfo.bgi, il comando per avviare il tool con le personalizzazioni sarà  
Bginfo64.exe SystemInfo.bgi /timer:0 /silent /accepteula

Avere sottocchio le informazioni relative al sistema, in particolare quando ci si connette a postazioni remote, può far risparmiare tempo prezioso.
Informazioni BGInfo
FIG 4 - Informazioni visualizzate da BGInfo






giovedì 23 giugno 2022

PowerShell: Modificare la priorità degli adattatori di rete in ambiente Windows

Quando su una postazione sono presenti numerose interfacce di rete (schede di rete Ethernet e Wi-Fi multiple) possono verificarsi dei problemi di gestione da parte del sistema operativo. In questi casi si può intervenire modificando opportunamente la priorità con cui Windows gestisce gli adattatori di rete andando ad impostare la Metrica dell'interfaccia. Tale operazione può rivelarsi utile per risolvere eventuali conflitti o instabilità delle connessioni domestiche. La metrica di una determinata interfaccia di rete può essere modificata, tramite GUI, attraverso le proprietà TCP/IP (IPv4) della connessione. 
Impostazioni avanzate TCP/IP
FIG 1 - Impostazioni avanzate TCP/IP
Di seguito verrà mostrato come effettuare la stessa operazione tramite PowerShell.
Dopo aver aperto una finestra PowerShell come amministratore, il primo passo consiste nel verificare lo stato dei diversi adattatori di rete presenti (fisici e virtuali) eseguendo il comando
Get-NetIPInterface
Get-NetIPInterface
FIG 2 - Get-NetIPInterface

Come visibile in FIG 2, il comando permette di visualizzare, tra le altre informazioni, l'indice delle interfacce (ifIndex), gli alias, il protocollo usato, il valore di metrica/priorità (InterfaceMetric). Per modificare la metrica di un'interfaccia bisogna utilizzare il cmdlet Set-NetIPInterface a cui va passato il numero dell'interfaccia su cui si intende operare (InterfaceIndex) e il livello di priorità da assegnare (InterfaceMetric). A un numero inferiore corrisponde una maggiore priorità. Il comando sarà simile a 
Set-NetIPInterface -InterfaceIndex "<InterfaceIndex>" -InterfaceMetric "<InterfaceMetric>"
Ad esempio
Set-NetIPInterface -InterfaceIndex "7" -InterfaceMetric "20"
Il comando non restituisce a video alcun messaggio, pertanto per verificare l'effettivo cambio di priorità va rieseguito nuovamente Get-NetIPInterface.
Set-NetIPInterface
FIG 3 - Set-NetIPInterface




mercoledì 22 giugno 2022

Windows 10: File manager Modern

Il file manager predefinito di Windows è, l'ormai storico, Esplora file. Il file manager risulta semplice da utilizzare ma gli anni sulle spalle si fanno sentire: le funzionalità avanzate sono ridotte all'osso e le novità estetiche introdotte nel corso degli anni sono poche e poco significative. Microsoft ha sviluppato una variante Modern del suo file manager che viene distribuita insieme al sistema operativo e che può essere richiamata digitando il seguente comando:
C:\Windows\explorer.exe shell:AppsFolder\c5e2524a-ea46-4f67-841f-6a9465d9d515_cw5n1h2txyewy!App

Il nuovo file manager non sembra ancora maturo per mandare in pensione Esplora file ma può risultare più comodo da utilizzare su dispositivi dotati di touch screen.
Esplora file Modern
FIG 1 - Esplora file Modern







martedì 21 giugno 2022

PowerShell: Verificare le impostazioni del criterio password di Active Directory

Per visualizzare le impostazioni password policy di Active Directory (come la durata massima, la lunghezza minima, la cronologia, ecc) è possibile utilizzare il cmdlet Get-ADDefaultDomainPasswordPolicy.


Sintassi

Get-ADDefaultDomainPasswordPolicy
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [[-Current] <ADCurrentDomainType>]
   [-Server <String>]
   [<CommonParameters>]

Get-ADDefaultDomainPasswordPolicy
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [-Identity] <ADDefaultDomainPasswordPolicy>
   [-Server <String>]
   [<CommonParameters>]
   

Parametri

-AuthType 
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
-Credential
Specifica le credenziali dell'account utente con cui eseguire il comando. Se omesso viene considerato l'utente corrente che sta eseguendo il comando. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-Current
Specifica se restituire il dominio del computer locale o dell'utente correntemente connesso. I valori accettati per questo parametro sono:
  • LocalComputer oppure 0
  • LoggedOnUser oppure 1

-Identity
Specifica un oggetto di dominio Active Directory fornendo uno dei seguenti valori 
  • Distinguished name
  • GUID (objectGUID)
  • Security identifier (objectSid)
  • Security Account Manager account name (SAMAccountName

-Server
Specifica l'istanza di Active Directory Domain Services a cui connettersi:
  • Fully qualified domain name
  • NetBIOS name
  • Fully qualified directory server name
  • NetBIOS name
  • Fully qualified directory server name e la porta

Esempi

Esempio 1
Get-ADDefaultDomainPasswordPolicy
Questo comando ottiene il criterio della password di dominio predefinita dal dominio dell'utente attualmente connesso.
Get-ADDefaultDomainPasswordPolicy
FIG 1 - Get-ADDefaultDomainPasswordPolicy


Esempio 2
Get-ADDefaultDomainPasswordPolicy -Current LocalComputer
Visualizza il criterio della password di dominio predefinita dal computer locale corrente.

Esempio 3
Get-ADDefaultDomainPasswordPolicy -Current LoggedOnUser
Questo comando ottiene il criterio della password di dominio predefinita dal dominio dell'utente attualmente connesso. 

Esempio 4
Get-ADDefaultDomainPasswordPolicy -Identity contoso.com
Questo comando ottiene il criterio di password del dominio predefinito dal dominio specificato.

Esempio 5
(Get-ADForest -Current LoggedOnUser).Domains | %{ Get-ADDefaultDomainPasswordPolicy -Identity $_ }
Visualizza gli oggetti dei criteri delle password di dominio predefinite di tutti i domini della foresta.


In alternativa e possibile usare il seguente comando dal prompt dei comandi
net accounts
Net accounts
FIG 2 - Net accounts






lunedì 6 giugno 2022

Windows: Rimuovere i metadati Exif da riga di comando con ExifTool

Scattando una foto con lo smartphone o con una fotocamera digitale vengono salvati, all'interno del file, dati aggiuntivi chiamati metadati. I metadati o dati Exif (EXchangeable Image File Format) contengono informazioni come la data e ora dello scatto, modello della fotocamera, apertura focale, velocità dello scatto, coordinate GPS, ecc. Per visualizzare un sottoinsieme delle informazioni Exif basta cliccare, con il tasto destro del mouse, sul file, selezionare Proprietà e quindi spostarsi sulla scheda Dettagli
Dettagli foto
FIG 1 - Dettagli foto


Come visibile in FIG 1, in fondo alla scheda Dettagli è presente il link Rimuovi proprietà e informazioni personali che consente di eliminare tutte o in parte le informazioni personali contenute nel file. Cliccando sul link verrà visualizzata la finestra mostrata in FIG 2 in cui è possibile creare una copia del file eliminando tutte le proprietà oppure è possibile selezionare manualmente le proprietà/informazioni che si desidera rimuovere.
Rimuovi informazioni personali
FIG 2 - Rimuovi informazioni personali


Per eliminare tali metadati da un gruppo di foto si può utilizzare ExifTool  un software gratuito e open source che consente di leggere, scrivere e manipolare metadati di immagini, audio, video e PDF:
  • Scaricare ExifTool da https://exiftool.org/;
  • Il file viene distribuito in formato compresso pertanto prima di poterlo utilizzare va scompattato;
  • Rinominare il file eseguibile in exiftool;
  • Aprire un prompt dei comandi e posizionarsi nella cartella contenente ExifTool;
  • Eseguire il comando
    exiftool.exe -r -overwrite_original -all= C:\Foto
    dove C:\Foto è la cartella contenente le immagini su cui intendiamo intervenire
  • Dopo una breve elaborazione verrà mostrato un rapporto del lavoro.
exifTool Prompt dei comandi
FIG 3 - ExifTool Prompt dei comandi





martedì 31 maggio 2022

PowerShell: Disabilita la BitLocker Drive Encryption per un volume

Il cmdlet Disable-BitLocker disattiva la BitLocker Drive Encryption per un volume BitLocker. Il cmdlet, una volta eseguito, rimuove tutte le chiavi di protezione e inizia a decriptare il contenuto del volume specificato.

Se il volume che ospita il sistema operativo contiene qualche chiave di sblocco automatico, il cmdlet non eseguirà alcuna operazione. In questi casi sarà prima necessario usare il cmdlet Clear-BitLockerAutoUnlock per rimuovere tutte le chiavi di sblocco automatico e poi sarà possibile disabilitare BitLocker sul volume.

Sintassi

Disable-BitLocker
       [-MountPoint] <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Parametri

-Confirm
Chiede conferma prima di eseguire il cmdlet.

-MountPoint
Specifica un array di lettere di unità o di oggetti volume BitLocker. Il cmdlet disabilita BitLocker sui volumi specificati. Per ottenere un oggetto volume BitLocker si può utilizzare il cmdlet Get-BitLockerVolume.
 
-WhatIf
Mostra cosa accadrebbe se il cmdlet venisse eseguito. Il cmdlet non viene eseguito.

Esempi

Esempio 1
Disable-BitLocker -MountPoint "E:"  
Disabilita BitLocker sul volume specificato e inizia a decriptare i dati.
Disable-BitLocker
FIG 1 - Disable-BitLocker

Esempio 2
$VL = Get-BitLockerVolume
Disable-BitLocker -MountPoint $VL
Disabilita BitLocker su tutti i volumi.
Il primo comando usa Get-BitLockerVolume per ottenere tutti i volumi BitLocker per il computer corrente e li memorizza nella variabile $VL.
Il secondo comando disabilita la crittografia BitLocker per tutti i volumi BitLocker memorizzati nella variabile $VL. BitLocker inizia a decifrare i dati sui volumi.




sabato 28 maggio 2022

PowerShell: Disabilitare lo sblocco automatico per un volume BitLocker

Nell'articolo PowerShell: Rimuovere tutte le chiavi di sblocco automatico di BitLocker è stato mostrato come rimuovere tutte le chiavi di sblocco automatico utilizzate da BitLocker Drive Encryption mediante il cmdlet Clear-BitLockerAutoUnlock. Per rimuovere le chiavi di sblocco automatico di BitLocker di specifici volumi si utilizza il cmdlet Disable-BitLockerAutoUnlock

BitLocker può essere configurato per sbloccare automaticamente i volumi che non ospitano un sistema operativo. Dopo che un utente sblocca il volume del sistema operativo, BitLocker utilizza informazioni crittografate memorizzate nel registro e nei metadati del volume per accedere ai volumi di dati che utilizzano lo sblocco automatico.

Prima di poter disabilitare BitLocker utilizzando il cmdlet Disable-BitLocker, è necessario rimuovere le chiavi di sblocco automatico. Il volume va specificato indicando la lettera di unità o un oggetto volume BitLocker.

Sintassi

Disable-BitLockerAutoUnlock
       [-MountPoint] <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
   

Parametri

-Confirm
Chiede conferma prima di eseguire il cmdlet.

-MountPoint
Specifica un array di lettere di unità o di oggetti volume BitLocker. Il cmdlet disabilita lo sblocco automatico per i volumi specificati. Per ottenere un oggetto volume BitLocker si può utilizzare il cmdlet Get-BitLockerVolume.  

-WhatIf
Mostra cosa accadrebbe se il cmdlet venisse eseguito. Il cmdlet non viene eseguito.

Esempi

Esempio 1
Disable-BitLockerAutoUnlock -MountPoint "E:"
Questo comando disabilita lo sblocco automatico per il volume BitLocker specificato.
Disable-BitLockerAutoUnlock
FIG 1 - Disable-BitLockerAutoUnlock