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 :

vbscript:exécuter une ligne dans un systeme d'exploitation précis?


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Points : 6
    Points
    6
    Par défaut vbscript:exécuter une ligne dans un systeme d'exploitation précis?
    Bonjour

    En vbscript comment faire pour que juste une ligne ne soit exécuter que sur seven par exemple?

    Il y a pas un genre de conditions comme dans le langage C ou autre..?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Points : 6
    Points
    6
    Par défaut
    Merci de ton aide..

    Je comprends pas ce script..

    Il fait quoi exactement?

  4. #4
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Il test le type de Windows et autre.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par Sun2k Voir le message
    En vbscript comment faire pour que juste une ligne ne soit exécuter que sur seven par exemple

    postez votre code et soyez plus explicite

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    postez votre code et soyez plus explicite
    Voila je souhaiterais que le code en rouge ne soit pas exécuter sous xp

    Voici le code:

    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
    If WScript.Arguments.length =0 Then
    Set objShell = CreateObject("Shell.Application")
    objShell.ShellExecute "wscript.exe", Chr(34) & _
    WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
    Else
    
     Set wshell = CreateObject("WScript.Shell")
    wshell.Run "sc create Monprogram binPath= ""C:\dossier\Monprogram.exe /service""  DisplayName= Monprogram start= auto", 0, true 
    
    Set objFirewall = CreateObject("HNetCfg.FwMgr")
    Set objPolicy = objFirewall.LocalPolicy.CurrentProfile
    Set objApplication = CreateObject("HNetCfg.FwAuthorizedApplication")
    objApplication.Name = "Monprogram"
    objApplication.IPVersion = 2
    objApplication.ProcessImageFileName = "C:\dossier\Monprogram.exe"
    objApplication.RemoteAddresses = "*"
    objApplication.Scope = 0
    objApplication.Enabled = True
    Set colApplications = objPolicy.AuthorizedApplications
    colApplications.Add(objApplication)
    
    End If

  7. #7
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par hackoofr Voir le message
    Merci..

    As tu une idée pour adapter ces script au mien?

    J' ai fais plusieurs essai sans succès..

  9. #9
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Vous n'avez pas poster tout le code
    vous pouvez l'adapter comme ceci :
    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
    45
    46
    47
    48
    If FindOSType(".") = "Windows XP" Then 
    MsgBox "Exécution avec Windows XP",64,"Système d'exploitation"
    'votre code pour Windows XP
    Else
    MsgBox "Exécution avec Windows Seven ou bien Vista",64,"Système 
    d'exploitation"
    'Votre code pour les autres systèmes
    end if
     
    Function FindOSType(strComputer)
    'Defining Variables
        Dim objWMI, objItem, colItems
        Dim OSVersion, OSName, ProductType
     
    'Get the WMI object and query results
        Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
        Set colItems = objWMI.ExecQuery("Select * from Win32_OperatingSystem",,48)
     
    'Get the OS version number (first two) and OS product type (server or desktop) 
        For Each objItem in colItems
            OSVersion = Left(objItem.Version,3)
            ProductType = objItem.ProductType
        Next
    'Time to convert numbers into names
        Select Case OSVersion
        Case "6.1"
            OSName = "Windows 7"
        Case "6.0" 
            OSName = "Windows Vista"
        Case "5.2" 
            OSName = "Windows 2003"
        Case "5.1" 
            OSName = "Windows XP"
        Case "5.0" 
            OSName = "Windows 2000"
        Case "4.0" 
            OSName = "Windows NT 4.0"
        Case Else
            OSName = "Windows 9x"
        End Select
     
    'Return the OS name
        FindOSType = OSName
     
    'Clear the memory
        Set colItems = Nothing
        Set objWMI = Nothing
    End Function

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Points : 6
    Points
    6
    Par défaut
    ça fonctionne parfaitement merci beaucoup..

    Oui effectivement j'ai pas mis le code entièrement.. c'était pour être plus compréhensible..

    Juste une question pour dormir moins con

    Pourquoi l'affichage de la MsgBox ainsi que les conditions se trouve en début de code et non dernier? (dans la logique c'est a la fin non?)

  11. #11
    Nouveau membre du Club
    Profil pro
    Technicien Help Desk
    Inscrit en
    Décembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Décembre 2012
    Messages : 23
    Points : 29
    Points
    29
    Par défaut
    Car dans le code, il y a un test si [Résultat de fonction] = WindowsXP then / else / finsi, et que la MsgBox est exécutée après cela.
    La fonction elle-même en VBScript peut être déclarée n'importe-où dans le code, l'interpréteur de commandes s'en débrouille.
    Donc, pour des raisons de lisibilité/simplicité, le code exécuté (équivalent à une fonction imaginaire "main()") est placé en haut de page, suivi des déclarations de fonctions.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Points : 6
    Points
    6
    Par défaut
    Merci Daynvheur

    hackoofr :Comment faire pour FindOSType(".") soit = a Windows XP et Windows 2003 ?

    car le code du else sera executer si FindOSType(".") = aussi a Windows 2003 ou Windows 2000 ou Windows NT 4.0 ou Windows 9x

  13. #13
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Quelque chose comme ça :
    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
    45
    46
    If FindOSType(".") = "Windows XP"  or FindOSType(".") = "Windows 2003"_
    or FindOSType(".") = "Windows 2000" or FindOSType(".") = "Windows NT 4.0" or FindOSType(".") = "Windows NT 4.0" Then 
    MsgBox "Exécution avec Windows XP ou bien Windows 2003 ou bien Windows 2000 ou bien Windows NT 4.0 Windows 9x",64,"Système d'exploitation"
    Else
    MsgBox "Exécution avec Windows Seven ou bien Vista",64,"Système d'exploitation"
    end if
     
    Function FindOSType(strComputer)
    'Defining Variables
    Dim objWMI, objItem, colItems
    Dim OSVersion, OSName, ProductType
     
    'Get the WMI object and query results
    Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
    Set colItems = objWMI.ExecQuery("Select * from Win32_OperatingSystem",,48)
     
    'Get the OS version number (first two) and OS product type (server or desktop) 
    For Each objItem in colItems
        OSVersion = Left(objItem.Version,3)
        ProductType = objItem.ProductType
    Next
    'Time to convert numbers into names
    Select Case OSVersion
    Case "6.1"
        OSName = "Windows 7"
    Case "6.0" 
        OSName = "Windows Vista"
    Case "5.2" 
        OSName = "Windows 2003"
    Case "5.1" 
        OSName = "Windows XP"
    Case "5.0" 
        OSName = "Windows 2000"
    Case "4.0" 
        OSName = "Windows NT 4.0"
    Case Else
        OSName = "Windows 9x"
    End Select
     
    'Return the OS name
    FindOSType = OSName
     
    'Clear the memory
    Set colItems = Nothing
    Set objWMI = Nothing
    End Function
    Et surtout n'oublies pas si tu réussis à résoudre votre problème ,alors pensez à partager votre script final
    Bonne Chance

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 104
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Et surtout n'oublies pas si tu réussis à résoudre votre problème ,alors pensez à partager votre script final
    Bonne Chance
    Merci

    Mais dans le code complet il y a juste 2 truc a ajouter..

    C'est copie de dossier vers program files (de toi )

    et démarrer le service après l'avoir créer..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Dessiner une ligne dans un cube transparent ?
    Par Muetdhiver dans le forum OpenGL
    Réponses: 4
    Dernier message: 04/05/2004, 11h06
  2. Effacer une ligne dans la table nat
    Par vbcasimir dans le forum Sécurité
    Réponses: 2
    Dernier message: 11/01/2004, 00h15
  3. copier une ligne dans une autre table
    Par BoeufBrocoli dans le forum SQL
    Réponses: 5
    Dernier message: 24/10/2003, 22h59
  4. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30
  5. Déplacer la sélection d'une ligne dans un stringgrid
    Par jer64 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/03/2003, 00h57

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