Vbscript : majuscule et miniscule ? - casse

Le
ben
Bonjour,

J'ai un soucis avec la casse.
La variable userClass (attribut department user dans l'AD) est en majuscule.
Le Group est en minuscule .
Bien qu'ils portent le même nom, le script les considère comme différent .
Avez vous une idée pour résoudre ce problème ?.

***********************************************
if userCLASS <> "" then

userMemberOf = ""
found = 0
userMemberOf = objUser.GetEx("MemberOf")
For Each Line In userMemberOf
Group=""
Group = split(split(Line,",")(0),"=")(1)
if userClass = Group then found=1
Next
***********************************************
Merci.
Cordialement.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT [MVP]
Le #17409271
"ben" news:
| Bonjour,

Bonjour,

| J'ai un soucis avec la casse.
| La variable userClass (attribut department user dans l'AD) est en
| majuscule. Le Group est en minuscule .
| Bien qu'ils portent le même nom, le script les considère comme
| différent . Avez vous une idée pour résoudre ce problème ?.
[...]

VBScript dispose de deux fonctions permettant de convertir une chaine de
caractères en minuscule (LCase) ou majuscule (UCase). Donc pour comparer
deux chaines de caractères en ignorant la casse :

If LCase(userClass) = LCase(Group) Then bFound=True

ou alors

If UCase(userClass) = UCase(Group) Then bFound=True

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
ben
Le #17409941
MERCI, cher ami.

"Gilles LAURENT [MVP]" wrote:

"ben" news:
| Bonjour,

Bonjour,

| J'ai un soucis avec la casse.
| La variable userClass (attribut department user dans l'AD) est en
| majuscule. Le Group est en minuscule .
| Bien qu'ils portent le même nom, le script les considère comme
| différent . Avez vous une idée pour résoudre ce problème ?.
[...]

VBScript dispose de deux fonctions permettant de convertir une chaine de
caractères en minuscule (LCase) ou majuscule (UCase). Donc pour comparer
deux chaines de caractères en ignorant la casse :

If LCase(userClass) = LCase(Group) Then bFound=True

ou alors

If UCase(userClass) = UCase(Group) Then bFound=True

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





ben
Le #17410141
Rebonjour,

J'ai essaié :
If LCase(userClass) = LCase(Group) Then bFound=True
ou alors
If UCase(userClass) = UCase(Group) Then bFound=True

Cela ne marche pas.
userclass CM1 et différent du Groupcm1 ?.
***********************************************
if userCLASS <> "" then

userMemberOf = ""
found = 0
userMemberOf = objUser.GetEx("MemberOf")
For Each Line In userMemberOf
Group=""
Group = split(split(Line,",")(0),"=")(1)
'if userClass = Group then found=1
If UCase(userClass) = UCase(Group) Then bFound=True
'If LCase(userClass) = LCase(Group) Then bFound=True

Next
if found = 0 then
data = "-----> " & userPreWindows & ": Gr=" & Group & " Dept=" &
userClass
'data = "-----> " & userPreWindows & ": " & Group & " " & userClass
wscript.echo data
file.writeLine data
*********************************************************
Cordialement.

"Gilles LAURENT [MVP]" wrote:

"ben" news:
| Bonjour,

Bonjour,

| J'ai un soucis avec la casse.
| La variable userClass (attribut department user dans l'AD) est en
| majuscule. Le Group est en minuscule .
| Bien qu'ils portent le même nom, le script les considère comme
| différent . Avez vous une idée pour résoudre ce problème ?.
[...]

VBScript dispose de deux fonctions permettant de convertir une chaine de
caractères en minuscule (LCase) ou majuscule (UCase). Donc pour comparer
deux chaines de caractères en ignorant la casse :

If LCase(userClass) = LCase(Group) Then bFound=True

ou alors

If UCase(userClass) = UCase(Group) Then bFound=True

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





Gilles LAURENT [MVP]
Le #17410571
"ben" news:
| Rebonjour,

Re !

| J'ai essaié :
| If LCase(userClass) = LCase(Group) Then bFound=True
| ou alors
| If UCase(userClass) = UCase(Group) Then bFound=True
|
| Cela ne marche pas.
| userclass CM1 et différent du Groupcm1 ?.

Dans mon exemple, j'utilise la variable booléenne "bFound" tandis que
dans votre script vous utilisez d'une part la variable entière "found"
et la variable booléenne "bFound". Il faut donc homogénéïser tout cela
et vous verrez ! cela ira mieux ensuite :-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
ben
Le #17410721
Avec cette modifie cela marche.
If UCase(userClass) = UCase(Group) Then found=1

Quelle différence entre bfound=true et found=1 ?.

Cordialement.


"Gilles LAURENT [MVP]" wrote:

"ben" news:
| Rebonjour,

Re !

| J'ai essaié :
| If LCase(userClass) = LCase(Group) Then bFound=True
| ou alors
| If UCase(userClass) = UCase(Group) Then bFound=True
|
| Cela ne marche pas.
| userclass CM1 et différent du Groupcm1 ?.

Dans mon exemple, j'utilise la variable booléenne "bFound" tandis que
dans votre script vous utilisez d'une part la variable entière "found"
et la variable booléenne "bFound". Il faut donc homogénéïser tout cela
et vous verrez ! cela ira mieux ensuite :-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr





Gilles LAURENT [MVP]
Le #17410851
"ben" news:
| Avec cette modifie cela marche.
| If UCase(userClass) = UCase(Group) Then found=1
|
| Quelle différence entre bfound=true et found=1 ?.

- le nom de la variable (bFound <> found)
- le type de la variable (booléen <> entier)

Boolean, type de donnée :
http://msdn.microsoft.com/fr-fr/library/wts33hb3(VS.80).aspx

Quelques exemple :
WScript.Echo TypeName (1=1)
=> Boolean
WScript.Echo TypeName(1)
=> Integer
WScript.Echo TypeName(CBool(1))
=> Boolean
WScript.Echo True
=> -1
WScript.Echo False
=> 0
WScript.Echo CStr(1=1)
=> Vrai
WScript.Echo CStr(0=1)
=> Faux

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Publicité
Poster une réponse
Anonyme