AstucesWindows OSWindows Server

Comment déléguer la permission de fermeture de session à un utilisateur sur un serveur RDS ?

Hey ! Bonjour à toutes et à tous !

Je vous propose aujourd’hui un nouvel article concernant l’environnement de Windows Server et plus particulièrement autour du rôle du service de bureau à distance.

Êtes-vous prêt ? Confortablement installer dans votre fauteuil ? Bien alors, commençons !

Introduction

Bon, je ne vais pas ici vous faire une présentation de ce qu’est le rôle bureau à distance sur le système d’exploitation Windows Server. D’ailleurs, si vous êtes en train de lire ces lignes, c’est pour un but bien précis et c’est celui qu’indique le titre de l’article : Comment déléguer la permission de fermeture de session à un utilisateur sur un serveur RDS ?

Bien, déjà, je vais remettre le contexte qui m’a poussé à faire les recherches d’une réponse à cette question. Récemment, j’ai eu une demande d’un client qui travaille exclusivement en environnement RDS et il possède une application métier qui quand elle cesse de fonctionner, bien la seule solution est de faire la fermeture de la session.

Donc quand ce dysfonctionnement se produit, le client nous contacte et nous réalisons la fermeture de la session. Alors, oui, c’est la bonne chose à faire me direz-vous, sauf que le client travaille également durant les week-ends et nos services ne sont pas ouvert en revanche.

Vous avez maintenant compris le pourquoi de mon interrogation et surtout de la demande de mon client : Comment déléguer la permission de fermeture de session à un utilisateur sur un serveur RDS ?

Ceux qui pensent tout de suite à ajouter l’utilisateur au groupe administrateur du serveur, merci de faire un changement de profession dans les plus brefs délais. Des bisous quand même !

Maintenant que le décor est en place, passons à l’explication de la solution que j’ai mise chez mon client pour répondre à son besoin.

Les Prérequis

Juste par principe voici une liste des prérequis pour mettre en place la solution :

  • Un serveur Active Directory
  • Un serveur RDS (non, c’est vrai Kevin ?!)
  • Un groupe de sécurité spécifique pour la délégation de la fermeture
  • Avoir 5 minutes pour mettre en place la solution

LA solution de délégation

Le groupe de sécurité

Effectivement, la première étape de la solution c’est de faire la création d’un groupe de sécurité au sein de l’Active Directory et dans lequel nous ajouterons les membres qui devront avoir ce droit de délégation pour faire la fermeture d’une session RDS d’un autre utilisateur et ceci sans être administrateur pour autant !

Notez bien le nom de votre groupe de sécurité, car nous allons en avoir besoin pour la suite de la mise en place de la solution.

L’activation de la délégation de droit

Bien, maintenant, nous devons nous rendre sur notre serveur RDS et depuis une session administrateur nous allons faire l’ouverture d’un bon vieux CMD et y taper la ligne suivante :

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName ="RDP-Tcp") CALL AddAccount "DOMLAB\DOMLAB-RDS-LOGOFF",2

Le résultat de cette dernière doit vous retourner ceci :

Attention, c’est à ce moment-là que votre nom de votre groupe de sécurité est nécessaire. Il faut faire le remplacement de « DOMLAB\DOMLAB-RDS-LOGOFF » par votre nom de domaine et groupe de sécurité.

Pour connaître les différentes options de la classe Win32_TSPermissionsSetting, je vous invite à faire la consultation de ce lien.

Le test

Vous voilà tout content d’avoir fait la mise en place de la délégation de droit à un utilisateur (non administrateur) pour qu’il puisse faire la fermeture d’une autre session sur le serveur RDS.

Sauf que vous venez de faire l’essai avec une session de test et vous constatez avec désarroi que l’utilisateur ne possède pas l’option de fermeture de session depuis le gestionnaire de tâches.

Eh oui ! Malheureusement, quand l’utilisateur n’est pas administrateur, les options dans le gestionnaire de tâches sont plus que limitées.

Toutefois, j’ai un petit quelque chose pour vous, continuez à lire.

Le script fait maison

Je vous l’accorde, ce n’est pas des plus propre en 2022, mais des petits scripts peuvent parfois bien rendre service et ça va être notre cas pour déléguer la permission de fermeture de session à un utilisateur sur un serveur RDS.

L’idée est de mettre à disposition sur la session de l’utilisateur qui fait partie de votre groupe de sécurité pour la délégation de droit, un raccourci du script ci-dessous :

@echo OFF
REM Script permettant la fermeture des sessions RDS par un utilisateur non Administrateur.
REM Fait par Kevin ENGEL - Avril 2022.
:MENU

ECHO.
ECHO --------------------------------
ECHO Liste des actions :
ECHO --------------------------------
ECHO.
ECHO 1 - Liste les sessions ouvertes avec option de fermeture
ECHO 2 - Sortir du programme
ECHO.
SET /P T="Choisir 1 ou 2 pour une action : "
IF %T%==1 GOTO LOGOFF
IF %T%==2 GOTO EXIT
:LOGOFF
ECHO.
ECHO --------------------------------
query session
ECHO.
SET /P ID="Choisir l'ID de la session qui doit faire l'objet d'une fermeture : "
logoff %ID%
ECHO.
ECHO La session %ID% est maintenant finie.
ECHO Retour au menu.
ECHO.
GOTO MENU
:EXIT
exit

Voilà ! Vous venez de mettre en place la délégation de la permission de fermeture de session à un utilisateur (non-administrateur) sur un serveur RDS. Félicitations !

Des petites précisions

Effectivement, je tiens à faire des petites précisions sur cette solution qui consiste à faire la délégation de la permission de fermeture de session à un utilisateur sur un serveur RDS.

  • Cette astuce a été testée et validée sur des environnements Windows Server 2012, 2016, 2019 et 2022.
  • Cette solution doit être seulement mise en place quand ceci est vraiment un réel besoin d’un client et non juste pour une envie ponctuelle. De plus, limiter le nombre d’utilisateurs qui peuvent avoir ce droit.
  • Le script doit lui être mis à disposition seulement sur la session des utilisateurs de votre groupe de sécurité. Par ailleurs, même si un utilisateur non autorisé mettait la main dessus et l’exécutait, il aurait un joli message d’erreur lui indiquant qu’il ne possède pas les droits nécessaires (logique, pas d’appartenance au groupe de sécurité) :

Conclusion

Nous voici à la fin de cet article indiquant les différentes étapes à suivre afin de faire la délégation de la permission de fermeture de session à un utilisateur (non-administrateur) sur un serveur RDS.

Maintenant, vous savez comment faire sans mettre l’utilisateur dans le groupe administrateur !

J’espère que cet article vous aura plu et je vous retrouve très vite ! Alors, pour ne rien louper, n’hésitez pas à vous inscrire à la newsletter de Tech2Tech.


D’ici là, si vous avez des questions, des remarques ou autres, l’espace commentaires est disponible juste en dessous.

Source
Inspiration pour la solution

Kevin ENGEL

Administrateur Système et Réseau de formation, dont dix années au service de nombreux clients de tout type au sein de différentes SSII et également un court passage dans le monde de l'entrepreneuriat. Actuellement, je suis Partner Success Manager au sein de BeMSP, ma mission est d'assurer le succès ainsi que la satisfaction de nos partenaires dans l'utilisation de nos différentes solutions, mais également dans la transformation vers le modèle MSP. J'apprécie également partager mes connaissances ainsi que porter assistance quand je le peux sur des problématiques techniques, mais aussi apprendre de nouvelles choses au quotidien.

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page