Question
Question sur les IF
- Juro
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
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.
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.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
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,
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
@ +
Matthew BETTON<br><br>Message édité par: Matthew BETTON, à: 5/08/11 17:33
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
@ +
Matthew BETTON<br><br>Message édité par: Matthew BETTON, à: 5/08/11 17:33
Connexion ou Créer un compte pour participer à la conversation.
- Juro
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 14 ans 7 mois #9997
par Juro
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.
Réponse de Juro sur le sujet Re:Question sur les IF
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.
- Juro
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
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.
Merci encore.
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 14 ans 7 mois #9999
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
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.
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 }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 14 ans 7 mois #10050
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Question sur les IF
Salut,
Richard Lazaro écrit:
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
Richard Lazaro écrit:
Si on passe par WMI, on récupére une information de version de type string. Ici je suis d'accordy'a pas vraiment de solution plus adaptée.
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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Question sur les IF