Visualizzazione post con etichetta Windows. Mostra tutti i post
Visualizzazione post con etichetta Windows. Mostra tutti i post

mercoledì 25 giugno 2025

Windows: Elencare i programmi installati

Spesso ci si trova nella necessità di sapere con precisione quali software siano installati sul proprio sistema Windows: che sia per manutenzione, migrazione dati o semplice curiosità, avere un elenco completo può rivelarsi estremamente utile. Fortunatamente, Windows mette a disposizione un comando potente e poco conosciuto: WMIC (Windows Management Instrumentation Command-line).

Con un semplice comando da terminale, è possibile ottenere l’elenco di tutti i programmi installati. Per visualizzarli direttamente a schermo, è sufficiente aprire il Prompt dei comandi (cmd) e digitare:
wmic product get name

Il sistema restituirà una lista completa dei software presenti sul computer.

Se invece si desidera esportare l'elenco in un file CSV, utile per archiviarlo, condividerlo o elaborarlo successivamente con Excel o un editor di testo, si può utilizzare il comando:
wmic /output:C:\SWInstallati.csv product get name,version /format:csv

WMIC, Elenco dei software installati
FIG 1 - WMIC, Elenco dei software installati


Per ottenere maggiori informazioni su ciacun software installato utilizzare il comando
wmic /output:C:\SWInstallati.csv product get /format:csv

Questo comando creerà un file chiamato SWInstallati.csv nella directory radice del disco C:, contenente il nome e la versione di ciascun programma installato. Importando il file CSV in un foglio di calcolo come Excel, verranno visualizzati i dettagli di ciascun software installato come mostrato in FIG 2.
File CSV
FIG 2 - File CSV



Visualizzare l'elenco dei programmi installati tramite PowerShell

Va detto che WMIC è uno strumento ormai deprecato nelle versioni più recenti di Windows. In alternativa, è possibile utilizzare PowerShell con questo comando:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion | Format-Table -AutoSize
PowerShell, Elenco dei software installati.png
FIG 3 - PowerShell, Elenco dei software installati.png


Oppure, per esportare l’elenco in un file:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion | Export-Csv C:\SWInstallati.csv -NoTypeInformation

Come visto per WMIC per visualizzare più informazioni per ciascun software è possibile utilizzare il comando
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Export-Csv C:\SWInstallati.csv -NoTypeInformation






sabato 14 giugno 2025

Windows: Eliminare la cronologia delle cartelle recenti di Esplora file

Esplora File, uno strumento onnipresente e fondamentale per ogni utente Windows, incorpora una funzionalità di archiviazione automatica delle cartelle aperte di recente, simile alla cronologia di navigazione dei browser come Microsoft Edge. Questa caratteristica, progettata per facilitare un accesso rapido e intuitivo alle directory più frequentate, si rivela estremamente utile nell'uso quotidiano, velocizzando le operazioni e migliorando l'efficienza. Tuttavia, con il passare del tempo, un elenco eccessivamente lungo di percorsi recenti può trasformarsi da risorsa a ostacolo, diventando disordinato e meno funzionale. Inoltre, la persistenza di questa cronologia può sollevare preoccupazioni significative in termini di privacy, rivelando abitudini e accessi a directory sensibili a chiunque abbia accesso al computer.

Eliminare la cronologia delle cartelle recenti

Mantenere Esplora File pulito, ordinato e sicuro è un'operazione semplice che richiede pochi passaggi.

Windows 10:

  1. Aprire Esplora File.
  2. Cliccare sulla scheda Visualizza nel menu superiore.
  3. Selezionare Opzioni.
  4. Nella finestra di dialogo che si apre, nella sezione Privacy della scheda Generale, cliccare su Cancella per eliminare l'intera cronologia delle cartelle recenti.
    Windows 10, Opzioni cartella
    FIG 1 - Windows 10, Opzioni cartella

Windows 11:

  1. Aprire Esplora File.
  2. Cliccare sui tre puntini orizzontali (Visualizza altre info) nella barra degli strumenti per accedere al menu contestuale.
  3. Selezionare Opzioni.
  4. Nella finestra di dialogo che si apre, nella sezione Privacy scheda Generale, cliccare su Cancella accanto a Cancella cronologia di Esplora File.

    Windows 11, Opzioni cartella
    FIG 2 - Windows 11, Opzioni cartella

Disattivazione Completa della Registrazione

Per coloro che desiderano una maggiore riservatezza e preferiscono disattivare completamente la registrazione delle cartelle e dei file visitati, è possibile intervenire sulle impostazioni di visibilità.

Windows 10:

Nella stessa finestra delle Opzioni cartella (raggiungibile come descritto sopra) deselezionare le voci

  • Mostra file usati di recente in Accesso rapido
  • Mostra cartelle usate di recente in Accesso rapido

Windows 10, Opzioni cartella, Privacy
FIG 3 - Windows 10, Opzioni cartella, Privacy


Windows 11:

Anche qui, le opzioni sono state leggermente rietichettate per maggiore intuitività:

  • Deselezionate la voce Mostra file usati di recente.
  • Deselezionate la voce Mostra cartelle usate di frequente.
  • Per un livello di riservatezza ancora maggiore, è consigliabile disabilitare anche la voce Mostra i file da Office.com, che potrebbe esporre l'accesso a documenti recenti legati alla suite Office.
Windows 11 - Opzioni cartella, Privacy
FIG 4 - Windows 11, Opzioni cartella, Privacy








mercoledì 11 giugno 2025

Windows: Confrontare due cartelle

Confrontare due cartelle può essere utile in molteplici situazioni: verificare le differenze tra backup, individuare file mancanti o duplicati, o analizzare modifiche tra due versioni di una directory. L'operazione può essere eseguita in molteplici modi. In questo articolo verranno mostrati solo alcuni modi semplici.

Confronto visivo con Esplora File di Windows

Un metodo semplice e immediato per confrontare due cartelle è utilizzare l’opzione Proprietà in Esplora file. Questo approccio consente di avere rapidamente una panoramica dei principali attributi di ciascuna cartella, come:
  • Numero di file;
  • Dimensioni totali;
  • Numero di sottocartelle;
  • Data di creazione.
I passaggi da eseguire sono :
  1. Aprire Esplora file cliccando sull'apposito collegamento o premendo la combinazione di tasti WIN+E.
  2. Individuare la prima cartella da confrontare. Cliccare con il pulsante destro del mouse sulla cartella e selezionare ProprietàLasciare aperta la finestra Proprietà della prima cartella.
  3. Ripetere il procedimento per la seconda cartella.
  4. Affianca le due finestre Proprietà per confrontare facilmente le informazioni.
Proprietà cartelle
FIG 1 - Proprietà cartelle


Questo metodo presenta il vantaggio di essere rapido e intuitivo, ideale per confronti veloci e non richiede l'installazione di software aggiuntivi. Tuttavia non fornisce dettagli sui file specifici, come nomi o contenuti differenti.


Confronto con il Prompt dei Comandi
Per chi preferisce un approccio più tecnico, il Prompt dei comandi offre una soluzione efficace tramite il comando robocopy. Questo metodo permette di confrontare due cartelle analizzando le differenze tra i file senza eseguire alcuna copia.

Procedura:
  1. Aprire il Prompt dei comandi cercandolo nel menu Start.
  2. Digitare ed eseguire il comando seguente, sostituendo Cartella1 e Cartella2 con i percorsi effettivi delle cartelle che si intende confrontare: 
    robocopy "Cartella1" "Cartella2" /L /NJH /NJS /NP /NS 
    /L: Simula l’operazione senza copiare file. 
    /NJH: Nasconde l’intestazione. 
    /NJS: Nasconde il riepilogo. 
    /NP: Disattiva la visualizzazione della percentuale. 
    /NS: Nasconde le dimensioni dei file.
Robocopy
FIG 1 - Robocopy
Il Prompt dei comandi mostrerà un elenco delle differenze tra le due cartelle. L'utilizzo di tale comando non richiede l'installazione di software aggiuntivi ed è l'ideale per chi preferisce lavorare con la riga di comando. L'output può risultare poco intuitivo per gli utenti meno esperti



Per un'analisi dettagliata e visiva è necessario ricorrere a strumenti di terze parti come il software Open Source WinMerge. Questo software consente di confrontare due cartelle e visualizzare le differenze nei minimi dettagli.




venerdì 31 gennaio 2025

Windows: Impostare un Timeout per lo spegnimento dello schermo dal Prompt dei Comandi

Bloccare il computer quando ci si allontana dalla postazione è una delle regole fondamentali della sicurezza informatica. Proteggere i dati da accessi non autorizzati, anche per brevi periodi di assenza, è essenziale per evitare spiacevoli sorprese. 
Il PC può essere bloccato manualmente dall'utente in diversi modi ad esempio tramite la combinazione WIN+L, tramite il comando Rundll32.exe user32.dll,LockWorkStation oppure premendo CTRL+ALT+CANC e selezionando BLOCCA.  

Oltre a bloccare il computer potremmo impostare un timeout che spenga lo schermo quando non viene rilevata alcuna attività riducendo, in questo modo, il consumo energetico.

Il timeout per lo spegnimento dello schermo può essere impostato utilizzando il Prompt dei comandi attraverso i seguenti passaggi:
  1. Aprire il Prompt dei comandi come amministratore.
    - Digitare CMD nella barra di ricerca di Windows.
    - Cliccare con il tasto destro su Prompt dei comandi e selezionare l’opzione Esegui come amministratore.

  2. Eseguire il comando per impostare il timeout.
    Utilizzare il seguente comando per configurare il tempo di attesa (in secondi) prima che il monitor si spenga
    powercfg.exe /SETACVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOCONLOCK <tempo>
    Sostituire <tempo> con il numero di secondi desiderati. Ad esempio, per impostare un timeout di 5 minuti (300 secondi), il comando sarà
    powercfg.exe /SETACVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOCONLOCK 300
    VIDEOCONLOCK determina dopo quanto tempo il monitor viene spento quando il pc si trova nella schermata di blocco.
    Se si intende spegnere il monitor dopo un determinato periodo di inattività con il pc non bloccato si utilizza il comando 
    powercfg.exe /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE <tempo>
    VIDEOIDL consente di stabilire il tempo di inattività dopo il quale il monitor si spegne quando il pc non è nella schermata di blocco.

  3. Impostare il timeout per la batteria.
    Se il PC è alimentato a batteria, vanno utilizzati i seguenti comandi al posto di quelli precedenti
    powercfg.exe /SETDCVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOCONLOCK <tempo>
    powercfg.exe /SETDCVALUEINDEX SCHEME_CURRENT SUB_VIDEO VIDEOIDLE <tempo>

  4. Attivare la configurazione.
    Per rendere effettive le modifiche, esegui il comando
    powercfg.exe /SETACTIVE SCHEME_CURRENT
    Questo comando assicura che le impostazioni appena definite vengano applicate correttamente.

    Blocca schermo
    FIG 1 - Blocca schermo


I timeout per lo spegnimento dello schermo possono essere configurati anche tramite GUI tuttavia il Prompt dei comandi offre un maggiore controllo e una personalizzazione più avanzata. È particolarmente utile per gli utenti esperti, gli amministratori di sistema o chiunque voglia imparare ad automatizzare alcune attività legate alla sicurezza del proprio PC.




domenica 26 gennaio 2025

Windows: Svuotare la Cache degli Aggiornamenti in Windows 10 e Windows 11

Svuotare la cache degli aggiornamenti in Windows 10 e Windows 11 è un'operazione semplice ma importante per mantenere il sistema operativo efficiente e risolvere eventuali problemi legati agli aggiornamenti. 

La cache degli aggiornamenti di Windows è una cartella in cui vengono memorizzati temporaneamente i file relativi agli update del sistema. I file temporanei accumulati nella cache possono diventare obsoleti o corrompersi e causare errori, rallentamenti o fallimenti durante i processi di aggiornamento del sistema operativo oltre ad occupare spazio prezioso sul disco rigido. 

Svuotare la cache non solo elimina i file problematici, ma costringe Windows a scaricare da zero i file aggiornati, risolvendo così eventuali problemi e liberando anche spazio di archiviazione sul disco (i file temporanei possono occupare una quantità considerevole di spazio).

Per svuotare la cache degli aggiornamenti è possibile procedere in diversi modi.

Metodo 1 - Svuotare la cache tramite Esplora file

  1. Aprire i servizi di Windows:
    - Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui.
    - Digitare services.msc e premere Invio.

    Esegui services.msc
    FIG 1 - Esegui services.msc

  2. Arrestare il servizio Windows Update:
    - Nella finestra dei servizi, cercare Windows Update, cliccarci su con il tasto destro del mouse e selezionare Arresta

    Arresta servizio Windows Update
    FIG 2 - Arresta servizio Windows Update

  3. Accedere alla cartella della cache:
    - Tornare alla finestra Esegui premendo WIN+R e digitare C:\Windows\SoftwareDistribution\ seguito da Invio.
    Esegui
    FIG 3 - Esegui

    - Si aprirà la cartella dove sono archiviati i file temporanei degli aggiornamenti. 

  4. Eliminare i file:
    - Seleziona tutti i file (CTRL+A)
    Cartella SoftwareDistribution
    FIG 4 - Cartella SoftwareDistribution

    - premere la combinazione di tasti SHIFT+CANC e rispondere affermativamente alla richiesta di conferma di eliminazione definitiva dei file.

    Conferma eliminazione
    FIG 5 - Conferma eliminazione

  5. Riavviare il servizio Windows Update:
    - Tornare alla finestra dei servizi, cliccare con il tasto destro del mouse sul servizio Windows Update e selezionare Avvia.


Metodo 2 -  Svuotare la cache tramite il Prompt dei comandi

  1. Aprire il Prompt dei comandi come amministratore: 
    -Cercare Prompt dei comandi nel menu Start, cliccarci su con il tasto destro del mouse e selezionare Esegui come amministratore
  2. Arrestare i servizi necessari:
    - Digitare i seguenti comandi, premendo Invio dopo ciascuno
    net stop wuauserv
    net stop bits
  3. Accedere alla cartella della cache:
    - Usare il comando seguente per accedere alla directory della cache
    cd %windir%\SoftwareDistribution
  4. Eliminare i file della cache:
    - Digitare il seguente comando per eliminare tutti i file
    del /f /s /q *.*
  5. Riavviare i servizi:
    - Dopo aver svuotato la cache, riattivare i servizi digitando
    net start wuauserv
    net start bits


Automatizzare il processo con uno script batch

Se l'operazione di svuotamento cache degli aggiornamenti viene eseguita frequentemente, è possibile semplificare il lavoro creando uno script batch che esegue automaticamente tutti i passaggi.  
Ecco un esempio di script:  

@echo off
net stop wuauserv
net stop bits
cd %windir%\SoftwareDistribution
del /f /s /q *.*
net start wuauserv
net start bits
echo Cache svuotata con successo!
pause

Basta salvare questo codice in un file di testo con estensione .bat e avviarlo come amministratore per eseguire l’operazione in pochi secondi.






martedì 10 settembre 2024

Microsoft Office: Ripristinare l'icona Mail nel Pannello di Controllo di Windows

Può capitare che, nonostante MS Office sia correttamente installato, l'icona Mail all'interno del Pannello di controllo di Windows non sia quella corretta e/o cliccandoci su viene visualizzato un errore.

Pannello di Controllo, Icona Mail errata
FIG 1 - Pannello di Controllo, Icona Mail errata

Errore nell'esecuzione di Mail da Pannello di controllo
FIG 2 - Errore nell'esecuzione di Mail da Pannello di controllo


Il primo passo consiste nel verificare se il file MLCFG32.CPL sia presente e provare ad eseguirlo. Il file generalmente si trova in
C:\Program Files (x86)\Microsoft Office\root\Office16 per le versioni 32 bit di MS Office 
oppure in
C:\Program Files\Microsoft Office\root\Office16 per le versioni a 64 bit di MS Office

Se il file è presente, provare a lanciarlo con il seguente comando (assicurarsi che il percorso sia corretto per la versione di Office installata)
Per MS Office 32 bit
"C:\Program Files (x86)\Microsoft Office\root\Client\AppVLP.exe" rundll32.exe shell32.dll,Control_RunDLL "C:\Program Files (x86)\Microsoft Office\root\Office16\MLCFG32.CPL"
Per MS Office 64 bit
"C:\Program Files\Microsoft Office\root\Client\AppVLP.exe" rundll32.exe shell32.dll,Control_RunDLL "C:\Program Files\Microsoft Office\root\Office16\MLCFG32.CPL"

Se, eseguendo il comando, appare la finestra di dialogo "Impostazioni di posta", è possibile proseguire con i prossimi passaggi. Prima di procedere alla modifica del registro di sistema è bene eseguire un backup.

Impostazioni di posta
FIG 3 - Impostazioni di posta


Ripristino icona

Per ripristinare l'icona Mail nel Pannello di controllo bisogna correggere il percorso dell'icona nel registro di sistema. L'icona è contenuta all'interno del file MLCFG32.CPL.
  • Avviare l'Editor del registro di sistema (WIN+R e digitare regedit seguito da invio).
  • Posizionarsi su una delle seguenti chiavi di registro a seconda della versione di Windows e MS Office
    Per Windows a 64 bit e MS Office 64 bit o per Windows e MS Office a 32 bit
    HKEY_CLASSES_ROOT\CLSID\{A0D4CD32-5D5D-4f72-BAAA-767A7AD6BAC5}\DefaultIcon
    Per Windows a 64 bit e MS Office a 32 bit
    HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{A0D4CD32-5D5D-4f72-BAAA-767A7AD6BAC5}\DefaultIcon
  • Cliccare due volte sul valore Predefinito e assegnargli uno dei seguenti valori a seconda della versione di Office
    MS Office 32 bit
    C:\Program Files (x86)\Microsoft Office\root\Office16\MLCFG32.CPL,0
    MS Office 64 bit
    C:\Program Files\Microsoft Office\root\Office16\MLCFG32.CPL,0
DefaultIcon
FIG 4 - DefaultIcon


Correzione del Comando per avviare Mail

  • Sempre all'interno dell'Editor del registro di sistema posizionarsi sulla seguente chiave di registro
    Per Windows a 64 bit e MS Office a 32 bit
    HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{A0D4CD32-5D5D-4f72-BAAA-767A7AD6BAC5}\shell\open\command
    Per Windows a 64 bit e MS Office 64 bit o per Windows e MS Office a 32 bit
    HKEY_CLASSES_ROOT\CLSID\{A0D4CD32-5D5D-4f72-BAAA-767A7AD6BAC5}\shell\open\command
  • Cliccare due volte sul valore Predefinito e assegnargli uno dei seguenti valori a seconda della versione di Office
    Office 32 bit
    "C:\Program Files (x86)\Microsoft Office\root\Client\AppVLP.exe" rundll32.exe shell32.dll,Control_RunDLL "C:\Program Files (x86)\Microsoft Office\root\Office16\MLCFG32.CPL"
    Office 64 bit
    "C:\Program Files\Microsoft Office\root\Client\AppVLP.exe" rundll32.exe shell32.dll,Control_RunDLL "C:\Program Files\Microsoft Office\root\Office16\MLCFG32.CPL"
Command
FIG 5 - Command



Solitamente questi problemi capitano dopo aggiornamenti importanti di Office, specialmente durante il passaggio da versioni precedenti come Office 2013 a Office 365 Pro Plus.

Se dopo aver eseguito questi passaggi i problemi persistono, potrebbe essere necessario reinstallare completamente Office oppure contattare il supporto Microsoft per ulteriore assistenza.




domenica 30 giugno 2024

Curiosità Windows: Calcolatrice Standard

Nella calcolatrice Standard di Windows 10/11 l'angolo in cui i tasti 8 e 9 si uniscono ai tasti precedenti è spostato lateralmente di un pixel.

Calcolatrice Standard
FIG 1 - Calcolatrice Standard

Adesso che lo sapete non potrete fare a meno di notarlo.

Angolo tasti calcolatrice
FIG 2 - Angolo tasti calcolatrice



martedì 16 aprile 2024

Windows: Modificare la password dal terminale

Utilizzando il comando di Windows net user, è possibile modificare le password degli account utente del pc dalla finestra del terminale (o prompt dei comandi) senza dover navigare attraverso i menu di impostazione.
Prima di procedere con la modifica della password è necessario tener presente alcuni dettagli:
  • Per utilizzare il comando net user, è necessario accedere con un account amministratore;
  • Il comando può essere utilizzato per modificare la password del proprio account e/o di quella degli altri utenti;
  • Non è necessario conoscere la vecchia password dell'account;
  • Il comando net user consente solo di modificare la password dell'account locale.

L'utilizzo del comando è molto semplice: dalla finestra terminale avviata come amministratore (o dal prompt dei comandi sempre eseguito come amministratore) basta digitare il comando
net user USERNAME PASSWORD
seguito da invio, ovviamente sostituendo USERNAME con il nome dell’utente e PASSWORD con la nuova password da utilizzare. Se il nome utente contiene uno spazio è necessario racchiuderlo tra virgolette.
Ad esempio, per cambiare la password dell'utente "Giovanni Lubrano" (con uno spazio nel nome) con la nuova password "password456" il comando da eseguire sarà
net user "Giovanni Lubrano" password456

Cambio password con net user
FIG 1 - Cambio password con net user

Per evitare di visualizzare la password in chiaro all'interno del terminale è possibile utilizzare il comando
net user USERNAME *
In questo modo, il sistema richiederà di inserire e confermare (reinserire) la nuova password senza visualizzare sullo schermo i caratteri digitati. Utile nel caso in cui ci si trova in un luogo pubblico affollato o con persone alle nostre spalle.

Per visualizzare l'elenco di tutti gli account locali configurati nel sistema è possibile eseguire il comando
net user

Net user
FIG 2 - Net user





domenica 31 marzo 2024

Windows: Visualizzare la versione del runtime Java da riga di comando

In ambiente Windows, Windows 11 o antecedenti, esistono diversi metodi per identificare la versione di Java installata sul sistema. Tuttavia, se sono installate più versioni di Java, potrebbe non essere così immediato individuare quale versione venga utilizzata dal sistema per l'esecuzione di un file Jar. 

Il modo più affidabile per determinare la versione di Java in uso è tramite il Terminale (in Windows 10 e antecedenti, il Prompt dei comandi o Windows PowerShell ):
  • Premere la combinazione di tasti Win+X per accedere al menu Power User e selezionare Terminale dall'elenco (Prompt dei comandi o Windows PowerShell in Windows 10).
  • Nella finestra Terminale digitare il comando java -version e premere Invio.  La versione di Java verrà mostrata direttamente sotto il comando inserito.
    Versione Java
    FIG 1 - Versione Java

martedì 6 febbraio 2024

Windows: Verificare il supporto di DirectStorage

DirectStorage è una tecnologia introdotta da Microsoft che mira a migliorare i tempi di caricamento nei videogiochi sui dispositivi compatibili. Questa tecnologia, inizialmente incorporata nelle console Xbox Series X/S, è stata successivamente resa disponibile per Windows 11 e Windows 10

DirectStorage è un'API all'interno della famiglia DirectX (precisamente le DirectX 12 Ultimate) che permette di bypassare quasi completamente la CPU, mettendo in comunicazione diretta lo storage moderno, ossia gli SSD NVMe, con la GPU e la memoria a bordo della scheda video.

In genere, le risorse dei giochi devono essere caricate dall'unità SSD, inviate alla RAM e quindi decompresse dalla CPU prima di passare alla scheda grafica per il rendering. Questo comporta un carico sulla CPU e un rallentamento del sistema che si traduce in un'esperienza scadente.
L'API DirectStorage cambia le cose spostando il carico di decompressione dalla CPU alla GPU. Questo accelera il processo in quanto i file decompressi dalla GPU si trovano già sulla scheda grafica. L'API, inoltre, suddivide le risorse in batch, consentendo l'esecuzione di più richieste di elaborazione contemporaneamente.

Microsoft ha dichiarato che questo potrebbe ridurre il carico sulla CPU fino al 40%, il che potrebbe migliorare l'esperienza complessiva del gioco.

Per sfruttare DirectStorage è necessario disporre di un’unità Ssd Nvme con interfaccia PCIe 3.0 (o superiore) e una scheda grafica compatibile con DirectX 12 Ultimate. In passato, veniva richiesto anche un'unità Nvme da 1 terabyte, ma questo requisito è stato eliminato dalle specifiche ufficiali di DirectStorage, aprendo alla possibilità di utilizzare unità di archiviazione di capacità inferiore.


Per verificare se il proprio PC Windows supporta DirectStorage:
  • Premere la combinazione di tasti WIN+G per aprire la Xbox Game Bar.
  • Cliccare sull'icona delle impostazioni (l'icona a forma di ingranaggio).
  • Nella finestra Impostazioni selezionare Funzionalità di gioco e controllare le informazioni relative al supporto DirectStorage da parte della Gpu, del sistema operativo e delle unità di storage.
DirectStorage
FIG 1 - DirectStorage

Windows non offre un’opzione per attivare o disattivare DirectStorage: se il PC e i giochi soddisfano i requisiti, la funzione sarà attivata automaticamente. Al momento solo un numero limitato di giochi supporta DirectStorage.






domenica 14 gennaio 2024

Windows: Ripristinare i permessi degli utenti

La possibilità di poter reimpostare le autorizzazioni dell'utente in ambiente Windows può rivelarsi preziosa per risolvere problemi relativi all’accesso ad applicazioni o a documenti. Ad esempio, nel caso in cui si verifichino problemi con il profilo utente, potremmo non riuscire più ad accedere a particolari file o ad avviare alcune applicazioni in quanto non siamo autorizzati. Oppure potremmo dover accedere a un file proveniente da un vecchio backup o da un altro computer e che quindi è stato creato con un utente diverso; anche in questo caso, potrebbe non essere possibile accedere al file senza prima reimpostare le autorizzazioni utente di default. Windows offre diverse modalità per eseguire questa operazione. In questo articolo verrà mostrato come farlo tramite gli strumenti icacls e secedit.

ICACLS

Icacls è il sostituto di cacls (Change Access Control Lists), un'utilità a riga di comando che consente di mostrare ed eseguire alcune operazioni sulle ACL di file o directory.
L'ACL (Access Control List) è un elenco di permessi per un oggetto del filesystem e definisce il modo in cui la sua sicurezza viene controllata gestendo chi e come può accedervi.

Le operazioni sulle ACL non sono le uniche possibili con questo strumento. Ciò che rende icacls uno strumento potente è anche la possibilità di eseguire operazioni di backup e ripristino su ACL per file o directory, o di cercare i file che hanno un utente specifico come proprietario. Inoltre, nel caso in cui una ACL venga danneggiata o distrutta, con icacls è possibile ripristinarla resettandola e impostando i permessi predefiniti o ereditando quelli del genitore.

Icacls è un comando nativo di Windows a partire da Windows Vista.

Supponiamo di avere una pendrive contenente una cartella Backup a cui non riusciamo ad accedere per la mancanza di autorizzazioni.
Provando ad accedere alla cartella verrà visualizzato il messaggio di FIG 1
FIG 1
Non si dispone della autorizzazioni necessarie
FIG 1 - Non si dispone della autorizzazioni necessarie


In questi casi possiamo provare ad eseguire il reset delle autorizzazioni tramite icacls:
  • Avviare un prompt dei comandi come amministratore.
  • Posizionarsi sulla pendrive, quindi digitare il seguente comando per il ripristino delle autorizzazioni
    icacls * /t /q /c /reset
    il carattere jolly (*) include tutte le sottocartelle della directory corrente;
    /t estende la modifica alle sottocartelle e ai file all’interno della cartella corrente;
    /q esegue il comando senza visualizzare messaggi di conferma;
    /c consente di continuare l’operazione anche in caso di errori;
    /reset, infine, ripristina i valori predefiniti delle opzioni di autorizzazione.
    Accesso negato
    FIG 2 - Accesso negato

  • Se, come in questo caso, il comando dovesse restituire il messaggio di Accesso negato è necessario acquisire prima la proprietà delle cartelle interessate attraverso il comando takeown. Eseguire il comando
    takeown /R /F *
    quindi digitare S seguito da Invio per confermare la sostituzione delle autorizzazioni. Il parametro /R esegue un'operazione ricorsiva su tutti i file nella directory e nelle sottodirectory specificate, mentre /F permette di specificare il nome file o nome della directory (il carattere jolly permette di includere tutti i file e le sottocartelle della directory corrente).


Secedit

Secedit (Security Configuration Editor) è un’utilità di sistema integrata in Windows che consente di configurare e analizzare la sicurezza del sistema, dei file e delle cartelle.  Con secedit è possibile applicare e modificare set di regole di sicurezza definite tramite appositi modelli: file in formato .inf o .sdb. I file .inf sono file testuali editabili con un comune editor di testo, mentre i file .sdb sono veri e propri database.

Generalmente il comando viene utilizzato dagli amministratori di sistema per automatizzare la gestione delle politiche di sicurezza del sistema operativo o per ripristinare le impostazioni predefinite di Windows. Il comando va utilizzato con attenzione e può essere utile nei casi in cui il sistema operativo Microsoft non risponde più come dovrebbe per via dei permessi non assegnati in modo corretto. Ad esempio, sui sistemi windows che non permettono l'accesso alle cartelle (comprese quelle di sistema) e/o sui sistemi che sembrano sprovvisti di account amministrativi in grado di compiere operazioni con privilegi elevati.

Per riportare le impostazioni predefinite di tutte le autorizzazioni utente tramite il comando Secedit:
  • Avviare un prompt dei comandi come amministratore.
  • Eseguire il comando
    secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
    per procedere alla riconfigurazione automatica utilizzando le direttive contenute nel file di configurazione defltbase.inf e creando poi il database di sicurezza defltbase.sdb per archiviare le impostazioni.
  • Al termine, bisognerà riavviare il computer e le autorizzazioni utente verranno ripristinate alle impostazioni di sistema predefinite.




domenica 3 dicembre 2023

PowerShell: Impedire il blocco del computer o l'attivazione screensaver a seguito inattività

Dopo un periodo di inattività, Windows provvede ad attivare lo screensaver e/o a bloccare il computer. Tale comportamento può essere personalizzato tramite le impostazioni del sistema operativo tuttavia, in alcuni contesti, potrebbe essere utile disporre di uno script PowerShell che faccia credere a Windows che il sistema sia in uso e impedire il blocco o la visualizzazione dello screensaver. Si pensi ad esempio ai PC aziendali per i quali l'accesso alle impostazioni è inibito all'utente, oppure per un attività temporanea da eseguire sul pc e (per pigrizia) non si intendono modificare le impostazioni del sistema.
PowerShell

In questi casi possiamo utilizzare il metodo SendKeys per simulare la pressione di un tasto da parte dell'utente. Uno semplice script potrebbe essere il seguente
 # Crea un oggetto Wscript.Shell che consente di accedere alla shell di Windows  
 $WShell = New-Object -com "Wscript.Shell"  
 # Ciclo infinito. Per interromperlo premere CTRL+C o chiudere la finestra  
 while ($true)  
 {  
  # Simula la pressione del tasto Bloc Scorr   
  # Il tasto viene premuto 2 volte per riportare lo stato di Bloc Scorr a quello iniziale  
  $WShell.SendKeys("{SCROLLLOCK}")  
  Start-Sleep -Milliseconds 100  
  $WShell.SendKeys("{SCROLLLOCK}")  
  # Attendo 5 minuti  
  Start-Sleep -Seconds 300  
 }   
Per specificare i caratteri che non vengono visualizzati quando si preme un tasto, come INVIO o TAB, e i tasti che rappresentano azioni anziché caratteri, è possibile  utilizzare i codici della seguente tabella.
Tasto Codice
BACKSPACE
{BACKSPACE}, {BS}, {BKSP}
PAUSA
{BREAK}
CAPS LOCK
{CAPSLOCK}
CANC
{DELETE}, {DEL}
FRECCIA GIU'
{DOWN}
FINE
{END}
INVIO
{ENTER}, ~
ESC
{ESC}
HELP
{HELP}
HOME
{HOME}
INS
{INSERT}, {INS}
FRECCIA SX
{LEFT}
BLOC NUM
{NUMLOCK}
PAG GIU'
{PGDN}
PAG SU'
{PGUP}
STAMP
{PRTSC}
FRECCIA DX
{RIGHT}
BLOC SCORR
{SCROLLLOCK}
TAB
{TAB}
FRECCIA SU'
{UP}
F1
{F1}
F2
{F2}
F3
{F3}
F4
{F4}
F5
{F5}
F6
{F6}
F7
{F7}
F8
{F8}
F9
{F9}
F10
{F10}
F11
{F11}
F12
{F12}
F13
{F13}
F14
{F14}
F15
{F15}
F16
{F16}
+
{ADD}
-
{SUBTRACT}
*
{MULTIPLY}
/
{DIVIDE}


Per specificare i tasti combinati con qualsiasi combinazione dei tasti MAIUSC, CTRL e ALT, far precedere il codice del tasto da uno o più dei seguenti codici.
Tasto Codice
SHIFT
+
CTRL
^
ALT
%




venerdì 1 dicembre 2023

PowerShell: Muovere il puntatore del mouse

Tramite PowerShell è possibile muovere il puntatore del mouse utilizzando l'assembly System.Windows.Forms, che contiene le classi per gestire la finestra grafica.

PowerShell


Un semplice script che muove il mouse ogni 30 secondi è il seguente

 Add-Type -AssemblyName System.Windows.Forms  
 # Ciclo infinito che aggiorna la posizione del mouse ogni 30 secondi finchè non viene premuto CTRL+C o chiusa la finestra  
 while ($true)  
 {  
  # Rileva la posizione attuale del mouse  
  $Pos = [System.Windows.Forms.Cursor]::Position  
  # Creo le nuove coordinate del puntatore aggiungendo un pixel e facendo in modo da non uscire dallo schermo (% 500)  
  $x = ($pos.X % 500) + 1  
  $y = ($pos.Y % 500) + 1  
  # Posiziona il puntatore del mouse nelle nuove coordinate  
  [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)  
  # Attende 30 secondi  
  Start-Sleep -Seconds 30  
 }  
Nello script, per evitare che il mouse finisca fuori dallo schermo, è stato adottato un piccolo espediente: il valore delle coordinate viene diviso per 500 e viene prelevato il resto della divisione (che sarà sicuramente inferiore a 500).

Per muovere il cursore in maniera randomica sullo schermo si può utilizzare il seguente script
 Add-Type -AssemblyName System.Windows.Forms  
   
 # Rileva la risoluzione del monitor principale  
 $WindowSize = [System.Windows.Forms.Screen]::GetWorkingArea(0)  
 $MaxWidth = $WindowSize.Width  
 $MaxHeight = $WindowSize.Height  
   
 #Esegue un loop e aggiorna la posizione del mouse finché non viene premuto CTRL + C o viene chiusa la finestra  
 while ($true)  
 {  
   # Genera randomincamente le nuove coordinale tenendo conto della risoluzione  
   $x = (Get-Random -Minimum 0 -Maximum $MaxWidth)  
   $y = (Get-Random -Minimum 0 -Maximum $MaxHeight)  
   Write-Host "`rNew position: x:$($x),y:$($y)  " -NoNewLine  
   # Posiziona il cursore nelle nuove coordinate  
   [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)  
   # Attende 30 secondi  
   Start-Sleep -Seconds 30  
 }  
Per chi stesse pensando di utilizzare questo metodo per evitare che Windows vada in stand-by in caso di inattività, dovrà pensare ad una soluzione alternativa. Il movimento del mouse tramite PowerShell, infatti, non è sufficiente affinché il sistema venga considerato "attivo" e Windows provvederà comunque a visualizzare lo screensaver, oscurare/bloccare lo schermo o attivare il risparmio energetico dopo un periodo di inattività.
Per fare in modo che Windows rilevi che il pc sia utilizzato è necessario un input da parte dell'utente e non solo il movimento del mouse. Per simulare l'input da parte dell'utente, ad esempio la pressione di un tasto, si può utilizzare il metodo SendKeys che illustrerò in un altro articolo.