KB - Windows - Autoriser un utilisateur à redémarrer le service

Applicable à : windows 10 et supérieur, windows 2012 et supérieur

Besoin

Un utilisateur est gestionnaire du service applicatif et doit pouvoir relancer le service au besoin.

Cependant, il ne faut pas lui donner de droits d'administration.


Solution

Solution CMD

lancer un CMD en tant qu'administrateur.

image.png

Info : la commande va réécrire les permission en remplaçant l'existant. il faut donc d'abord récupérer les droits existants afin de ne pas les perdre.

Voir les droits existants avec la commande :

sc sdshow <nomDeService>.exe

image.png

Copier le résultat, récupérer également le SID de l'utilisateur pour lequel rajouter les droits.

Puis créer la chaîne SDDL en se basant sur les informations fournies au format : (<action>;;<droits>;;;<SID>)

 

exemple : on veux ajouter à l'utilisateur x les droits de voir le status du service et de le stopper / démarrer.

  • (A;;LCRPWPCR;;;<sid de x>)

ce qui donne la chaine complète suivante :

image.png

 

Appliquer les nouvelles autorisation avec la commande :

sc sdset <NomDeService> "<chaine d'autorisations"

image.png

Solution Powershell

Prérequis : Powershell 6 ou plus.

Lancer Powershell en tant qu'administrateur.

image.png

Info : la commande va réécrire les permission en remplaçant l'existant. il faut donc d'abord récupérer les droits existants afin de ne pas les perdre.

Voir les droits existants avec la commande :

sc sdshow <nomDeService>.exe

image.png

Copier le résultat, récupérer également le SID de l'utilisateur pour lequel rajouter les droits.

Puis créer la chaîne SDDL en se basant sur les informations fournies au format : (<action>;;<droits>;;;<SID>)


exemple : on veux ajouter à l'utilisateur x les droits de voir le status du service et de le stopper / démarrer.

  • (A;;LCRPWPCR;;;<sid de x>)

ce qui donne la chaine complète suivante :

image.png

 

Appliquer les nouvelles autorisation avec la commande :

Set-Service -Name Spooler -SecurityDescriptorSddl "<chaîne sddl>"


Signification de l'encodage

Les lettres avant les parenthèses D: and S:

Voir "Access Control Lists" pour plus d'informations (article en anglais).



La première lettre a deux valeurs possibles selon que l'on va autoriser ou interdire les actions: allow (A) or deny (D).



La chaîne de caractère qui suivra représente les autorisations sur le services :

Les deux derniers caractères représentent les comptes et groupes built-in de windows et peuvent être remplacé par le SID de l'utilisateur ou du groupe auquel s'appliquera la politique.


Sources

How to set a Windows Service's permissions using ServiceControl and SDDL - Advanced Installer Community

How to Allow Non-Admin User to Start/Stop Service in Windows | Windows OS Hub


Revision #3
Created 2026-07-29 13:07:25 UTC by Olivier
Updated 2026-07-29 13:17:01 UTC by Olivier