Formazione e Tecnologia
Gestire da remoto le configurazioni di Windows con i registri utente.

Gestire da remoto le configurazioni di Windows con i registri utente.

I registri di sistema di Microsoft Windows sono uno strumento importante per la gestione da remoto di diverse configurazioni, possiamo infatti asserire che dalla loro esistenza ad oggi una considerevole quota delle configurazioni del sistema operativo e del profilo utente sono salvate in questa struttura.

Il sapere dopo una certa configurazione è salvata rende possibile eseguire molte configurazioni attraverso i sistemi RMM senza dover accedere al computer/server usando le interfacce grafiche, questo significa poter operare sui sistemi con il semplice requisito che siano accessi e di conseguenza poter gestire molteplici configurazioni in modo contemporaneo su più sistemi.

Questa modalità operativa trova tuttavia un limite in quelle configurazione che sono associate ai registri utente, un gruppo di registri che è raggiungibile solo dal profilo utente, almeno in apparenza; pertanto, l’esecuzione di procedure con profili diversi da quello interessato conduce all’applicazione delle stesse su utenti sbagliati.

Non sempre la possibilità di eseguire procedure remote con le autorizzazioni dell’utente collegato è una soluzione; infatti, è necessario attendere che l’utente si sia collegato ed essere certi che lo sia.

Tabella dei Contenuti

I registri utente

I registri dell’utente collegato sono quelli raggruppati in HKEY_CURRENT_USER, una procedura eseguita dall’utente SYSTEM avrà accesso al raggruppamento di SYSTEM e non dell’utente, a questo punto sembrerebbe che non ci siano alternative.

I registri utente sono una proiezione degli USER SID ubicati nel percorso dei registri HKEY_USERS, questo significa che ogni modifica apportate nel SID all’interno di questa area sarà utilizzato in tempo reale dall’utente collegato o dopo il suo accesso al computer.

I contenuti del HKEY_USERS non sono tuttavia una certezza; infatti, possiamo trovare lo storico di tutti gli utenti che si sono collegati al computer, oppure solo dell’ultimo o degli ultimi due. Identificare l’utente associati allo USER SID non è pertanto immediato.

LEGGI ANCHE -  Modificare da remoto la configurazione di base del power managment di windows

Il SID dell’ultimo utente collegato

Con qualche piccolo stratagemma è possibile sfruttare le informazioni contenuti nei registri per individuare l’ultimo utente collegato, la soluzione non è perfetta, ma ha un 99% di probabilità di successo. Il punto debole è costituito dagli utenti che si collegano da remoto, in base al tipo di programma di accesso le informazioni salvate o non salvate sono diverse e possono condurre a dei risultati nulli o sfalsati.

Per arrivare ad individuare il percorso dei registri dell’ultimo utente collegato al computer, che con buona probabilità è quello che lo sta utilizzando, è necessario sapere chi è questo utente e con questa informazione determinare il suo SID e di conseguenza il suo percorso dei registri in HKEY_USERS.

Qualche riga di codice

Per questa ricerca sfruttiamo Powershell, ma il metodo è riciclabile in batch DOS. Per prima cosa procediamo con l’isolamento dei SID utente di interesse, dalla ricerca saranno esclusi Administrator, DefaultAccount, Guest e WDAGUtilityAccount.

È importante sapere che per accedere alla sezione HKEY_USERS è necessario registrare un drive, in pratica bisogna gestire quel percorso come se fosse la lettera di un disco, la Riga 1 esegue questa operazione con l’ausilio del cmdlet New-PSDriver. La medesima operazione deve essere svolta per accedere alla sezione HKEY_CLASS_ROOT.

				
					New-PSDrive -Name "HKU " -PSProvider Registry -Root "HKEY_USERS" -Confirm:$false
$users=Get-WmiObject win32_useraccount | Select-Object name,sid
$UserSIDs = @()
foreach ($user in $users) {
  if ($user.name -ne "Administrator" -and $user.name -ne "DefaultAccount" -and $user.name -ne "Guest" -and $user.name -ne "WDAGUtilityAccount") {
    $PathHKUuser = "HKU:\" + $user.sid
    if (Test-Path $PathHKUuser) {
      $UserSIDs += [PSCustomObject]@{
             SID = $user.sid
             USER = $user.name
           }
    }
  }
}
Remove-PSDrive -Name "HKU " -Force -Confirm:$false

				
			

La Riga 2 estrae il nome utente e il relativo SID dalla lista degli utenti che si sono registrati sul computer/server utilizzando il cmdlet Get-WmiObject per estrarre i dati degli utenti e il cmdlet Select-Object per salvare esclusivamente il nome utente e il SID.

LEGGI ANCHE -  Quando ad uno script monitor RMM serve un file specifico

La Riga 3 inizializza l’arrey in cui saranno salvati i dati degli utenti localizzati e filtrati.

Il ciclo foreach dalla Riga 4 alla Riga 14 analizza i risultati ottenuti dalla Riga 2 e li filtra eliminando gli utenti indesiderati, procede quindi con la costruzione del path completo dei registri (Riga 6) e ne verifica l’esistenza (Riga 7), salvando i risultati validi nella matrice di Riga 8.

Alla Riga 15 viene cancellato il drive creato per l’accesso alla sezione HKEY-USER dei registri usando il cmdlet Remove-PSDrive.

Il risultato finale di questo passaggio è la lista degli utenti e dei SID utilizzati sul computer/server analizzato, il passaggio successivo permette di individuare l’ultimo utente che si è collegato al sistema.

				
					    $LastUserSID = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI"  -Name "LastLoggedOnUserSID"
    $UserSIDs = $UserSIDs | Where-Object { $_.SID -eq $LastUserSID }

				
			

La Riga 1 con il cmdlet Get-ItemPropertyValue acquisisce dalla sezione HKEY_LOCAL_MACHINE dei registri, il SID relativo all’ultimo utente collegato al sistema. La Riga 2 estrae dalla matrice, precedentemente ottenuta, le informazioni relative all’utente corrispondente al SID ottenuto dalla ricerca dell’ultimo utente collegato, a tale scopro è impiegato il cmdlet Where-Object.

Conclusioni

Questo espediente rende possibile modificare le configurazioni legate agli utenti attivi o a tutti gli utenti registrati senza dover aver accesso diretto al computer, con conseguente ottimizzazione dei tempi di lavoro; infatti, l’intervento sistemistico può essere svolto con l’utente che sta lavorando o con il solo computer accesso. La modifica di una configurazione non richiederà più di lavorare fuori orario, ma soprattutto non necessiterà la circolazione di password per poter accedere al desktop del computer ed eseguire le configurazioni.

Per migliorare l’efficienza delle operazioni abbiamo trasformato questa e altre procedure in moduli preinstallati di Powershell, che rendono possibile eseguire le operazioni richieste inserendo dei semplici cmdlet (Get-AllUSID, Set-RegistryPsdrive, Get-RegistryValue).

LEGGI ANCHE -  Eseguire via script il reset dell’agente Axcient D2C

Le operazioni automatizzabile sono molteplici e con il giusto livello di creatività è possibile automatizzare anche l’automazione.

Per maggiori informazioni sull’uso e la realizzazione degli script di automazione leggi questo articolo e contattaci senza impegno.

I componenti distribuiti sono forniti senza alcuna garanzia. Non vi sono garanzie che il software soddisfi le vostre esigenze o sia esente da errori. In nessun caso gli sviluppatori saranno responsabili per eventuali danni.

I componenti proposti sono stati collaudati nel modo più esaustivo possibile e sono utilizzati in modo regolare in ambienti di produzione, durante il loro utilizzo non si sono verificate anomalie di funzionamento.

Archivi
Prossimi eventi

Non ci sono eventi imminenti.

Iscriviti alla nostra Newsletter
Seleziona lista (o più di una):
Manteniamo i tuoi dati privati e NON li condividiamo con terze parti. Per maggiori informazioni, consulta la nostra Privacy Policy.
Confermo di aver letto la Policy sul trattamento dei dati
Il misticismo della Tuscia e le curatrici

Un progetto parallelo ambientato nella Tuscia Sutrina: piante da giardino locali, tecniche di coltivazione, storia e leggende del territorio, racconti fantasy a tema. Botanica, cultura e tradizioni in un unico spazio.

A volte basta una breve pausa per ritrovare la concentrazione: qualche minuto tra verde e fantasia può aiutare a tornare al lavoro con nuove idee.

Visita il sito