ifmember en vbs je reste sans explications [VBS] - VB/VBA/VBS - Programmation
Marsh Posté le 11-10-2005 à 14:43:39
vire le "On error resume next" au début de ton script et regarde s'il te renvoit une erreur
Marsh Posté le 11-10-2005 à 14:50:46
ben aucune erreur en enlevant le "On error resume next" !
Marsh Posté le 11-10-2005 à 15:19:13
ok je developpe sur winxpsp2 en ce moment meme, et je viens d'essayer sur windows 2000 et la ca me met un message d'erreur, a la place de mettre
Set UserObj = GetObject("WinNT://" & strUserDN) je dois mettre Set UserObj = GetObject("LDAP://" & strUserDN)
et sous windows 2000 j'arrive maintenant a afficher la liste des groups !
par contre sous windows xp cela ne fonctionne toujours pas !
Marsh Posté le 11-10-2005 à 15:47:08
bon que ca ne fonctionne pas sous windows XP ne m'est pas encore trop blaquant pour le moment, en faite maintenant je n'arrive pas a tester le groupe !
Marsh Posté le 11-10-2005 à 17:02:34
sous xp c normal. les groupes sont fait sur des serveurs normalement NT4, 2000 ou 2003 server.
Marsh Posté le 11-10-2005 à 14:39:25
bonjour tout le monde,
je travail sur un script de connexion en vbs qui doit déterminer l'appartenance d'un utilisateur a un groupe.
Je connais le programme ifmemnber.exe de microsoft qui fonctionne tres bien cependent je dois le traduire en vbs !
je vous présente mon programme :
ON ERROR RESUME NEXT
Dim strUserDN, objSysInfo
set WshShell = CreateObject("WScript.Shell" )
Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set objSysInfo = CreateObject("ADSystemInfo" )
LogonServer=WshShell.ExpandEnvironmentStrings("%LogonServer%" )
MsgBox LogonServer
strUserDN = objSysInfo.userName
MsgBox strUserDN
Set UserObj = GetObject("WinNT://" & strUserDN)
MsgBox "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
MsgBox "Membre de "& UserGroups
if InGroup("Admin" ) then
MsgBox "administrateurs"
end if
Function InGroup(strGroup)
InGroup=False
If InStr(UserGroups,"[" & strGroup & "]" ) Then
InGroup=True
End If
End Function
J'affiche bien le nom d'utilisateur, la chaine UserObj est correcte (avec nom utilisateurs, domaine groups) par contre la message box "Membre de "& UserGroups n'affiche pas le groupe, je n'arrive pas a sortir les groups de UserObj la propriété UserObj.Groups ne dois pas etre correcte, j'ai cherché partout sur le net, regarder tous les tutos, tous les exemples a cahque fois l'on procède de la meme facon mais perso ca ne fonctionne pas chez moi !
j'ai essayer sous XP et 2000 impossible !
merci de votre précieuse aide !