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 :

WMI + VBS + VB.net


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 94
    Par défaut WMI + VBS + VB.net
    Bonjour,

    Voilà ça fait une semaine que je deviens fou à trouver une manière de régler mon souci mais là je craque ^^ Je me tourne vers vous car je me dis souvent qu'un oeil extérieur et neuf sur le problème peut apporter une réponse.

    Tout d'abord le code. Pour faire court, j'ai une application vb.net qui fait appel à un script vbs mais j'ai un souci avec le script vbs lors de l'appel vb.net.

    Code vb.net :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim sw As StreamWriter = New StreamWriter("C:\Documents and Settings\Michael BRUNIAS\Bureau\Liste.txt")
                Dim tmp As String = adresseip & " " & compteadmin & " " & mdpadmin
                sw.Write(tmp)
                sw.Close()
                Dim Processus As New ProcessStartInfo("C:\Documents and Settings\Michael BRUNIAS\Bureau\wmi.vbs")
                Process.Start(Processus)
                If (File.Exists("C:\info.txt")) Then
                    Dim sr As StreamReader = New StreamReader("C:\info.txt")
                    contenu = sr.ReadLine
                    chaine = contenu.Split(carTrim)
                    TextBox8.Text = chaine(0)
                    TextBox9.Text = chaine(1)
                End If
    Code script vbs

    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
    49
    50
    51
    52
    53
    'Initialisation des variables
     
    Const ForReading = 1
    Const ForWriting = 2
    Dim oFso, f, w
    Dim chaine
     
    Set Fsw = CreateObject("Scripting.FileSystemObject")
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set f = oFso.OpenTextFile("C:\Documents and Settings\Michael BRUNIAS\Bureau\Liste.txt", ForReading)
    While Not f.AtEndOfStream
    	ligne = f.readLine
    	chaine = split(ligne," ")
    	strComputer = chaine(0)
    	strUser = chaine(1)
    	strPassWord = chaine(2)
     
    	os = ""
     
    'On récupére les données désirées
    	Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
    	Set objWMIService = objSWbemLocator.ConnectServer(strComputer,_
    		"root\CIMV2",_
    		strUser,_
    		strPassword,_
    		"MS_409",_
    		"ntlmdomain:" + strDomain)
    'On récupere l'OS du PC
    	Set colItems = objWMIService.ExecQuery(_
    		"Select * FROM Win32_OperatingSystem",,48)
    	For Each objItem in colItems
    		os = objItem.Name
    	Next
    'On récupere le constructeur du PC
    	Set colItems = objWMIService.ExecQuery(_
    			"SELECT * FROM Win32_BIOS",,48)
    		For Each objItems in colItems
    			manufac = objItems.Manufacturer
    		Next
     
    'on créer un fichier avec les informations souhaités
    	information = manufac & ":" & os
    	if (Fsw.FileExists("C:\info.txt")) Then
    		w = Fsw.OpenTextFile("C:\info.txt",ForWriting,true)
    		w.write(information)
    		w.close()
    	Else 
    		Set w = Fsw.createtextFile("C:\info.txt")
    		w.write(information)
    		w.close()		
    	End if
    Wend
    f.close()
    Le script semble bloqué ligne 44, mais je comprend pas pourquoi parce que quand je l'utilise en dehors de l'application vb.net, il se déroule sans accro alors là je dois bien avouer que je sèche ^^

    J'allais oublier mon erreur : permission refusée (je pense que tout est dit)

    En tout cas merci à ceux qui vont me répondre

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

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,
    vite fait, je dirais que ton code .net verrouille ton fichier "info.txt" et
    interdit l'accès en écriture à ton code vbs...
    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 confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 94
    Par défaut
    Désolé pour la lenteur de ma réponse mais pour faire court : vacances.

    Je viens de revenir de vacances et je dois dire que j'ai trouvé une solution en mettant en place un Timer qui me permet d'attendre la fin d'exécution pour continuer le programme.

    Merci à tous pour vos réponses

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

Discussions similaires

  1. Interoperabilite entre VBS et .net
    Par WOLO Laurent dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 20/01/2010, 12h31
  2. Convertir VBS -> VB.NET (2 lignes de code)
    Par arnofly dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 09/04/2009, 17h15
  3. [VB.NET] Transformer code VBS en VB.NET
    Par Marcello dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/12/2005, 16h59

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