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

VB.NET Discussion :

connaitre le moment de dernier reboot avec WMI


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 158
    Par défaut connaitre le moment de dernier reboot avec WMI
    Bonjour à tous,
    je cherche à connaitre le moment de dernier reboot d'une machine de mon réseau, via WMI.
    Quand je clicke sur le bouton de mon application, absolument rien ne ce passe , il ne m'affiche rien.

    Quelqu'un pourrait-il jeter un coup d'oeil à mon code et me dire ce qui ne va pas svp?
    Bien à vous.
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    <%@ Page Language="VB" %>
    <%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.SqlClient" %>
    <%@ import Namespace="System.Web.Mail" %>
    <%@ import Namespace="System.IO" %>
    <%@ import Namespace="System.DirectoryServices" %>
    <%@ import Namespace="System.Configuration" %>
    <%@ import Namespace="System.Net" %>
    <%@ import Namespace="System" %>
    <%@ import Namespace="System.Net.DNS" %>
    <%@ import Namespace="System.ComponentModel" %>
    <%@ import Namespace="System.Management" %>
    <%@ import Namespace="System.Runtime.InteropServices" %>
    <%@ import Namespace="System" %>
    <%@ import Namespace="ActiveDs" %>
    <%@ import Namespace="System.Management.ConnectionOptions" %>
    <%@ import Namespace="System.Diagnostics.Process" %>
    <script runat="server">
     
        ' Insert page code here
        '
     
     
        Sub Button1_Click(sender As Object, e As EventArgs)
     
        Dim co As ConnectionOptions = New ConnectionOptions()
     
            With co
            .Impersonation = System.Management.ImpersonationLevel.Impersonate
            '* Use next line for XP
            .Authentication = System.Management.AuthenticationLevel.Packet
            '* Use next line for Win prior XP
            '.Authentication = System.Management.AuthenticationLevel.Connect
        End With
     
        co.Username = "toto"
        co.Password = "toto"
     
        Dim theScope As New ManagementScope("\\192.168.1.2\root\cimv2",co)
        Dim theQuery As New System.Management.ObjectQuery("SELECT * From Win32_ComputerShutdownEvent")
        Dim theSearcher As New ManagementObjectSearcher(theScope, theQuery)
        Dim theCollectionOfResults As ManagementObjectCollection = theSearcher.Get()
     
        For Each currentResult As ManagementObject In theCollectionOfResults
             response.write("Type:"& currentResult(Convert.ToInt32("TIME_CREATED")))
             Response.Write("<br>")
             Response.Write("<br>")
        Next
     
        End Sub
     
    </script>
    <html>
    <head>
    </head>
    <body>
        <form runat="server">
            <p>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            </p>
            <p>
                &nbsp;
            </p>
            <p>
                &nbsp;
            </p>
            <p>
                &nbsp;
            </p>
            <p>
                &nbsp;
            </p>
            <p>
                &nbsp;
            </p>
            <p>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
            </p>
            <!-- Insert content here -->
        </form>
    </body>
    </html>

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu n'as pas besoin de WMI pour ça : la propriété System.Environment.TickCount renvoie le nombre de millisecondes écoulées depuis le démarrage du système. A partir de là, tu peux calculer la date et l'heure du dernier reboot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim rebootTime As DateTime = DateTime.Now.AddMilliseconds(- System.Environment.TickCount)

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 158
    Par défaut
    Bonjour Tomlev,
    je viens juste de tester la solution que tu m'a proposée, et ça fonctionne. La seule petite chose qui "m'inquiète" c'est que l'heure qui m'ait donnée, est la même pour toutes les machines est ce que c'est normal ?

    Bien à toi.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Euh... c'est normal si elles ont toutes redémarré à la même heure
    Est-ce que les résultats sont plausibles au moins ?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 158
    Par défaut
    Re bonjour
    j'ai testé plusieurs fois ta solution, et apparemment les résultats ne sont pas vraiment "réaliste". J'ai l'impression qu'il m'affiche uniquement la date et l'heure du dernier reboot de la machine locale, c'est pour ça qu'il m'affiche la même et la même date pour toutes les machines.

    Crois-tu qu'il existe un moyent de mettre cette en réseau ?

    Bien à toi.

  6. #6
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    Citation Envoyé par momoh Voir le message
    Re bonjour
    j'ai testé plusieurs fois ta solution, et apparemment les résultats ne sont pas vraiment "réaliste". J'ai l'impression qu'il m'affiche uniquement la date et l'heure du dernier reboot de la machine locale, c'est pour ça qu'il m'affiche la même et la même date pour toutes les machines.

    Crois-tu qu'il existe un moyent de mettre cette en réseau ?

    Bien à toi.
    .NET Remoting ?

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par momoh Voir le message
    j'ai testé plusieurs fois ta solution, et apparemment les résultats ne sont pas vraiment "réaliste". J'ai l'impression qu'il m'affiche uniquement la date et l'heure du dernier reboot de la machine locale, c'est pour ça qu'il m'affiche la même et la même date pour toutes les machines.
    Ah oui, Environment.TickCount ne marche que sur la machine où le code s'exécute... j'avais lu un peu vite, et pas réalisé que tu voulais le faire pour toutes les machines d'un réseau.

    Donc il faudrait sans doute revenir à ta solution initiale avec WMI. Essaie de déboguer ce code en pas à pas pour voir où se situe le problème

Discussions similaires

  1. Recuperer dernier ID avec IDENTITY_VAL_LOCAL()
    Par Mercenary Developer dans le forum DB2
    Réponses: 2
    Dernier message: 25/06/2007, 11h13
  2. [cURL] Tester le temps de la dernière requête avec cURL
    Par brasco06 dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 13/10/2006, 17h11
  3. [2.0] Pourquoi manque-t-il le dernier byte avec GZipStream ?
    Par tooff dans le forum Framework .NET
    Réponses: 5
    Dernier message: 08/09/2006, 15h07
  4. Connaitre PID d'un process lancé avec exec()
    Par hugo123 dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2006, 14h28
  5. Réponses: 3
    Dernier message: 19/10/2005, 15h58

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