Acad?mie de Versailles
PRTICE.Info - TNWii.Info - Tic-Education.Info

Présentation

samedi 15 août 2009

 Les scripts de connexion

Les scripts de connexion des utilisateurs sont en fait une liste de commandes qui s’exécutent lors de l’ouverture de session des utilisateurs.

Ces commandes permettent de connecter un lecteur réseau, copier ou supprimer des fichiers, lancer un logiciel externe qui pourra par exemple appliquer des restrictions sous Windows...

Ces scripts sont beaucoup plus fiables que les GPO (stratégies de groupe) qui peuvent également remplir certaines de ces fonctions. Les scripts de connexion se présentent sous la forme d’un fichier batch de commandes ms-dos, avec une extension .bat. Il est possible d’enchaîner plusieurs scripts en faisant appel par exemple à un script commun à tous les utilisateurs, puis un second script pour le groupe « eleves », puis un troisième script propre à l’utilisateur.

Pour faciliter l’affichage, la rédaction ou la modification des scripts, notamment pour afficher les couleurs, utilisez un logiciel comme Notepad++ (libre, gratuit et en français), à télécharger ici.

Voici un exemple de script de connexion simple :

  1. REM masque l'affichage des commandes
  2. @ECHO OFF
  3. REM masque le script de connexion  
  4. @call \\SERV-FICHIERS\NETLOGON\outils\masque_script_connexion.bat
  5. REM bloque souris/clavier + affiche image connexion
  6. \\SERV-FICHIERS\NETLOGON\outils\ave\ave.exe 15
  7. REM Définition variables 98
  8. @call \\SERV-FICHIERS\netlogon\outils\definition_variables.bat
  9. REM copie les profils par défaut
  10. @call \\SERV-FICHIERS\netlogon\outils\copie_profil100.bat
  11. @call \\SERV-FICHIERS\netlogon\outils\copie_profil200.bat
  12. REM donne l'attribut caché au dossier profil
  13. attrib +h \\SERV-FICHIERS\%username%$\profil
  14. REM Association des fichiers
  15. @call \\SERV-FICHIERS\netlogon\outils\association_fichiers.bat
  16. REM Lancement de ESU
  17. \\SERV-FICHIERS\NETLOGON\ESU4\esuclnt.exe

 Comment en réaliser ?

On crée un script en utilisant un éditeur de texte comme Notepad++ que l’on enregistre avec un nom de fichier sans espace ni caractères spéciaux et avec une extension .bat.

Les scripts doivent se trouver dans le partage NETLOGON du serveur (\\serv-fichiers\netlogon par exemple). Pour modifier un script, il suffit de faire un clic droit sur celui-ci puis de sélectionner l’option « Modifier ». Pour tester un script, il faut désactiver les commandes ECHO OFF, ce qui affichera toutes les commandes du script. On peut également utiliser la commande PAUSE aussi souvent que nécessaire. Cette dernière suspend le déroulement du script et vous demande d’appuyer sur un touche pour continuer son exécution. Dans les scripts, il est possible d’utiliser les commandes MS-DOS classiques. Pour ne pas afficher l’exécution d’une seule commande dans la fenêtre du script, on place la signe ’@’ devant la ligne.

  1. @call \\SERV-FICHIERS\netlogon\outils\definition_variables.bat

 Pour masquer l’exécution de TOUTES les commandes dans la fenêtre du script

  1. @ECHO OFF

 Utiliser des commentaires pour identifier les différentes parties d’un script : il faut faire précéder le commentaire des trois lettres ’REM’ pour éviter que cette ligne ne soit prise en compte comme une commande.

  1. REM masque le script de connexion

Pour lancer un autre script, il faut utiliser la commande call et donner le chemin du script à exécuter.

  1. @call \\SERV-FICHIERS\netlogon\outils\copie_profil100.bat

On peut réaliser des tests sur les variables pour lancer des commandes différentes en fonction de l’ ordinateur/utilisateur/système d’exploitation. Pour cela, on utilise des variables %COMPUTERNAME%, %USERNAME%, %OS%. Attention : ces variables n’existent pas sous Windows 95, 98 et ME ; dans ces cas, on utilise l’utilitaire gratuit PUTINENV qui définit ces variables. Pour cela voir la page Les variables de session.

  1. if "%OS%"=="Windows_NT" goto NTW2000XP
  2. if "%OS%"=="" goto W9xMe
  3.  
  4. :NTW2000XP
  5. net use J: \\SERVEUR01\winappli /persistent:no
  6. goto FIN
  7.  
  8. :W9xMe
  9. net use J: \\SERVEUR01\winappli
  10. goto FIN
  11.  
  12. :FIN

Pour terminer, voici un script de connexion relativement complet qui utilise les différents outils présentés dans ce site. Ce script est téléchargeable ci-dessous.

  1. REM masque l'affichage des commandes
  2. @ECHO OFF
  3. REM Si le système est sous Windows 2000/XP/Vista/7, on saute au sous-programme "winxp"
  4. if "%OS%"=="Windows_NT" goto winxp
  5. :win98
  6. if not exist C:\Windows\hidewndw.exe copy \\serv-fichiers\netlogon\outils\hidewndw.exe C:\Windows\*.*
  7. C:\Windows\hidewndw.exe /fh /c "tty"
  8. goto suite
  9. :winxp
  10. \\serv-fichiers\netlogon\outils\hidewndw.exe /fh /c "ConsoleWindowClass"
  11. :suite
  12. REM bloque souris/clavier + affiche image connexion
  13. \\SERV-FICHIERS\NETLOGON\outils\ave\ave.exe 15
  14. REM Définition variables 98
  15. if "%OS%"=="Windows_NT" goto suite2
  16. :win98
  17. if not exist C:\Windows\putinenv.exe copy \\SERV-FICHIERS\netlogon\outils\putinenv.exe C:\Windows\*.*
  18. C:\Windows\putinenv.exe L
  19. :suite2
  20. REM copie les profils par défaut
  21. @call \\SERV-FICHIERS\netlogon\outils\copie_profil100.bat
  22. @call \\SERV-FICHIERS\netlogon\outils\copie_profil200.bat
  23. REM donne l'attribut caché au dossier profil
  24. attrib +h \\SERV-FICHIERS\%username%$\profil
  25. REM Association des fichiers
  26. @call \\SERV-FICHIERS\netlogon\outils\association_fichiers.bat
  27. REM Lancement de ESU
  28. \\SERV-FICHIERS\NETLOGON\ESU4\esuclnt.exe

 Sites ressources

- Utilitaires pour scripts
BatUtils est une compilation d’utilitaires à utiliser en invite de commande.

- WikiTuto - Apprendre le Batch DOS
Ce site en Wiki présente de façon simple et complète le langage Batch DOS



PRTICE.Info - TNWii.Info - Tic-Education.Info
Responsable éditorial : Julien Delmas