on error resume next.
Le
olivier
Bonjour,
J'ai un soucis avec la commande on error resume next.
J'ai ecrit ce script qui me liste les users du groupe local administrateur
d' un micro par :
Set oGroupe = GetObject("WinNT://"&oComputercorr &"/Administrateurs")
For Each oMembre In oGroupe.Members
wscript.echo "" & oMembre.Name
next
Cette partie de script fait également partie d'une boucle ou oComputercorr
varie.
Le script fonctionne sauf quand le Pc appellé par le Winnt:// est eteint.
J'ai alors une erreur (null) : le chemin réseau n'a pas été trouvé et le
script S 'ARRETE
Quand je lui colle un ON ERROR RESUME NEXT, il ne s'arrête plus . Mais il me
donne alors le contenu du micro d'avant pour le pc éteint.
Ce sera plus parlant avec le résultat visuel :
http://oprhardy.free.fr/go2.jpg
M355084 est eteint c onbtrairement aux autre machines. Quand je ne précise
pas "on error resume next" le script s'arrete sur un message d'erreur.
Quand je précise, il continue et me donne une info, je pense que les
variables sont restées à la valeur précédente.
Le script entier :
on error resume next
set oOU = getobject
("LDAP://c463caefr01/ou=mag,ou=cti-cae,dctinet,dc=com")
for each oComputer in oOU
oComputercorr = replace(oComputer.name, "CN=", "")
wscript.echo "utilisateur du groupe administrateur: " & oComputercorr
Set oGroupe = GetObject("WinNT://"&oComputercorr &"/Administrateurs")
For Each oMembre In oGroupe.Members
wscript.echo "" & oMembre.Name
next
wscript.echo " "
next
Voilà j'ai essayé de voir avec les if err.number<>0 mais ca ne me donne
rien. Si quelqu'un peut m'aider. En fait je souhaiterais que mon script
m'indique : " Micro non joignable" quand la commande echoue et non pas me
donner des valeurs fantaisiste probablement du micro précédent.
Merci
Olivier Hardy
J'ai un soucis avec la commande on error resume next.
J'ai ecrit ce script qui me liste les users du groupe local administrateur
d' un micro par :
Set oGroupe = GetObject("WinNT://"&oComputercorr &"/Administrateurs")
For Each oMembre In oGroupe.Members
wscript.echo "" & oMembre.Name
next
Cette partie de script fait également partie d'une boucle ou oComputercorr
varie.
Le script fonctionne sauf quand le Pc appellé par le Winnt:// est eteint.
J'ai alors une erreur (null) : le chemin réseau n'a pas été trouvé et le
script S 'ARRETE
Quand je lui colle un ON ERROR RESUME NEXT, il ne s'arrête plus . Mais il me
donne alors le contenu du micro d'avant pour le pc éteint.
Ce sera plus parlant avec le résultat visuel :
http://oprhardy.free.fr/go2.jpg
M355084 est eteint c onbtrairement aux autre machines. Quand je ne précise
pas "on error resume next" le script s'arrete sur un message d'erreur.
Quand je précise, il continue et me donne une info, je pense que les
variables sont restées à la valeur précédente.
Le script entier :
on error resume next
set oOU = getobject
("LDAP://c463caefr01/ou=mag,ou=cti-cae,dctinet,dc=com")
for each oComputer in oOU
oComputercorr = replace(oComputer.name, "CN=", "")
wscript.echo "utilisateur du groupe administrateur: " & oComputercorr
Set oGroupe = GetObject("WinNT://"&oComputercorr &"/Administrateurs")
For Each oMembre In oGroupe.Members
wscript.echo "" & oMembre.Name
next
wscript.echo " "
next
Voilà j'ai essayé de voir avec les if err.number<>0 mais ca ne me donne
rien. Si quelqu'un peut m'aider. En fait je souhaiterais que mon script
m'indique : " Micro non joignable" quand la commande echoue et non pas me
donner des valeurs fantaisiste probablement du micro précédent.
Merci
Olivier Hardy

Poser une question


vous pouvez par exemple faire :
on error resume next
[...]
set oGroupe=nothing
set oGroupe="GetObj([...])
if not(oGroupe is nothing) then
'connecté -> enumération
else
'pas connecté ->rien ou msg d'erreur
end if
"olivier" 4249c500$0$11790$
Ca résoud bien mon problème.
Encore une petite chose d'un ordre, j'ai une trentaine d' O.U à traiter par
mon :
set oOU = getobject
("LDAP://c463caefr01/ou=mag,ou=cti-ca...=com")
[...]
Plutôt que de faire 30 copier-coller du script en remplaçant l' ou=... par
le bon nom.
Y'a t'il possibilité de définir une sorte de variable XXX qui aurait comme
valeur possible toutes les noms contenus dans une déclaration genre:
DATA mag, machin, tartenpion, tutu, titi
Et faire boucler mon script a chaque valeur de XXX .
set oOU = getobject
("LDAP://c463caefr01/ou=XXX,ou=cti-ca...=com")
Merci
Olivier
olivier nous dit :
Bonsoir,
La fonction Array semble toute indiquée, exemple :
Dim a
a=Array("lundi", "mardi", "mercredi")
For i=0 to 2
MsgBox a(i)
Next
(à compléter jusqu'à dimanche)
Dans ton cas :
Dim ou
ou=Array("OU1", "OU2", "OU3", .........
For Index=0 To N-1
Path = "LDAP://c463caefr01/ou=" & ou(Index) &
",ou=cti-cae,dcdcnet,dc=com"
Set oOU=GetObject(Path)
etc ...
Next
--
Fred