Comment réaliser un fichier Logon Script conditionnel

Vous faites parti des nouveaux convertis au vélo pour vous rendre au travail? Félicitation car pour évacuer le stress de la journée le vélo est tout simplement incroyable

Je fais plus de 5000 km par an juste pour le travail et au moins autant pour le loisir. Pour suivre mes progrès, ma forme, explorer des nouveaux parcours, j'utilise un compteur GPS.

Le leader ne cherchez pas c'est Garmin grâce à un écosystème cohérent et complet.

Pour suivre vos activités, disposer de tous les métriques de bases pendant votre sortie et analyser ensuite votre parcours je vous recommande le Garmin Edge 130 Plus.

Mais si vous en voulez plus encore avec des fonctions de navigation avancées, la gestion de vos entraînements et l'analyse de vos performances orientez vous soit sur le Garmin Edge 530, le Garmin Edge 830 son équivalent tactile que j'utilise personnellement, ou le Garmin Edge 1030 Plus avec écran encore plus grand et si vous êtes très riche !

GPS Vélo

L’utilisation d’un fichier Logon Script conditionnel permet de réaliser des opérations d’administration très intéressantes. Nous allons voir dans cet article comment exécuter certaines actions selon l’appartenance d’un utilisateur à un groupe Active Directory!

Que fait ce script?

Dans cet exemple si l’utilisateur qui exécute le script appartient à un groupe nommé Groupe-Compatibilité-Siège un lecteur réseau U va être mappé sur la ressource \\SERVEUR\PartageCompta et un script AuditCompta.vbs va être exécuté.

Si l’utilisateur en revanche appartient au Groupe Groupe-Paye-Siège, 2 lecteurs U et V correspondants respectivement aux ressources \\SERVEUR\PartagePaye et \\SERVEUR\PartagePointages vont être mappés sur sa machine.

Ma solution de montage vidéo : Quand on parle montage vidéo on arrive rapidement sur Adobe Première ou Final Cut Pro. Si c'est votre activité principale OK mais si c'est pour un usage personnel ou pour monter du VLOG je vous conseille une solution bien plus abordable financièrement et demandant moins d'expertise.

Ca fait 3 ans maintenant que j'ai abandonné Première pour Magix Vidéo Deluxe. Magix fait des logiciels professionnel comme Vega ou Pro X, mais sa version Vidéo Deluxe à 69 € seulement permet de faire des choses très impressionnantes même avec un PC assez basique.

Montage vidéo

Voici le code …

On Error Resume Next
'Déclaration des variables'
Dim objGroupList, objADObject, strGroup, objUser

Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshVarEnv = WshShell.Environment("PROCESS")
strNetBiosDomain = WshVarEnv.Item ("USERDOMAIN")
strLogonServer = WshShell.ExpandEnvironmentStrings("%Logonserver%")
strUserName = WshShell.ExpandEnvironmentStrings("%USERNAME%")

Set objUser = GetObject("WinNT://" & strNetBiosDomain & "/" _
  & strUserName & ",user")
Set objNetwork = WScript.CreateObject("WScript.Network")
'Condition 1 : Si l'utilisateur appartient à "Groupe-Comptabilité-Siège"
If IsMember("Groupe-Comptabilité-Siège") Then
objNetwork.RemoveNetworkDrive "U:"
objNetwork.MapNetworkDrive "U:" , "\\SERVEUR\PartageCompta"
WshShell.run strLogonServer & "netlogon\AuditCompta.vbs"
End If

'Condition 2 : Si l'utilisateur appartient à "Groupe-Paye-Siège"
If IsMember("Groupe-Paye-Siège") Then
objNetwork.RemoveNetworkDrive "U:"
objNetwork.MapNetworkDrive "U:" , "\\SERVEUR\PartagePaye"
objNetwork.RemoveNetworkDrive "V:"
objNetwork.MapNetworkDrive "V:" , "\\SERVEUR\PartagePointages"

End If

'Fin du script'
WScript.quit

'Les 2 Fonctions de test d'appartenance aux groupes'
Function IsMember(strGroup)
  If IsEmpty(objGroupList) Then
    Call ReadGroups
  End If
  IsMember = objGroupList.Exists(strGroup)
End Function

Sub ReadGroups
  Dim objGroup
  Set objGroupList = CreateObject("Scripting.Dictionary")
  objGroupList.CompareMode = vbTextCompare
  For Each objGroup In objUser.Groups
    objGroupList(objGroup.name) = True
  Next
  Set objGroup = Nothing
End Sub

Et après ?

Cette technique de scripts conditionnels est très performante et devient vite indispensable. Elle est notamment particulièrement adaptée pour la gestion des partages utilisateurs au quotidien, et va faciliter vos migrations de fichiers lorsque vous changez de serveurs ou réorganisez les données. Si par exemple vous décidez de changer l’emplacement d’un partage,il suffira de changer le chemin indiqué dans le Logon Script et de demander aux utilisateurs du groupe de fermer et ré-ouvrir leur session pour que leur nouveau partage soit effectif.

3 commentaires sur “Comment réaliser un fichier Logon Script conditionnel”

Laissez un commentaire