Question Question sur les IF

Plus d'informations
il y a 14 ans 7 mois #9991 par Juro
Question sur les IF a été créé par Juro
Bonjour.

Il y a un petit truc que je ne comprend pas dans le PS avec le IF

Voici un exemple :
[code:1]
$OS = (Get-WmiObject Win32_OperatingSystem).Version
IF($OS=\"6.1\"«») {Start-Process powershell -Verb Runas -ArgumentList '-command \"C:\WoW_AutoLogon\WASP\Install.ps1 -Force\"'}
IF($OS=\"5.1\"«») {PowerShell C:\WoW_AutoLogon\WASP\Install.ps1 -Force}
[/code:1]
Sachant que je suis sur Seven(6.1) donc le IF de XP(5.1) doit retourner Faux et ne pas appliquer la commande et pourtant le script execute les deux IF.

Ai-je mal syntaxer IF ?

Cordialement.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #9992 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Question sur les IF
Bonjour,

Ai-je mal syntaxer IF ?


Oui :)

Pour ce genre de comparaison, tu dois utiliser '-eq' et non pas le signe '=' (Qui au passage, permet de donner une valeur à une variable : dans ton cas, les 2 conditions sont donc toujours vraie).

Pour plus d'informations sur les opérateurs de comparaison, tu peux saisir dans une console PoSh :

[code:1]Get-Help About_Comparison_Operators[/code:1]

... Ou directement aller sur le lien suivant :

about_Comparison_Operators

Enjoy B)

@ +

Matthew BETTON<br><br>Message édité par: Matthew BETTON, à: 5/08/11 17:33

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #9997 par Juro
Réponse de Juro sur le sujet Re:Question sur les IF
:blink: Sa explique beaucoup de choses.

Je te remercie pour ton lien, mais plutot que -eq, je vais utiliser -like vu que 6.1 ou 5.1 ne sont pas complet, la flegme de noter la suite.

Vista c'est 6.0 il me semble.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #9998 par Juro
Réponse de Juro sur le sujet Re:Question sur les IF
Finalement -match est plus adapté.

Merci encore.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #9999 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Question sur les IF
y'a pas vraiment de solution plus adaptée.

Tu peux :
[code:1]-match '^6\.1'[/code:1]
ou
[code:1]-like '6.1*'[/code:1]

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10050 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Question sur les IF
Salut,
Richard Lazaro écrit:

y'a pas vraiment de solution plus adaptée.

Si on passe par WMI, on récupére une information de version de type string. Ici je suis d'accord
Mais si on passe par la classe statique [System.Environment]::OSVersion, on récupère d'autres informations dans un format dédié ( le membre version de la classe [System.Version]).
Un exemple en C# , code 'facilement' adaptable si on connait un tant soit peu le C#.<br><br>Message édité par: Laurent Dardenne, à: 17/08/11 14:20

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.044 secondes
Propulsé par Kunena