GNT sans publicité, site mobile, fonctionnalitées exclusives...

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,dc­tinet,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
Lire les 3 réponses

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
Martin CLAVREUIL
Le #28748
bonjour,

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$
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-ca...=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




olivier
Le #28247
Merci Beaucoup !

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
Fred
Le #28243
Dans son message 424afff1$0$13220$
olivier nous dit :

Merci Beaucoup !

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


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,dc­dcnet,dc=com"
Set oOU=GetObject(Path)
etc ...
Next
--
Fred

Publicité
Suivre les réponses
Poster une réponse
Anonyme