VBScript - 800A000D Typemismatch 'join' avec un utilisateur standard
4 réponses
Glenn Gagné
J'ai trouvé des exemples de scripts pour des ouvertures de session en
VBScript.
dans l'exemple je pouvais me connecter à des lecteurs réseaux tout
dépendant si je fais parti ou non d'un groupe X.
Mais la méthode utilise la commande "join"... le problème d'après les infos
trouvés c'est que la commande "join" ne fonctionne que si on a les droits
"Administrateur". Pas très pratique !!!!
Avez-vous des suggestions/remplacements de cette commande ?
---------------------
Voici un copie de mon script:
Set nouveau_map_group = CreateObject("WScript.Network")
Set ADSysInfo = CreateObject("ADSystemInfo")
Set usager_courant = GetObject("LDAP://" & ADSysInfo.UserName)
groupe_membre = LCase(Join(usager_courant.MemberOf))
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clive Lumb
Glenn,
Je ne vois pas comment être admin ou puisse influencer la possibilité d'utiliser la fonction "join". C'est peut-être la méthode "MemberOf" qui coince.
J'ai fait un script semblable et j'ai fait un fonction pour trouver un groupe dans la liste "memberof" Comme ceci:
Function EstMembreDe(MemberList, Groupe)
if IsArray(MemberList) then FOR EACH MEMber in MemberList Temp=InStr(MEMber,",") If Temp >0 then Temp=Left(MEMber, Temp-1) Else Temp=MEMber End If Temp=RIGHT(Temp, Len(Temp)-3) If UCASE(Temp)=UCASE(Groupe) then EstMembreDe=-1 wscript.echo "[ARRAY] Trouvé " & Groupe & " dans " & MEMber Exit function Else EstMembreDe=0
End If next else MEMber=MemberList temp=INSTR(MEMber,",") If Temp >0 then Temp=Left(MEMber, Temp-1) Else Temp=MEMber End If Temp=RIGHT(Temp, Len(Temp)-3) If UCASE(Temp)=UCASE(Groupe) then EstMembreDe=-1 wscript.echo "[SCALAR] Trouvé " & Groupe & " dans " & MEMber Exit Function Else EstMembreDe=0
End If end if
End Function
Si tu veux je peux t'envoyer le script entier par mail
"Glenn Gagné" a écrit dans le message de news:%
J'ai trouvé des exemples de scripts pour des ouvertures de session en VBScript.
dans l'exemple je pouvais me connecter à des lecteurs réseaux tout dépendant si je fais parti ou non d'un groupe X.
Mais la méthode utilise la commande "join"... le problème d'après les
infos
trouvés c'est que la commande "join" ne fonctionne que si on a les droits "Administrateur". Pas très pratique !!!!
Avez-vous des suggestions/remplacements de cette commande ?
---------------------
Voici un copie de mon script:
Set nouveau_map_group = CreateObject("WScript.Network") Set ADSysInfo = CreateObject("ADSystemInfo") Set usager_courant = GetObject("LDAP://" & ADSysInfo.UserName) groupe_membre = LCase(Join(usager_courant.MemberOf))
Je ne vois pas comment être admin ou puisse influencer la possibilité
d'utiliser la fonction "join".
C'est peut-être la méthode "MemberOf" qui coince.
J'ai fait un script semblable et j'ai fait un fonction pour trouver un
groupe dans la liste "memberof"
Comme ceci:
Function EstMembreDe(MemberList, Groupe)
if IsArray(MemberList) then
FOR EACH MEMber in MemberList
Temp=InStr(MEMber,",")
If Temp >0 then
Temp=Left(MEMber, Temp-1)
Else
Temp=MEMber
End If
Temp=RIGHT(Temp, Len(Temp)-3)
If UCASE(Temp)=UCASE(Groupe) then
EstMembreDe=-1
wscript.echo "[ARRAY] Trouvé " & Groupe & " dans " & MEMber
Exit function
Else
EstMembreDe=0
End If
next
else
MEMber=MemberList
temp=INSTR(MEMber,",")
If Temp >0 then
Temp=Left(MEMber, Temp-1)
Else
Temp=MEMber
End If
Temp=RIGHT(Temp, Len(Temp)-3)
If UCASE(Temp)=UCASE(Groupe) then
EstMembreDe=-1
wscript.echo "[SCALAR] Trouvé " & Groupe & " dans " & MEMber
Exit Function
Else
EstMembreDe=0
End If
end if
End Function
Si tu veux je peux t'envoyer le script entier par mail
"Glenn Gagné" <glenn_gagne@hotmail.com> a écrit dans le message de
news:%23tmPKcOBGHA.892@TK2MSFTNGP12.phx.gbl...
J'ai trouvé des exemples de scripts pour des ouvertures de session en
VBScript.
dans l'exemple je pouvais me connecter à des lecteurs réseaux tout
dépendant si je fais parti ou non d'un groupe X.
Mais la méthode utilise la commande "join"... le problème d'après les
infos
trouvés c'est que la commande "join" ne fonctionne que si on a les droits
"Administrateur". Pas très pratique !!!!
Avez-vous des suggestions/remplacements de cette commande ?
---------------------
Voici un copie de mon script:
Set nouveau_map_group = CreateObject("WScript.Network")
Set ADSysInfo = CreateObject("ADSystemInfo")
Set usager_courant = GetObject("LDAP://" & ADSysInfo.UserName)
groupe_membre = LCase(Join(usager_courant.MemberOf))
Je ne vois pas comment être admin ou puisse influencer la possibilité d'utiliser la fonction "join". C'est peut-être la méthode "MemberOf" qui coince.
J'ai fait un script semblable et j'ai fait un fonction pour trouver un groupe dans la liste "memberof" Comme ceci:
Function EstMembreDe(MemberList, Groupe)
if IsArray(MemberList) then FOR EACH MEMber in MemberList Temp=InStr(MEMber,",") If Temp >0 then Temp=Left(MEMber, Temp-1) Else Temp=MEMber End If Temp=RIGHT(Temp, Len(Temp)-3) If UCASE(Temp)=UCASE(Groupe) then EstMembreDe=-1 wscript.echo "[ARRAY] Trouvé " & Groupe & " dans " & MEMber Exit function Else EstMembreDe=0
End If next else MEMber=MemberList temp=INSTR(MEMber,",") If Temp >0 then Temp=Left(MEMber, Temp-1) Else Temp=MEMber End If Temp=RIGHT(Temp, Len(Temp)-3) If UCASE(Temp)=UCASE(Groupe) then EstMembreDe=-1 wscript.echo "[SCALAR] Trouvé " & Groupe & " dans " & MEMber Exit Function Else EstMembreDe=0
End If end if
End Function
Si tu veux je peux t'envoyer le script entier par mail
"Glenn Gagné" a écrit dans le message de news:%
J'ai trouvé des exemples de scripts pour des ouvertures de session en VBScript.
dans l'exemple je pouvais me connecter à des lecteurs réseaux tout dépendant si je fais parti ou non d'un groupe X.
Mais la méthode utilise la commande "join"... le problème d'après les
infos
trouvés c'est que la commande "join" ne fonctionne que si on a les droits "Administrateur". Pas très pratique !!!!
Avez-vous des suggestions/remplacements de cette commande ?
---------------------
Voici un copie de mon script:
Set nouveau_map_group = CreateObject("WScript.Network") Set ADSysInfo = CreateObject("ADSystemInfo") Set usager_courant = GetObject("LDAP://" & ADSysInfo.UserName) groupe_membre = LCase(Join(usager_courant.MemberOf))
Après plus mure réfection, je crois que ton problème doit être dû au fait que l'utilisateur standard ne fait pas partie de plusieur groupes, donc MemberOf retourne une chaine plutôt qu'un array. Donc pas possible de faire un "join". (L'admin doit faire partie de plusieurs groupes, c'est pour cela que ça marche).
Ma fonction EstMembreDe resoudra ce problème.
Je te poste le script entier.
Clive
"Glenn Gagné" a écrit dans le message de news:%
J'ai trouvé des exemples de scripts pour des ouvertures de session en VBScript.
dans l'exemple je pouvais me connecter à des lecteurs réseaux tout dépendant si je fais parti ou non d'un groupe X.
Mais la méthode utilise la commande "join"... le problème d'après les
infos
trouvés c'est que la commande "join" ne fonctionne que si on a les droits "Administrateur". Pas très pratique !!!!
Avez-vous des suggestions/remplacements de cette commande ?
---------------------
Voici un copie de mon script:
Set nouveau_map_group = CreateObject("WScript.Network") Set ADSysInfo = CreateObject("ADSystemInfo") Set usager_courant = GetObject("LDAP://" & ADSysInfo.UserName) groupe_membre = LCase(Join(usager_courant.MemberOf))
Après plus mure réfection, je crois que ton problème doit être dû au fait
que l'utilisateur standard ne fait pas partie de plusieur groupes, donc
MemberOf retourne une chaine plutôt qu'un array. Donc pas possible de faire
un "join". (L'admin doit faire partie de plusieurs groupes, c'est pour cela
que ça marche).
Ma fonction EstMembreDe resoudra ce problème.
Je te poste le script entier.
Clive
"Glenn Gagné" <glenn_gagne@hotmail.com> a écrit dans le message de
news:%23tmPKcOBGHA.892@TK2MSFTNGP12.phx.gbl...
J'ai trouvé des exemples de scripts pour des ouvertures de session en
VBScript.
dans l'exemple je pouvais me connecter à des lecteurs réseaux tout
dépendant si je fais parti ou non d'un groupe X.
Mais la méthode utilise la commande "join"... le problème d'après les
infos
trouvés c'est que la commande "join" ne fonctionne que si on a les droits
"Administrateur". Pas très pratique !!!!
Avez-vous des suggestions/remplacements de cette commande ?
---------------------
Voici un copie de mon script:
Set nouveau_map_group = CreateObject("WScript.Network")
Set ADSysInfo = CreateObject("ADSystemInfo")
Set usager_courant = GetObject("LDAP://" & ADSysInfo.UserName)
groupe_membre = LCase(Join(usager_courant.MemberOf))
Après plus mure réfection, je crois que ton problème doit être dû au fait que l'utilisateur standard ne fait pas partie de plusieur groupes, donc MemberOf retourne une chaine plutôt qu'un array. Donc pas possible de faire un "join". (L'admin doit faire partie de plusieurs groupes, c'est pour cela que ça marche).
Ma fonction EstMembreDe resoudra ce problème.
Je te poste le script entier.
Clive
"Glenn Gagné" a écrit dans le message de news:%
J'ai trouvé des exemples de scripts pour des ouvertures de session en VBScript.
dans l'exemple je pouvais me connecter à des lecteurs réseaux tout dépendant si je fais parti ou non d'un groupe X.
Mais la méthode utilise la commande "join"... le problème d'après les
infos
trouvés c'est que la commande "join" ne fonctionne que si on a les droits "Administrateur". Pas très pratique !!!!
Avez-vous des suggestions/remplacements de cette commande ?
---------------------
Voici un copie de mon script:
Set nouveau_map_group = CreateObject("WScript.Network") Set ADSysInfo = CreateObject("ADSystemInfo") Set usager_courant = GetObject("LDAP://" & ADSysInfo.UserName) groupe_membre = LCase(Join(usager_courant.MemberOf))
Ça semble un site crédible pour référence des erreurs VBScripts.
Je ne suis vraiment pas un expert en code VB je suis gestionnaire de réseaux et non programmeur... Je vais essayer avec ta méthode, mais un p'tit exemple concret me serait très utile.
Ça se peut bien... mais voici où j'ai pris ma source à propos de ce
problème:
Ça semble un site crédible pour référence des erreurs VBScripts.
Je ne suis vraiment pas un expert en code VB je suis gestionnaire de réseaux
et non programmeur... Je vais essayer avec ta méthode, mais un p'tit exemple
concret me serait très utile.
Ça semble un site crédible pour référence des erreurs VBScripts.
Je ne suis vraiment pas un expert en code VB je suis gestionnaire de réseaux et non programmeur... Je vais essayer avec ta méthode, mais un p'tit exemple concret me serait très utile.
Clive Lumb
Glenn Gagné wrote:
Ça se peut bien... mais voici où j'ai pris ma source à propos de ce problème:
Ça semble un site crédible pour référence des erreurs VBScripts.
Je ne suis vraiment pas un expert en code VB je suis gestionnaire de réseaux et non programmeur... Je vais essayer avec ta méthode, mais un p'tit exemple concret me serait très utile.
Le script que je t'ai envoyé par mail devrait faire office d'exemple concret.
Glenn Gagné wrote:
Ça se peut bien... mais voici où j'ai pris ma source à propos de ce
problème:
Ça semble un site crédible pour référence des erreurs VBScripts.
Je ne suis vraiment pas un expert en code VB je suis gestionnaire de
réseaux et non programmeur... Je vais essayer avec ta méthode, mais
un p'tit exemple concret me serait très utile.
Le script que je t'ai envoyé par mail devrait faire office d'exemple
concret.
Ça semble un site crédible pour référence des erreurs VBScripts.
Je ne suis vraiment pas un expert en code VB je suis gestionnaire de réseaux et non programmeur... Je vais essayer avec ta méthode, mais un p'tit exemple concret me serait très utile.
Le script que je t'ai envoyé par mail devrait faire office d'exemple concret.