mercoledì 10 agosto 2022

Windows 10: Riavvio di emergenza

In alcune situazioni potrebbe essere necessario riavviare il sistema Windows con urgenza oppure potrebbe verificarsi la situazione in cui il sistema operativo non si riavvia normalmente. In questi casi si può fare ricorso al riavvio di emergenza: un opzione di alimentazione nascosta di Windows 10 che può essere utilizzata quando è necessario un riavvio immediato.

Il riavvio di emergenza rappresenta un'opzione migliore rispetto allo spegnimento forzato del sistema, infatti forzare lo spegnimento del sistema togliendo l'alimentazione (nel caso di PC desktop) o tenendo premuto il tasto di accensione finché il pc non si spegne, può causare danni al sistema. Durante un "riavvio di emergenza" il sistema operativo terminerà qualsiasi applicazione in esecuzione e non verrà visualizzato alcun messaggio di avviso per salvare il lavoro svolto, il che significa che tutti i dati non salvati andranno persi.

Per eseguire un riavvio di emergenza:
  • Premere la combinazione di tasti CTRL+ALT+CANC;
  • Nella pagina mostrata in FIG 1, tenere premuto il tasto CTRL e cliccare sull'icona dell'alimentazione in basso a destra;
    CTRL+ALT+CANC
    FIG 1 - CTRL+ALT+CANC

  • Confermare il riavvio di emergenza cliccato sul pulsante OK
    Riavvio di emergenza
    FIG 2 - Riavvio di emergenza





martedì 9 agosto 2022

PowerShell: Ottenere un elenco di tutti gli utenti di una specifica UO

Per visualizzare l'elenco di tutti gli utenti appartenenti ad una specifica unità organizzativa è possibile utilizzare un comando PowerShell simile al seguente
Get-ADUser -Filter * -SearchBase 'ou=utenti, ou=Direzione,dc=mycompany, dc=local'
Con questo comando andiamo a visualizzare tutti gli utenti presenti nell'unità organizzativa mycompany.local/Direzione/Utenti.
Elenco utenti appartenenti all'unità organizzativa
FIG 1 - Elenco utenti appartenenti all'unità organizzativa

Possiamo creare un semplice script che esporta l'elenco degli utenti, presenti nell'unità organizzativa specificata, all'interno di un file CSV
 $OUpath = 'ou=utenti, ou=Direzione,dc=mycompany, dc=local'  
 $ExportPath = 'c:\Temp\users_in_ou.csv'  
 Get-ADUser -Filter * -SearchBase $OUpath | Select-object DistinguishedName,Name,UserPrincipalName | Export-Csv -NoType $ExportPath  



lunedì 8 agosto 2022

Windows 11: Spostare la barra delle applicazioni

In Windows 11 non è più possibile spostare la barra delle applicazioni in altre posizioni. Microsoft ha giustificato tale scelta sottolineando che soltanto una sparuta minoranza di utenti sfruttasse tale possibilità.
Per ripristinare la funzionalità è necessario procedere tramite il registro di sistema:
  • 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\Windows\CurrentVersion\Explorer\StuckRects3
  • Eseguire un doppio click, con il tasto sinistro del mouse, sul valore binario Settings;
  • Selezionare il quinto valore della seconda riga, che per default contiene il valore 03 e modificarlo in 01;
    StruckRects3, Settings
    FIG 1 - StruckRects3, Settings

  • Confermare la modifica cliccando su OK.

A questo punto, per rendere effettiva la modifica, basta disconnettersi/riconnettersi al sistema oppure terminare e riavviare il processo explorer.exe.




domenica 31 luglio 2022

Windows 11: Ripristinare il menu contestuale "completo"

Il menu contestuale presente in Windows 11 viene visualizzato, per default, in forma ridotta. Il menu ridotto contiene solo le funzioni utilizzate più di frequente e non integra nessuna voce aggiuntiva dei software di terze parti (oltre al fatto che non può essere personalizzato facilmente dagli utenti). Secondo Microsoft ciò rende più semplice individuare le funzionalità desiderate evitando di doverle ricercare in un lungo elenco di voci aggiunte dai vari software.
Per visualizzare il menu completo bisogna compiere un ulteriore passaggio, selezionando la voce Mostra altre opzioni oppure tramite la combinazione di tasti SHIFT+F10.

Tramite una semplice modifica al registro di sistema è possibile ripristinare la visualizzazione dei menu contestuali completi:
  • 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\CLASSES\CLSID
  • Creare una nuova chiave e rinominarla in {86ca1aa0-34aa-4e8b-a509-50c905bae2a2}
  • All'interno della chiave appena creata, creare una nuova sottochiave (con lo stesso procedimento) e denominarla InprocServer32
  • Posizionarsi sulla nuova chiave, aprire la voce (Predefinito), verificare che il campo Dati valore sia vuoto e confermare cliccando su OK

Dopo aver riavviato il sistema (o terminato e riavviato il processo explorer.exe), i menu contestuali verranno visualizzati in forma completa.

In alternativa la modifica può essere eseguita tramite il prompt dei comandi. Con il comando
reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
Viene creata la chiave per visualizzare i menu contestuali in forma completa. Per ripristinare la modalità di visualizzazione standard di Windows 11 basta eseguire il comando
reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f





sabato 30 luglio 2022

Linux: Comando timeout

Il comando timeout fa parte del pacchetto GNU core utilities installato in quasi tutte le distribuzioni Linux e può essere utilizzato nel caso in cui si vuole eseguire un comando che non dispone di un'opzione di timeout incorporata.
L'utility a riga di comando timeout, infatti, consente di eseguire un comando specificato e terminarlo, se è ancora in esecuzione, dopo un determinato periodo di tempo. 

Sintassi

timeout [OPZIONI] DURATA COMMANDO [ARG]…

La DURATA può essere specificata con un numero intero positivo o un numero in virgola mobile, seguito da un suffisso opzionale di unità:
s - secondi (default)
m - minuti
h - ore
d - giorni

Se non viene specificata alcuna unità, l'impostazione predefinita è secondi. Se la durata è impostata a zero, il timeout associato è disabilitato.

Utilizzo di timeout

Di seguito viene mostrato, con alcuni semplici esempi, come può essere utilizzato il comando di timeout.

timeout 5 ping 8.8.8.8
Termina il comando ping dopo 5 secondi
Linux, timeout
FIG 1 - Linux, timeout

timeout 1.2m ping 8.8.8.8
Termina il comando ping dopo 1 minuto e 20 secondi

Per eseguire un comando che richiede privilegi elevati basta anteporre sudo al comando timeout.
sudo timeout 1.2m ping 8.8.8.8

Invio di uno specifico segnale

Se non viene specificato alcun segnale, il timeout invia il segnale SIGTERM al comando gestito quando viene raggiunto il limite di tempo. È possibile specificare quale segnale inviare utilizzando l'opzione -s (--signal).
Per visualizzare l'elenco di tutti i segnali disponibili si utilizza il comando
kill -l
kill, elenco segnali disponibili
FIG 2 - kill, elenco segnali disponibili


sudo timeout 1m -s SIGKILL ping 8.8.8.8
sudo timeout 1m -s 9 ping 8.8.8.8
I comandi sopra riportati inviano il segnale SIGKILL per terminare il comando ping dopo un minuto. Il segnale può essere specificato all'interno del comando indicando il nome (SIGKILL) oppure il numero corrispondente (9).

Forzare la chiusura del processo con l'opzione -k

SIGTERM può essere catturato o ignorato da alcuni processi. In queste situazioni, il processo continuerà a funzionare dopo l'invio del segnale di terminazione.
Per assicurarsi che il comando monitorato venga terminato, va utilizzata l'opzione -k (--kill-after) seguita da un periodo di tempo. In questo modo, dopo il raggiungimento del limite di tempo indicato, il comando di timeout invia il segnale SIGKILL al programma gestito che non può essere catturato o ignorato.

Nell'esempio seguente, timeout esegue il comando ping per un minuto e, se non viene terminato, lo termina dopo dieci secondi.
sudo timeout -k 10 1m ping 8.8.8.8

Return code

Il comando timeout restituisce, come codice di ritorno, 124 quando viene raggiunto il limite di tempo, in caso contrario viene restituito il codice di ritorno del comando gestito.

Per visualizzare il return code del comando anche quando viene raggiunto il limite di tempo, si  utilizza l'opzione --preserve-status:
timeout --preserve-status 10 ping 8.8.8.8

Eseguire il comando in primo piano

Per impostazione predefinita, il timeout esegue il comando gestito in background. Per eseguire il comando in primo piano si utilizza l'opzione --foreground:
timeout --foreground 3m ./scriptfile.sh

Questa opzione è utile quando si vuole eseguire un comando interattivo che richiede l'input dell'utente.



venerdì 29 luglio 2022

MS Outlook: Modificare il limite per l'elenco di completamento automatico

Come accennato nell'articolo MS Outlook: Abilitare/Disabilitare il completamento automatico, il numero di elementi contenuti nell'elenco di completamento automatico è limitato.

I limiti per le diverse versioni di Outlook sono i seguenti:
Outlook 2019: 1.000 elementi
Outlook 2016: 1.000 elementi
Outlook 2013: 1.000 elementi
Outlook 2010: 1.000 elementi
Outlook 2007: 2.000 elementi
Outlook 2003: 1.000 elementi

Agendo tramite il registro di sistema è possibile, anche se non consigliabile, modificare tale limite:
  • Chiudere Outlook;
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi su
    HKEY_CURRENT_USER\Software\Microsoft\Office\<x.x>\Outlook\AutoNameCheck
    dove al posto di <x.x> va specificata la versione di Microsoft Office in uso
    - Outlook 2019 = 16.0
    - Outlook 2016 = 16.0
    - Outlook 2013 = 15.0
    - Outlook 2010 = 14.0
    - Outlook 2007 = 12.0
    - Outlook 2003 = 11.0 
    Se la chiave AutoNameCheck non è presente, crearla manualmente e selezionarla
  • Creare, se non presente, un nuovo valore DWORD (32 bit) con nome MaxNickNames
  • Assegnare a MaxNickNames il valore, in formato decimale, desiderato (ad es. inserire 1200, in formato decimale, per portare il limite a 1200 elementi).
    Regedit, MaxNickNames
    FIG 1 - Regedit, MaxNickNames

  • Avviare Outlook.

MaxNickNames può essere utilizzato anche per ridurre il numero di elementi memorizzato dal completamento automatico specificando un valore inferiore.





giovedì 21 luglio 2022

MS Outlook: Abilitare/Disabilitare il completamento automatico

La funzionalità di completamento automatico, fornita dal client di posta MS Outlook, viene utilizzata sia per il controllo automatico dei nomi sia per il completamento automatico del nome durante la digitazione. L'elenco viene aggiornato automaticamente quando si inviano messaggi e-mail da Outlook ed è composto da indirizzi SMTP, voci LegacyExchangeDN e nomi visualizzati per gli utenti a cui sono stati precedentemente inviati messaggi e-mail. L'elenco di completamento automatico di Outlook non è in condivisione con Outlook Web App (OWA): OWA gestisce un proprio elenco di completamento automatico.

Il numero massimo di elementi presenti all'interno del completamento automatico è limitato:
Outlook 2019: 1.000 elementi
Outlook 2016: 1.000 elementi
Outlook 2013: 1.000 elementi
Outlook 2010: 1.000 elementi
Outlook 2007: 2.000 elementi
Outlook 2003: 1.000 elementi

Una volta raggiunto il limite, Outlook utilizza un algoritmo interno basato sul coefficiente di utilizzo per stabilire quali elementi rimuovere dall'elenco.

Abilitare/Disabilitare il completamento automatico da GUI

  • Dal menu File di Outlook cliccare su Opzioni;
  • Nella finestra Opzioni Outlook selezionare la scheda Posta (sul lato sinistro della finestra);
  • Scorrere l'elenco delle impostazioni fino alla sezione Invio messaggi;
  • Selezionare/deselezionare la casella "All'immissione di testo nelle righe A, Cc e Ccn, usa l'elenco di completamento automatico per suggerire i nomi" per abilitare/disabilitare la funzionalità di completamento automatico.
    MS Outlook, Completamento automatico
    FIG 1 - MS Outlook, Completamento automatico

Abilitare/Disabilitare il completamento automatico tramite registro di sistema

  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi su
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Preferences
  • Creare, se non presente, un nuovo valore DWORD (32 bit) con nome ShowAutoSug;
  • Assegnare a ShowAutoSug il valore 0 per disattivare il completamento automatico oppure 1 per attivarlo.
    Regedit, ShowAutoSug
    FIG 2 - Regedit, ShowAutoSug

  • Riavviare Outlook.

Di seguito è possibile scaricare i file .reg per Abilitare/Disabilitare il completamento automatico di Outlook