Stránka 1 z 1

ping v *.bat subore

Napsal: 07 lis 2018 15:18
od ledagdo
Dobry den. Potreboval by som prikaz v bat subore ktory by mi po neuspesnom pingu vypisal NIE JE TU alebo po uspenom JE TU.
resp. keby mi to niekto pomohol dopisat do mojho

@echo off
echo.

ping 192.168.10.153 -n 2
echo.
pause

Ano som lama ale aj tak dakujem

Re: ping v *.bat subore

Napsal: 07 lis 2018 15:49
od Uziv00
Vítej na PC-HELP!
Nemůžu sloužit s *.bat
Ale nabízím skript ve vbs, který sám používám:

Kód: Vybrat vše

'****************************************************
'*        Skript pingne počítač strHost             *   
'****************************************************
'*           Vytvořeno pro PC-HELP                  *
'*        Etienn@Script v 1.0   (c)2018             *
'****************************************************

Dim Shell, strCommand, strHost, ReturnCode, text
strHost = "127.0.0.1"

'Create shell object
Set Shell = wscript.createObject("wscript.shell")

'What to run in command line
strCommand = "ping -n 1 -w 1000 " & strHost

'Run command and get return code
ReturnCode = Shell.Run(strCommand, 0, True)

'0 = pingable, 1 = no response
  If ReturnCode = 0 Then
  text = strHost & vbTab & " ping OK" & vbCrLf
  Else
  text = strHost & vbTab & " NO ping" & vbCrLf
  End If
MsgBox text, vbOKOnly + vbInformation, " Test pingu:"

'Remove shell object
Set Shell = Nothing

POZNÁMKA:
Text zkopíruj do notepadu (či podobně) a ulož s příponou .vbs. NEPOUŽÍVAT WORD, ANI JINÝ TEXTOVÝ EDITOR!!
Poklepáním spustíš.
IP adresa pro ping je v závorkách u proměnné strHost. 127.0.0.1 bude fungovat i u tebe.

Re: ping v *.bat subore

Napsal: 07 lis 2018 16:13
od Microsheep
bat

Kód: Vybrat vše

ping -n 2 192.168.1.1 | find "TTL=" >nul
if errorlevel 1 (
    echo "nie je tu"
) else (
    echo "je tu"
)


powershell

Kód: Vybrat vše

$ping = Test-Connection 192.168.1.1 -Count 2 -Quiet
If ($ping) {
    echo "je tu"
}
else {
    echo "nie je tu"
}

pokud alespon 1 ping dorazi tak je vysledek "je tu" u obou

Re: ping v *.bat subore

Napsal: 08 lis 2018 11:59
od ledagdo
Dakujem Vam. Ako by som do toho vbs skriptu pridal este dalsie IP adresy? Aby mi v tom jednom okne vypisoval dostupnost viacerych pocitacov. Dufam, ze neotravujem.

Re: ping v *.bat subore

Napsal: 08 lis 2018 12:31
od Uziv00
Tos mohl taky napsat hned :-)

Kód: Vybrat vše

'****************************************************
'*        Skript pingá počítače strHost             *   
'****************************************************
'*           Vytvořeno pro PC-HELP                  *
'*        Etienn@Script v 1.1   (c)2018             *
'****************************************************

Option Explicit

Dim Shell, strCommand, strHost, ReturnCode, textY, textN, i
strHost = Array ("10.0.0.16", "10.0.0.17", "10.0.0.18", "10.0.0.19", "10.0.0.20")

'Create shell object
Set Shell = wscript.createObject("wscript.shell")

For i = 0 To 4
'What to run in command line
strCommand = "ping -n 1 -w 1000 " & strHost(i)
'Run command and get return code
ReturnCode = Shell.Run(strCommand, 0, True)
'0 = pingable, 1 = no response
  If ReturnCode = 0 Then
  textY = textY & strHost(i) & vbTab & " ping OK" & vbCrLf
  Else
  textN = textN & strHost(i) & vbTab & " NO ping" & vbCrLf
  End If
Next

MsgBox textY, vbOKOnly + vbInformation, "Pingy OK"
If textN <> "" Then
MsgBox textN, vbOKOnly + vbCritical, "Nepingající servery"
End If

'Remove shell object
Set Shell = Nothing


Počet počítačů můžeš upravit rozšířením pole Array. A následně počet cyklů For/Next

Re: ping v *.bat subore

Napsal: 08 lis 2018 12:48
od ledagdo
Diki Diki, a keby mi este vedla IPecky vypisoval aj nazov pocitaca? Samozrejme to dopisem do tvojho skriptu ja...;))

Dodatečně přidáno po 23 minutách 8 vteřinách:
Prisiel som na to. Vedla IP som dopisal nazov. Tak mi to staci. Velke DIKES za pomoc.

Re: ping v *.bat subore

Napsal: 08 lis 2018 13:15
od Uziv00
Tak to už tak jednoduché není.
1. a nejjednodušší možnost - vytvoříš další pole s názvy tak, aby název a IP odpovídaly indexu i.
2. použít konzoli WMI, zde ale musíš znát admin přístup k okolním počítačům. Navíc musí být ve firewallu prostup pro WMI, což ve výchozím nastavení není.
3. Pokud je doména, pak použít nslookup, to ale mám pouze ve stadiu pokusu. A zatím neúspěšného.

Dodatečně přidáno po 56 vteřinách:
Není zač. Označ téma jako vyřešené (zelené zatržítko).

Re: ping v *.bat subore

Napsal: 08 lis 2018 14:51
od ledagdo
1. a nejjednodušší možnost - vytvoříš další pole s názvy tak, aby název a IP odpovídaly indexu i.

kurnik neviem to spravit.... som debko

Dodatečně přidáno po 1 minutě 28 vteřinách:
takto nejako?
strHost = Array ("192.168.10.1", "192.168.10.2", "192.168.10.3")
strHost = Array ("NAME1", "NAME2", "NAME3")

Re: ping v *.bat subore

Napsal: 08 lis 2018 15:42
od Uziv00
Ta proměnná musí být jiná.
třeba strHostName. Nelze mít stejnou proměnnou pro dvě různé věci.
A řádek pro zobrazení pak upravíš: textY = textY & strHost(i) & vbTab & strHostName(i) & vbTab & " ping OK" & vbCrLf

Re: ping v *.bat subore  Vyřešeno

Napsal: 09 lis 2018 07:53
od ledagdo
taaak, uz pomali tomu zacinam rozumiet, funguje to naparadu...;) Dakujem velmi pekne. Este sa musim niekde docitat ako sa nastavuju farby, resp. ci sa to vobec da..;)