Ceci est une ancienne révision du document !


Exécuter un script à l'ouverture et à la fermeture de session Windows

Lorsque l'on est administrateur d'un parc informatique, il est fatiguant de devoir configurer certains réglages manuellement sur chaque poste du domaine, un par un, surtout quand il y a 400 postes à faire !

Une des solutions à ce problème est de créer un script qui va s’exécuter automatiquement à chaque fois qu'un utilisateur ouvre ou ferme sa session.

OK, mais c'est quoi un script ? - Un script c'est un ensemble de commandes qui s'enchainent, un programme quoi !

Mais à quoi ça sert concrètement ? - A automatiser certains réglages, comme l'ajout de raccourcis sur le bureau, le vidage de la corbeille, l'ajout de lecteurs réseaux, la planification d'actions, etc…

Et comment on fait ça ? - Sous Windows, les deux langages de scripting de base sont le Batch et le PowerShell. Il y a aussi deux façons de configurer un script. Nous verrons ici les deux manières.

Dans les exemples suivants, je vais tout d'abord montrer comment créer un script d'ouverture de session, pour mapper des lecteurs réseau personnalisés en fonction de l'utilisateur, avec la première méthode. Ensuite je montrerais comment créer un script de fermeture de session pour vider le dossier “Téléchargements” ainsi que la corbeille, avec la seconde méthode.

Bref, rentrons dans le vif du sujet.

Méthode 1 : Déployer un script d'ouverture de session avec Netlogon

Netlogon est un partage de fichiers activé par défaut sur les contrôleurs de domaine Active Directory. Il est conçu pour pour stocker les scripts à exécuter lors des ouvertures de session. Pour qu'un script soit lancé lorsqu'un utilisateur se connecte, il faut lui indiquer le fichier à exécuter dans les paramètres de son compte AD, et bien sûr copier le fichier dans le répertoire Netlogon du domaine.

:?: Le chemin pour accèder à netlogon est \\SERVEUR\netlogon (remplacer SERVEUR par le nom du contrôleur de domaine ou du domaine Active Directory).

Dans mon cas, j'ai commencé par créer différents répertoires partagés à la racine du disque du serveur :

  • Un dossier partagé “Commun” accessible à tous les utilisateurs du domaine en lecture et en écriture.
  • Un dossier partagé “Scan” accessible en écriture par l'utilisateur “Copieurs” utilisé par les photocopieurs, mais uniquement en lecture pour les autres utilisateurs du domaine.
  • Un dossier “Utilisateurs” qui contient un dossier par utilisateur du domaine, nommés par le nom d'utilisateur correspondant, qui serviront à stocker les fichiers personnels de chacun. Évidemment, seul l'utilisateur concerné a accès à son répertoire.

Pour mapper ces répertoire partagés en tant que lecteurs dans l'explorateur de fichiers, j'ai créé le script suivant :

<code>

Méthode 2 : Déployer des scripts d'ouverture/fermeture de session via GPO