Excel ile Sistem denetleme.

Katılım
11 Temmuz 2012
Mesajlar
15
Excel Vers. ve Dili
2007 ingilizce
İyi akşamlar;

Uzman Arkadaşlarıma bir soru sormak istiyorum,

Ben sistem mühendisi olarak çalışıyorum.Çalıştığım şirkette 100 yakın Switch bulunmakta ve 50 ye yakın server.

Excelde envanter listesi ve ip adres bilgilerini topluyordum daha sonra Baş ucu dosyası olarak hazırlamaya başladım.Daha önce Korhan bey bir konuda yardımcı oldu.Ancak şöyle bir seneryo gerçekleşir mi ?

Listemde bulunan switch lere ve server lara 10 dk bir ping attırsam ana çıkış hatlarıma tracert komutu ile durum bilgisi alsam ve belirlediğim kriterlerin altında bir durum var ise mail atmasını yada Whatzapp tarzı bir program ile mesaj göndermesini sağlıya bilirmiyiz.

Kriterler
Ping komutunda time zamanı 10 milisaniye üstünde olduğunda
ping komutu timed out yanıtı verdiğinde
Tracert komutu 10 milisaniyeden fazla yanıt verdiğinde
Tracert komutu timed out verdiğinde

Bu seneryo gerçekleşirse katkısı sistemde kopma yada yavaşlama olduğunda kaba taslak bir şekilde bilgi gelicek.

Lütfen farklı program önerilerinde bulunmayınız.Excelde olup olamayacağı konusunda bilgi vermenizi rica ederim.

şimdiden Teşekkürler.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Excel ile ping atılabilir ve ping sonuçlarına göre mailde atılabilir.
Ama ping sonuçları excele nasıl alınır, onu bilemiyorum.

. . .
 
Katılım
11 Temmuz 2012
Mesajlar
15
Excel Vers. ve Dili
2007 ingilizce
Merhaba
Açtığım konu ile ilgili aşağıdaki kodu buldum ancak uyarlayamadım kodun çalışma mantığı 1. sayfadaki ip adreslerine ping atıyor sonucu 2.sayfaya true yada false olarak yansıtıyor ancak makroyu manuel çalıştırmak gerekiyor 10 dk bir kendi kendine çalışacak şekilde çalışmasını sağlaya bilirmiyiz ayrıca sonucu ayrı bir sayfa yerine aynı sayfanın farklı bir sutununda toplaya bilirmiyiz.

örnek kod

Sub Do_ping()
Set output = ActiveWorkbook.Worksheets(2)
With ActiveWorkbook.Worksheets(1)
Row = 2
Do
If .Cells(Row, 1) <> "" Then
output.Cells(Row, 1) = IsConnectible(.Cells(Row, 1), 1, 250)
End If
Row = Row + 1
Loop Until .Cells(Row, 1) = ""
End With
End Sub

Function IsConnectible(sHost, iPings, iTO)
' Returns True or False based on the output from ping.exe
'
' Authors: Alex Angelopoulos/Torgeir Bakken
' Modified by: Tom Lavedas
' Works an "all" WSH versions
' sHost is a hostname or IP
' iPings is number of ping attempts
' iTO is timeout in milliseconds
' if values are set to "", then defaults below used

Dim nRes
If iPings = "" Then iPings = 1 ' default number of pings
If iTO = "" Then iTO = 250 ' default timeout per ping
With CreateObject("WScript.Shell")
nRes = .Run("%comspec% /c ping.exe -n " & iPings & " -w " & iTO _
& " " & sHost & " | find ""TTL="" > nul 2>&1", 0, True)
End With
IsConnectible = (nRes = 0)

End Function
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Kodları boş bir modüle yapıştırın. Daha sonra kaydedip kapatın.

Kod:
Sub auto_open()
Application.OnTime Now + TimeValue("00:10:00"), "Do_ping"
End Sub

Sub Do_ping()
Set output = ActiveWorkbook.Worksheets(1)
With ActiveWorkbook.Worksheets(1)
Row = 2
Do
If .Cells(Row, 1) <> "" Then
' output.Cells(Row, "B") AŞAĞIDAKİ SATIRDA
' SONUÇLARI ALMAK İSTEDİĞİMİZ SÜTUN İSMİNİ GİRİNİZ
output.Cells(Row, "B") = IsConnectible(.Cells(Row, 1), 1, 250)
End If
Row = Row + 1
Loop Until .Cells(Row, 1) = ""
End With

auto_open
End Sub

Function IsConnectible(sHost, iPings, iTO)
' Returns True or False based on the output from ping.exe
'
' Authors: Alex Angelopoulos/Torgeir Bakken
' Modified by: Tom Lavedas
' Works an "all" WSH versions
' sHost is a hostname or IP
' iPings is number of ping attempts
' iTO is timeout in milliseconds
' if values are set to "", then defaults below used

Dim nRes
If iPings = "" Then iPings = 1 ' default number of pings
If iTO = "" Then iTO = 250 ' default timeout per ping
With CreateObject("WScript.Shell")
nRes = .Run("%comspec% /c ping.exe -n " & iPings & " -w " & iTO _
& " " & sHost & " | find ""TTL="" > nul 2>&1", 0, True)
End With
IsConnectible = (nRes = 0)

End Function
. . .
 
Katılım
11 Temmuz 2012
Mesajlar
15
Excel Vers. ve Dili
2007 ingilizce
Ping Time değerini hücreye yazdırmak

Merhaba

Bilgi ve öneri için Teşekkür ederim.

Konu ile ilgili olarak ping attırıp deger alabiliyorum ancak False ve true olarak bana farklı bir sutuna milisaniye olarak Time değeride gerekiyor bunu yapa bilen varmıdır.Çünkü bu iki degere göre otomatik mail atması gerekecek.
 
Üst