IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Select qui ne fonctionne pas sur script VBS


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Select qui ne fonctionne pas sur script VBS
    Salut !
    Je suis en train d'élaborer un script qui récupère des valeurs WMI pour ensuite exécuter des actions en fonction.

    Je bute sur un problème. Je récupère actuellement 2 valeurs WMI, le BuildNumber et OsArchitecture.

    Quand je fais un select sur le buildnumber ca fonctionne, et par contre pas sur le osarchitecture, malgré que la valeur soit exacte.

    Je dois surement oublié quelque chose.

    Je vous joins l'ébauche de script qui ne fait que du msgbox pour le moment.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    'Script pour modifier le bios de la machine
    strComputer = "."
    ' Requete pour trouver le Modele du poste pour les drivers 
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
    Set colWMIItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem",,48)
     
    For Each objWMIItem in colWMIItems 
    Architecture = replace((TRIM(objWMIItem.osarchitecture))," ","")
    BuildNumber = objWMIItem.BuildNumber
    Next
     
    'msgbox("Case Architecture Windows en : " & Architecture)
     
    ' Variable Declaration
    Dim objShell
    Dim objFSO
    ' Variable Initialisations
    Set objShell = WScript.CreateObject("WScript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    ' Action du Maj du bios en fonction du Model
     
    Select Case Architecture
     
    Case "32Bits"
    msgbox("Case Architecture Windows en : " & Architecture)
    msgbox BuildNumber
    Case "64Bits"
            msgbox("Case Architecture Windows en : " & Architecture)
    msgbox Architecture
    msgbox BuildNumber
    End Select
     
     
    ' Action du Maj du bios en fonction du Model
    Select Case BuildNumber
    Case "7601"
    msgbox("Case BuildNumber Windows en : " & BuildNumber)
     
    Case "2600"
          msgbox("Case BuildNumber Windows en : " & BuildNumber)
     
    End Select
    Si vous avez une idée...

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    bonjour,
    il me semble que la propriété OsArchitecture est de la forme "32-bit" ou "64-bit"
    et non "32 Bits" ou "64 Bits"
    donc ta variable Architecture ne risque pas de prendre les valeurs attendues dans ton Select...
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    J'y avais pensé, mais quand tu lances le script et que tu fais une petite msgbox juste avant le select, tu verras que la valeur n'est pas sous cette forme.
    Alors que effectivement, quand je lance une commande type WMIC OS get OSARCHITECTURE, j'ai bien la valeur que tu me mentionnes.

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    bonsoir,

    rajoute un "case else" .. du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    case else
             msgbox "<" & Architecture & ">"
    end select
    [Edit] finalement entre-temps j'ai fait ce test ... c'est pas 32Bits mais 32bits

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Ah bah mince,
    Avec tous les tests que j'ai fait, j'ai pas fais gaffe à la casse...
    Ca fonctionne sur mon portable de test.

    Je validerai cela demain.

    Merci du tuyau...

Discussions similaires

  1. [NASM] Int 21h qui ne fonctionne pas sur mon mini OS
    Par andromeda dans le forum Assembleur
    Réponses: 4
    Dernier message: 07/04/2007, 18h03
  2. Script JSP qui ne fonctionne pas sur n'importe quel poste
    Par vannary dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 18/12/2006, 11h56
  3. requête de selection qui ne fonctionne pas
    Par emmablue dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 28/07/2006, 13h55
  4. Requete qui ne fonctionne pas sur toutes les versions de MySQL
    Par goldorax113 dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/06/2006, 11h04
  5. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo