Tự động hóa các lệnh TELNET sử dụng VB Script

Quản Trị Mạng - Việc xử lý công việc hàng loạt bằng file .bat (batch job) và gần đây là sử dụng Windows scripts (.wsf) đang là sự lựa chọn hàng đầu của các nhà quản trị mạng, nhằm tăng hiệu suất công việc một cách tối ưu nhất. Sử dụng batch job bạn có thể tự động cài đặt và gỡ bỏ các ứng dụng, kiểm kê phần mềm hay thiết lập cho hệ điều hành của toàn bộ máy tính trong mạng. Tuy nhiên có những tác vụ nhất định mà đôi khi cần qua nhiều lớp xác thực, chẳng hạn như TELNET.

Tự động hóa các lệnh TELNET sử dụng VB ScriptTELNET (viết tắt của TErminaL NETwork) là một giao thức mạng (network protocol) được dùng trên các kết nối với Internet hoặc các kết nối tại mạng máy tính cục bộ LAN. Mục đích của giao thức TELNET là cung cấp một phương tiện truyền thông chung chung, có tính lưỡng truyền, dùng độ rộng 8 bit, định hướng byte.

Nhiều nhà quản trị mạng sử dụng TELNET cho thiết bị chuyển mạch để truy vấn hoặc thiết lập các cổng, theo dõi tình trạng hoạt động hệ thống, thậm chí là khởi động lại thiết bị mạng từ dòng lệnh thông qua TELNET. Do đó sẽ tiện lợi hơn rất nhiều nếu bạn có thể tự động hóa các công việc TELNET giống như batch jobs.

Thực ra, nếu bạn đã quen với việc sử dụng VB script để tạo Windows scripts, VB script cung cấp một tính năng rất hữu ích khi bạn thiết lập Windows Shell script cho đối tượng, sau đó phát hành đối tượng đó một cách cẩn thận theo thời gian bởi câu lệnh. Về cơ bản, đây giống như bạn đang ngồi trước một cửa sổ lệnh và gõ vào đó. Sự khác biệt duy nhất là Windows script sẽ gửi cửa sổ lệnh đến cho bạn.

Tự động hóa TELNET Job

Về cơ bản chúng ta có hai phần cần làm cho tác vụ này. Bạn cần thiết lập trình tự các câu lệnh muốn thông qua trong session tiêu biểu của TELNET.

Trong ví dụ này, chúng tôi có 5 thiết bị trên hệ thống mạng cần khởi động từ xa thông qua TELNET bằng cách sử dụng 4 lệnh đơn giản. Đầu tiên là sử dụng địa chỉ IP và một cổng cụ thể. Tiếp theo một menu xuất hiện, nhấn Enter.

Tự động hóa các lệnh TELNET sử dụng VB Script

Chọn một số tương ứng với các chức năng ở phần MAIN MENU, nhấn Enter.

Tự động hóa các lệnh TELNET sử dụng VB Script

Bây giờ chúng ta cõ những phương pháp khác nhau để làm điều này. Một số người thích sử dụng TST script. Nhưng nó có phần phức tạp đối với người chưa có kinh nghiệm. TCL cũng là một ngôn ngữ kịch bản tương tự, được dùng nhiều năm qua. Tuy nhiên ở đây chúng tôi sẽ hướng dẫn các bạn sử dụng một tập tin VB script để thực hiện các tác vụ trong khoảng thời gian ngắn nhất, đơn giản nhất.

Để làm điều này, đặt toàn bộ đoạn code sau vào một tập tin, chẳng hạn AutoTELNET.wsf, và sau đó kích đúp chuột vào để chạy:

Đầu tiên, thiết lập TELNET:

<job>
<script language="VBScript">
Option Explicit
On Error Resume Next
Dim WshShell
set WshShell=CreateObject("WScript.Shell")
WshShell.run "cmd.exe"
WScript.Sleep 1000
'Send commands to the window as needed - IP and commands need to be customized
'Step 1 - telnet to remote IP'
WshShell.SendKeys "telnet xx.xx.xx.73 9999"
WshShell.SendKeys ("{Enter}")
WScript.Sleep 1000

Đoạn mã trên sẽ tự động mở một cửa sổ lệnh, sau đó TELNET đến các thiết bị cụ thể trên cổng cần kết nối. Thay thế "x" bởi IP của bạn.

Lệnh sleep sẽ cho phép đủ thời gian chờ đợi đến khi thiết bị được đáp ứng và nhắc nhở script cho lệnh tiếp theo. Vì vậy hãy đảm bảo thời gian bạn thiết lập đủ dài để hoạt động này diễn ra.
Thứ hai, bạn cần gửi từng lệnh tại mỗi thời điểm. Hãy cung cấp đủ thời gian chờ đáp ứng giữa các session TELNET.

'Step 2 - Issue Commands with pauses'
WshShell.SendKeys ("{Enter}")
WScript.Sleep 1000
WshShell.SendKeys "5"
WshShell.SendKeys ("{Enter}")
WScript.Sleep 1000

Cuối cùng đừng quên đóng cửa sổ lệnh và kết thúc script.

'Step 3 - Exit Command Window
WshShell.SendKeys "exit"
WshShell.SendKeys ("{Enter}")
WScript.Quit
</script>
</job>

Đó là toàn bộ quá trình tự động hóa TELNET, chỉ với ba bước dễ dàng trong một script không hề phức tạp. Sau khi làm quen, bạn có thể tùy chỉnh chúng theo nhu cầu của mình trong việc tự động hóa các nhiệm vụ nhằm quản lý thiết bị chuyển mạch mạng lưới, time clock hay điều khiển hệ thống từ xa thông qua TELNET.

Thứ Hai, 17/10/2011 06:29
43 👨 9.344
0 Bình luận
Sắp xếp theo