In ufficio volevamo capire quanti utenti avessero adottato lo sblocco di Windows tramite metodi alternativi alla classica password, sfruttando quindi Windows Hello (impronta digitale, webcam, ecc.).
Fortunatamente ci sono alcuni documenti di Microsoft che spiegano come rilevare questo comportamento tramite il registro di sistema. A quel punto il passo verso Quest Kace è stato abbastanza rapido e semplice, tutto funziona grazie all’utilizzo di PowerShell e un “finto software” che permette così di creare un campo aggiuntivo da mostrare nella scheda inventario dei PC (Custom Inventory Field).
Lascia che ti spieghi cosa puoi fare per replicare la medesima cosa sulla tua installazione.
Detect Windows Hello Unlock
I documenti Microsoft ai quali faccio riferimento sono i seguenti:
Il riassunto te lo faccio io: in base al valore che si trova nella chiave di registro in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI
puoi capire il metodo di sblocco dell’utente Windows. E allora ecco servito lo script che va a effettuare le opportune ricerche tornando indietro con la risposta desiderata:
$HelloUnlockFolder = "C:\SWSetup" $LogonUI = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" if ( $LogonUI ) { $LastLoggedOnProvider = Switch ( $LogonUI.LastLoggedOnProvider ) { "{D6886603-9D2F-4EB2-B667-1971041FA96B}" { "PIN" } "{BEC09223-B018-416D-A0AC-523971B639F5}" { "Fingerprint" } "{8AF662BF-65A0-4D0A-A540-A338A999D36F}" { "Facial Recognition" } default { "Password or other method" } } Write-Output "$($LogonUI.LastLoggedOnUser) authenticated through $LastLoggedOnProvider" Set-Content -Path "$HelloUnlockFolder\HelloUnlock.txt" -Value $LastLoggedOnProvider } else { Write-Output "Registry path not found." Set-Content -Path "$HelloUnlockFolder\HelloUnlock.txt" -Value "Not found." }
Lo script già pronto è disponibile all’indirizzo github.com/gioxx/kace/blob/main/custom-inventory-rules/Detect-WindowsHelloUnlock/Detect-WindowsHelloUnlock.ps1.
La cartella C:\SWSetup
vuole essere un placeholder che tu puoi modificare come meglio credi. Noi usiamo laptop HP e in quella cartella conserviamo alcuni driver e tool aziendali, ecco perché la utilizzo. All’interno di quella cartella creerò un file di testo che potrò leggere in seguito tramite Kace (Custom Inventory Field alimentato da un software “fake”) e che quindi visualizzerò all’interno della scheda inventario di ogni singolo PC gestito.
Dovrai solo assicurarti che il file PS1 venga eseguito (magari a intervalli regolari, il mio l’ho programmato per girare ogni 6 ore) con i diritti utente (non serve lanciarlo come Local System o altro). Spostati in Scripting, creane uno nuovo e carica il file PS1 come dipendenza, poi imposta le opportune configurazioni:
- Directory:
$(KACE_SYS_DIR)\WindowsPowerShell\v1.0
- File:
powershell.exe
- Parameters:
-executionpolicy remotesigned -File $(KACE_DEPENDENCY_DIR)\Detect-WindowsHelloUnlock.ps1
Dove ovviamente al posto di Detect-WindowsHelloUnlock.ps1
dovrai specificare il reale nome del tuo file / script PowerShell aggiunto alle dipendenze se hai deciso di cambiargli nome rispetto a quello che hai scaricato da GitHub. Non ti resta quindi che spostarti adesso in Software, crearne uno nuovo manualmente e specificare nel campo Custom Inventory Rule questa stringa:
ShellCommandTextReturn(cmd /c type C:\SWSetup\HelloUnlock.txt)
Ora non dovrai fare altro che aspettare (o forzare la mano se hai urgenza), servirà che sui PC giri lo script PowerShell e – in seguito – un nuovo inventario per rilevare ciò che contiene il file C:\SWSetup\HelloUnlock.txt
.
Ti ricordo che questo e altri script e suggerimenti fanno parte del repository GitHub dedicato alle risorse Kace, lo trovi all’indirizzo github.com/gioxx/kace.
Al solito in caso di dubbi sai dove trovare l’area commenti.
Lo stesso dicasi per suggerimenti, consigli, lettere d’amore, varie ed eventuali 😄✌
#KeepItSimple
Immagine di copertina hessam nabavi on Unsplash
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)