IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Fonction Ismember paramètres incorrects


Sujet :

VBScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Fonction Ismember paramètres incorrects
    Bonjour je viens juste de découvrir une fonction ismember en vbs qui récupérerait la valeur de ismember sous forme de tableau.

    Je comprends bien qu'il checke si c'est un tableau et qu'il le splite aussitôt pour mieux y lire les valeurs mais pourquoi l'erreur objet requis objuser?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Function IsMember(objUser,GroupName)
     
    IsMember = False
    If IsArray(objUser.MemberOf) Then
     
    	For Each GroupDN in objUser.MemberOf
     
    	arrTemp = split(GroupDN,",")
    	GroupCN = arrTemp(0)
     
    		If ucase(GroupCN) = "CN=" & ucase(GroupName) Then
    		IsMember = True
    		End If
    	Next
     
    	Else
    	arrTemp = split(objUser.MemberOf,",")
    	GroupCN = arrTemp(0)
     
    		If ucase(GroupCN) = "CN=" & ucase(GroupName) Then
    		IsMember = True
    		End If
    End If
     
     
    End Function



    Le problème est qu'il me renvoie une erreur sur mon objuser quand je veux l'utiliser; je suis un peu newbie alors pouvez vous m'expliquer?

    Merci !! je n'y comprends pas grand chose...

    Dark

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Lorsque l'interpréteur te dit cela, c'est qu'il considère que MemberOf n'est pas une propriété ou une méthode de objUser.
    Souvent c'est dû au fait que objUser est null, et ne contient pas d'objet.
    Ou bien assez souvent aussi, tu te trompes de méthode ou propriété. Dans ce cas MemberOf n'est pas une propriété de objUser.

    Bien sur comme je n'ai aucune idée de ce qu'est objUser (tu n'as pas donné le type), je ne peux pas te dire si c'est l'un ou l'autre ou autre chose ou si je ne sais pas.

    Met le reste du code cela sera plus simple.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Effectivement, le types d'objet ne concordaient pas; c'était la bonne piste. En creusant un peu, c'est ce que j'ai trouvé mais merci pour ta réponse.

    Pour info, je fais un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set oWshShell 		= Wscript.CreateObject("Wscript.Shell")
    Set oWshNetwork 	= wscript.CreateObject("WScript.network")
    Set ADSysInfo 		= CreateObject("ADSystemInfo")
     
    Set CurrentUser 	= GetObject("LDAP://" & ADSysInfo.UserName)
     
    strLogonServer 		= oWshShell.ExpandEnvironmentStrings("%LOGONSERVER%")
    strdomain 		= oWshShell.ExpandEnvironmentStrings("%USERDOMAIN%")
    strUserName 		= oWshShell.ExpandEnvironmentStrings("%USERNAME%")
    strSiteName 		= ADSysInfo.SiteName
    L'erreur était de lui injecter un string au lieu du Currentuser pour faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsMember(CurrentUser, "groupegroupe") then oWshNetwork.MapNetworkDrive "S:", "\\share"
    A plus,

    Dark

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/09/2005, 01h21
  2. Création d'une fonction sans paramètre?
    Par falcon dans le forum Oracle
    Réponses: 3
    Dernier message: 13/12/2004, 11h32
  3. [Conception] Passer une fonction en paramètre
    Par pejay dans le forum Langage
    Réponses: 9
    Dernier message: 09/12/2004, 13h58
  4. Partage de fichier sous Win9x : 87-Paramètre incorrect
    Par Benjamin GAGNEUX dans le forum Web & réseau
    Réponses: 6
    Dernier message: 14/08/2004, 14h10
  5. Réponses: 3
    Dernier message: 17/06/2004, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo