Page 1 sur 1
[R] Or non pris en compte
Posté : mer. 06 nov. 2013 15:08
par turbif08
Bonjour,
J'essaye de faire un script d'installation avec exclusion de certains ordinateurs, sauf que n'importe quel ordinateur rentre dans mon If.
Code : Tout sélectionner
If @ComputerName <> "AJSOP002" Or "AJSOP003" Or "AJSO037" Then
RunAs("administrateur","domaine.local","password",1,"msiexec.exe /i \\srv-files\PowerPivot_for_Excel_x86.msi /passive")
Sleep(100)
EndIf
Merci d'avance

Re: [..] Or non pris en compte
Posté : mer. 06 nov. 2013 15:40
par Koumla
Bonjour,
Voir comme ça pour la syntaxe
Code : Tout sélectionner
$a = 0
If $a = "1" Or $a = "2" Or $a = "3" Then
ConsoleWrite("meme valeur" & @CRLF)
Else
ConsoleWrite("valeur differente" & @CRLF)
EndIf
Koumla
Re: [..] Or non pris en compte
Posté : mer. 06 nov. 2013 15:42
par jchd
Le Or que tu emploies est un OU logique qui va convertir les deux valeurs pour pouvoir effectuer une comparaison qui ait un sens. Appliqué à la condition telle que tu l'as écrite, l'ensemble équivaut à :
If (@ComputerName <> "AJSOP002") Or ("AJSOP003" <> "") Or ("AJSO037" <> "") Then
Tu comprends maintenant pourquoi ta condition est indépendante de @ComputerName car les deux dernières sous-conditions sont toujours vraies.
Ce qu'il faut dans un tel cas est :
Code : Tout sélectionner
Switch @ComputerName
Case "AJSOP002", "AJSOP003", "AJSO037"
; on ne touche pas aux machines taboues
Case Else
RunAs("administrateur","domaine.local","password",1,"msiexec.exe /i \\srv-files\PowerPivot_for_Excel_x86.msi /passive")
Sleep(100)
EndSwitch
Re: [..] Or non pris en compte
Posté : jeu. 07 nov. 2013 09:59
par turbif08
Code : Tout sélectionner
If (@ComputerName <> "AJSOP002") Or ("AJSOP003" <> "") Or ("AJSO037" <> "") Then
Sous cet angle en effet ce n'est pas ce que je veux faire du tout, ça fonctionne, merci.