Problème avec script de connexion [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
9 février 2009
-
Messages postés
3
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
9 février 2009
-
Bonjour,

Je suis nouveau dans le VB et j'ai un petit soucis.
Sur le serveur j'utilise un script "logon.bat" qui marche normalement.
ce script fait appel a des script tiers tels que Message.vbs
En fait j'aimerais tout regrouper dans le logon.bat en intégrant de nouvelles fonctions.
Et le problème est que j'ai une fonction qui doit faire telle ou telle action suivant le groupe de l'utilisateur mais ce script ne fonctionne pas car tout le monde reçoit l'action en question.

ON ERROR RESUME NEXT 
set WshShell = CreateObject("WScript.Shell") 
Set WshNetwork = WScript.CreateObject("WScript.Network") 
 
 
DomainName=WshShell.ExpandEnvironmentStrings("%USERDOMAIN%") 
Set UserObj = GetObject("WinNT://" & DomainName & "/" & WshNetwork.username) 
 
wscript.echo "Bonjour "&WshNetwork.username&" connecté sur "&WshNetwork.computername 
 
 
'Init Groups 
Dim UserGroups 
Dim GroupObj 
UserGroups=""
For Each GroupObj In UserObj.Groups  
   UserGroupsUserGroups = UserGroups & "[" & GroupObj.Name & "]"  
Next 
 
wscript.echo "Membre de "&UserGroups 

'/////////////////////////////////////////////////////////////////

if InGroup("GP_Eleves") then 
  Msgbox("Message à envoyer au groupe") 
end if

'/////////////////////////////////////////////////////////////////

if InGroup("GP_Prof") then 
  Msgbox("Message à envoyer au groupe") 
end if

merci beaucoup

3 réponses

Messages postés
3
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
9 février 2009

Voici la source qui fonctionne (oublie de la mettre au dessus si cela peut intéressé quelqu'un)

    set WshShell = CreateObject("WScript.Shell")
    Set WshNetwork = WScript.CreateObject("WScript.Network")

    if WshShell.ExpandEnvironmentStrings("%OS%") <> "Windows_NT" then
      WshShell.Run "COMMAND.EXE /C NET TIME \\BTW-USER1 /SET /Y >NUL:"

      DomainName=WshShell.RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSNP32\NetworkProvider\AuthenticatingAgent")
      Set UserObj = GetObject("WinNT://" & DomainName & "/" & WshNetwork.username)

      WshNetwork.MapNetworkDrive "U:",UserObj.HomeDirectory
    ' msgbox (UserObj.homeDrive)
    msgbox (UserObj.HomeDirectory)

    else

      DomainName=WshShell.ExpandEnvironmentStrings("%USERDOMAIN%")
      Set UserObj = GetObject("WinNT://" & DomainName & "/" & WshNetwork.username)

    end if

    wscript.echo "Bonjour "&WshNetwork.username&" connecté sur "&WshNetwork.computername

    'Init Groups
    Dim UserGroups
    Dim GroupObj
    UserGroups=""
    For Each GroupObj In UserObj.Groups
      UserGroups=UserGroups & "[" & GroupObj.Name & "]"
    Next

    wscript.echo "Membre de "&UserGroups

    if InGroup("GP_Admin_educateur") then
'      WshNetwork.MapNetworkDrive "T:","\\DC\NETLOGON"
      WshNetwork.MapNetworkDrive "U:","\\DC\perso"&WshNetwork.username&""
 wscript.echo "Coucou"
    end if

    '
    Function InGroup(strGroup)
       InGroup=False
       If InStr(UserGroups,"[" & strGroup & "]") Then
             InGroup=True
       End If
    End Function
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
C'est du VBS (à préciser)
Catégorie de la question modifiée .NET --> VBS
Messages postés
3
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
9 février 2009

c'est bon problème résolu ;)

merci