lunedì 15 agosto 2022

Windows 10: Riavviare il computer e visualizzare le opzioni di avvio avanzate

Quando il computer presenta problemi è possibile pianificare l'accesso alle opzioni di ripristino al successivo riavvio: 
  • Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui e digitare Shutdown.exe /r /o seguito da invio.
  • Entro un minuto il sistema verrà riavviato. Dopo il riavvio verranno viusalizzate le opzioni di avvio avanzate.
    Opzioni di avvio avanzate
    FIG 1 - Opzioni di avvio avanzate

  • Cliccando su Risoluzione dei problemi sarà possibile reimpostare il sistema o selezionare un'opzione avanzata
    Risoluzione dei problemi
    FIG 2 - Risoluzione dei problemi

    Risoluzione dei problemi, Opzioni avanzate
    FIG 3 - Risoluzione dei problemi, Opzioni avanzate





giovedì 11 agosto 2022

Microsoft Edge: Abilitare schede verticali

Per chi utilizza il browser Microsoft sui monitor widescreen può essere comodo attivare le schede verticali. 

Per attivare tale funzionalità basta seguire i seguenti passaggi:
  • Nella barra indirizzi di Edge digitare edge://settings/appearance
  • Scorrere la pagina verso il basso fino a trovare la voce Mostra le schede verticali per tutte le finestre dei browser correnti e attivarla cliccando su Abilita
    Microsoft Edge Settings Appearance
    FIG 1 - Microsoft Edge Settings Appearance

    Microsoft Edge Schede verticali
    FIG 2- Microsoft Edge Schede verticali

  • Per disattivarla basta cliccare sull'apposita icona e selezionare Disattiva schede verticali (o tramite la combinazione di tasti CTRL+SHIFT+,)
    Microsoft Edge Disattiva Schede verticali
    FIG 3 - Microsoft Edge Disattiva Schede verticali





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.