Eseguire un software con GUI come SYSTEM al logon di un utente non amministratore in Windows

da | Ott 21, 2024

Alcuni software, come ad esempio Rufus, richiedono i privilegi amministrativi per essere eseguiti e non è possbile per un utente non amministratore utilizzarli.
In ambienti aziendali in cui gli utenti non posseggono i diritti amministativi dei propri PC, potrebbe essere utile permettere loro di avviare il software al logon.
È possibile utilizzare il Task Scheduler di Windows per programmare al logon degli utenti l’avvio dei software richiesti con privilegi elevati e tramite PSexec eseguirlo nella sessione dell’utente non amministratore.
La procedura è stata testata su un PC con Windows 11 Professional, ma dovrebbe funzionare su tutte le versioni di Windows.

DOWNLOAD DEI SYSINTERNALS

Scaricare la suite dei Sysinternals dal sito Microsoft:

Sysinternals Suite

Per lo scopo di questa di questa guida sarà sufficiente l’eseguibile “PSexec64.exe“.

COPIA DI PSEXEC

Esegurie da PowerShell amministrativa il comando:

NOTA BENE: Assicurarsi che solo gli amministatori possano modificare la folder appena creata ed il suo contenuto.
ATTENZIONE: Evitare di utilizzare gli spazi nel nome della cartella o di inserirla in posizioni del filesystem il cui path contiene spazi.

Copiare l’eseguibile PSexec64.exe nella folder appena creata (“C:\AdminExecutables“).

CREAZIONE DELLO SCRIPT

Creare lo script C:\AdminExecutables\RunAtUserLogon.ps1:

Modificare la lista di eseguibili in base alle proprie esigenze.

Poiché Windows assegna i session ID in modo incrementale, lo script utilizza il “SI” maggiore tra quelli dei processi esistenti, in modo da essere sicuro di aprire il software nella sessione dell’utente che ha appena effettuto il logon.

CREAZIONE DELL’UTENZA AMMINISTRATIVA

Questo step è necessario solamente se non si vuole utilizzare SYSTEM come utenza per eseguire il task.

Per creare l’utente eseguire da PowerShell amministrativa i seguenti comandi:

ATTENZIONE: sostituire TasksLocalAdmin con l’username dell’utenza desiderata

Aggiungere l’utenza appena creata agli amministratori con il comando:

CREZIONE DEL TASK

Per far sì che lo script venga eseguito durante il logon dell’utente è necessario creare un task tramite il Task Scheduler che venga eseguito con i privilegi più elevati.

Esegurie da PowerShell amministrativa i seguenti comandi:

Nel caso in cui si voglia utilizzare un’utenza dedicata per il task eseguire il comando:

ATTENZIONE: sostituire TasksLocalAdmin con l’username dell’utenza e inserire la password al posto di PASSWORD-HERE

Se invece, per eseguire il task, si volesse utilizzare SYSTEM eseguire i seguenti comandi:

VERIFICA DEL FUNZIONAMENTO

Effettare il logout dell’utente non amministratore con cui si vuole verificare il funzionamento.

Successivamente accedere e verificare che vengano aperti i software con privilegi elevati.

Scritto da Marco Valle

Mi chiamo Marco Valle e da sempre sono appassionato di Cybersicurezza e Linux.
Per lavoro implemento soluzioni open source.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Infrastrutture IT
  • ACT For Cange  Mental Coach
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore Collaboratore

Related Post

Configurazione del DNS Dinamico su Unifi Dream Machine Pro

Il DNS dinamico consente ai client esterni di connettersi al gateway UniFi utilizzando un nome host anziché un indirizzo IP. Ciò è particolarmente utile se il gateway UniFi utilizza un IP WAN che cambia frequentemente a seguito dell'assegnazione DHCP. L'utilizzo di un...

leggi tutto

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione