Belajar VBScript Windows Scripting Host dan contoh pengaplikasiannya

Apa itu VBscript? Adalah bahasa ‘ringan’ yang berjalan di lingkungan O/S Microsoft Windows baik Server ataupun Client version. Saya baru menggunakan VBS ketika mulai mengelola Windows Server 2000. Saat itu script-script vbs digunakan untuk keperluan dumping data dari SQLServer lalu mengarsipkannya ke lain tempat.

Untuk membuat VBS bisa menggunakan text editor apa saja, rekomendasi saya Notepad++ (free) dan EditPlus (berbayar). Karena kedua aplikasi tsb mendukung color-highlighting yang cukup berguna untuk memudahkan penulisan script.

Contoh program hello world:

wscript.echo “Hello World!” & vbnewline
wscript.echo “Current date & time: ” & now

 

Simpan sebagai file helloworld.vbs, untuk mengeksekusinya ada dua cara, double klik file helloworld.vbs akan langsung berinteraksi dengan GUI Desktop Windows.vbs002vbs003

 

Pada lingkungan Microsoft Windows, biasa juga dikenal dengan Windows Script Host, Sedangkan VBScript adalah jenis pemrogramannya; dengan dialek bahasa BASIC.

Cara kedua; yang paling saya sering pakai, adalah menggunakan command-line interface. Buka CMD, lalu ketikkan

cscript helloworld.vbs

Outputnya akan terlihat pada Windows CMD ybs:

vbs004

Seluruh referensi mengenai VBS bisa anda lihat di http://www.w3schools.com/vbscript/vbscript_ref_functions.asp

Contoh Looping pada VBS (sama seperti seri programming ASP)

for x=1 to 20
if x=5 then wscript.echo ” —> ke lima ”
wscript.echo x & ” ”
next

Do Loop, While (not) Loop dsb nya berlaku juga di VBS. Jadi kalau anda sudah paham mengenai bahasa keluarga BASIC; pasti tidak kesulitan dalam membuat program-program ringan tetapi cenderung vital pada sebuah organisasi 😀 — (salah satu faktor pembuat System Administrator, jarang masuk kantor dan cenderung berada di Pantry sepanjang hari).

Contoh aplikasi sederhana untuk menge-ping seluruh host di network 192.168.0.xxx

 

” Ping all Host; by www.twiranto.com

Set objShell = CreateObject(“WScript.Shell”)
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
namafile=”pingres.txt”   ”nama file hasil

for x=1 to 254  ”jumlah host
wscript.echo “ping to 192.168.1.” & x & vbnewline
wscript.sleep 500  ”delay .5 detik
objShell.Run “cmd /c ping -n 1 -w 1000 192.168.1.” & x & ” >>” & namafile

Next

Set objFile = objFSO.OpenTextFile(namafile, 1)

wscript.echo vbnewline & “host ping-able: ” & vbnewline
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
if instr(strLine, “Reply”) <> 0 then
strline=replace(strline,”Reply from “,””)
xx=InStr(strline,”:”)
strline=replace(strline,”:”,””)
strline=Left(strline,xx)
wscript.echo strline
”bisa ditambahkan keperluan lain-lain disini
”misalnya: if strline<>”ip-address” then ….
End If
Loop
objFile.Close()

Tentu saja, VBS bisa mengakses database, smtp, ataupun object-object lainnya. Pergunakan CreateObject untuk mengakses OLE/ActiveX yang terpasang pada system. Umumnya FSO (File System Object) sudah terpasang default oleh OS. FSO banyak disalah gunakanan oleh Virus untuk menyebarkan diri, makanya beberapa tahun lalu marak virus yang menyebarkan diri dengan bahasa ringan ini  🙁

Kembali ke script #2 diatas. Script tsb akan menghasilkan file pingres.txt yang akan menampung semua perintah ping.exe (bawaan Windows) kedalamnya. Lalu setelah seluruh host dilakukan ping, file pingres.txt akan di parsing (olah) hanya untuk mencari baris yang berisikan ‘Reply from` (case sensitive). Jika, ada 2 kata tsb, akan meng-echo kan IP address yang hidup.

Tentu saja, script diatas bisa di modifikasi untuk hanya menge-ping suatu host. Misalnya, untuk mengeping server Database; Mailserver, Webserver. Jika server tidak reply, kirimkan email misalnya. Nah untuk itu silakan olah sendiri caranya. Yang pasti hanya menggunakan object Smtp bawaan microsft (cdont.sys) dipadukan dengan batchfile dan ditaruh di Windows Task Scheduler. Contoh scriptnya tidak saya display disini 😀 Dan ingat, jika anda pemakai gadget Android yang selalu terkoneksi ke Internet. Kirimkan email peringatan tsb ke gmail. Anda akan dapat early-warning hampir realtime.

Oh ya, karena ping icmp bersifat universal, apapun device (router/os win/linux/bsd) yang akan mau dipantau akan terdisplay pada output script diatas.

 

Post By Tommy Wiranto (68 Posts)

Rasa ingin tahunya, terkadang 101% -- petualang yang tertahan. Terkadang sombong, tetapi pada tempatnya.

Website: →

Connect