Gå til innhold

VBS script for ping resultat


Anbefalte innlegg

Videoannonse
Annonse

I mine øyne må den definitivt letteste metoden å løse dette på være å kjøre Ping.exe med de riktige paramentre og deretter analysere dets utdata, eksempelvis som følger:

Dim sTarget, sOutput, sCommand, oShell, oPing

Dim nRequests, iTTL, iBufferSize, wTimeout

 

' Hent destinasjonsdatamaskinen vi skal pinge

sTarget = InputBox("Skriv IP-adressen du vil pinge.", "Destinasjon")

 

' Konfigurasjon

nRequests = 1 ' Antall anmodninger å sende (øk om ustabile servere skaper unøyaktige tester)

iTTL = 255 ' Time To Live - hvor mange ledd ICMP-pakken kan traversere.

iBufferSize = 32 ' Bufferstørrelsen av tilfeldig data som skal sendes

wTimeout = 2000 ' Hvor mange millisekunder en skal vente på hvert svar

 

' IKke fortsett dersom brukeren kansellerte pinget

If LenB(sTarget) <> 0 Then

 

    ' Initialiser nødvendig komponent

    Set oShell = CreateObject("WScript.Shell")

 

    ' Bygg kommando som skal ekseveres

    sCommand = "ping -n " & nRequests & " -l " & iBufferSize & " -i " & iTTL _

                & " -w " & wTimeout & " " & sTarget

   

    ' Ping denne addressen

    Set oPing = oShell.Exec(sCommand)

   

    ' Hent utdata

    sOutput = oPing.StdOut.ReadAll

 

    ' Benytter en meget simpel metode for å avgjøre hvorvidt pinget var suksessrikt eller ei (ser etter strengen "Reply from")

    If InStr(1, sOutput, "reply from", vbTextCompare) <> 0 Then

        ' Kjør et program (her Notepad)

        oShell.Run "Notepad.exe", 1, True

    Else

        MsgBox "Kunne ikke kontakte " & sTarget & ".", vbCritical

    End If

   

End If

Endret av aadnk
Lenke til kommentar

Takker så meget!.

 

Fungerte utmerket.

 

aadnk scriptet ditt var noe helt annet en det jeg hadde forsøk, jeg var helt på bærtur :blush:

 

Hvordan få den til å søke etter både "reply from" og "svar fra"....

Har en med xp no og en med xp en :roll:

 

Takker igjen.

 

Edit: PS, er det mulig å tvinge fokus på et vindu med vbs....

Endret av Hagforce
Lenke til kommentar

Hvordan få den til å søke etter både "reply from" og "svar fra"....

Har en med xp no og en med xp en  :roll:

Såklart. Erstatt den første linjen i den siste IF-setningen med følgende:

If InStr(1, sOutput, "reply from", vbTextCompare) <> 0 Or _

    InStr(1, sOutput, "svar fra", vbTextCompare) <> 0 Then

 

Edit: PS, er det mulig å tvinge fokus på et vindu med vbs....

Bruk AppActivate:

oShell.AppActivate("Notepad") ' Endre notepad til tittel eller EXE-navn på programmet du ønsker å aktivere
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...