Windows Script
Windows Script là gì? Để trả lời cho câu hỏi này các bạn nên tham khảo trang http://msdn.microsoft.com/scripting.
Ở đây, tôi xin đi thẳng vào cách phối hợp VBScript và chương trình shutdown.exe để tắt máy từ xa.
Trong bài trước, để tắt máy từ xa, chúng ta dùng lệnh For để thực hiện lệnh "shutdown" cho 30 máy (MT1, MT2,... MT30). Nhược điểm của cách này là phải thực hiện đủ 30 lệnh "shutdown", cho dù máy đó tắt hay mở. Vấn đề đặt ra là "chỉ gởi lệnh shutdown đối với các máy đang mở", như vậy có vấn đề cần giải quyết là phát hiện "máy tính đang mở".
Chúng ta sẽ dùng đoạn mã sau:
Dim ObjDomain, ObjComputer, WshShell
Dim domainName, str, i
Dim txtCmd, txtCmd_H, txtCmd_F
On Error Resume Next
Set objNetwork = WScript.CreateObject("WScript.Network")
domainName = objNetwork.UserDomain Lay domain mac dinh
domainName = inputBox("Workgroup or DomainName?","Domain Name", domainName)
if len(domainName)>0 then
Set ObjDomain = GetObject("WinNT://" & domainName)
ObjDomain.filter = array("Computer")
Set WshShell = WScript.CreateObject("WScript.Shell")
txtCmd_H = "shutdown /s /m \\"
tstCmd_F = " /t 120 /c ""Da het gio thuc hanh"" /f"
For Each ObjComputer In ObjDomain
txtCmd = txtCmd_H & ObjComputer.name & txtCmd_F
WshShell.Run txtCmd, 0
Next
Set ObjComputer = nothing
Set ObjDomain = nothing
end if
Set WshShell = nothing
Nếu chưa từng lập trình, các câu lệnh này có thể khó hiểu với bạn... nhưng không sao! Bạn chỉ việc dùng notepad tạo một tập tin có tên ShutdownAll.vbs và gõ đoạn mã trên vào. Tôi giả định là bạn lưu tập tin này vào thư mục C:\WINDOWS\SYSTEM32.
Sử dụng
• Cách 1: Chạy trong môi trường Windows
- Nhấn đúp vào tập tin ShutdownAll.vbs
- Hoặc bạn có thể tạo một shortcut với nội dung:
"Wscript.exe C:\WINDOWS\SYSTEM32\ShutdownAll.vbs"
• Cách 2: Chạy trong môi trường cửa sổ lệnh (Command Prompt). Bạn chỉ cần gõ lệnh:
Cscript.exe C:\WINDOWS\SYSTEM32\ShutdownAll.vbs
Lưu ý: Những máy tính có dùng tường lửa (firewall) của Windows thì đoạn mã trên không thể tác động đến được.
Lê Quốc Cường
Trung Tâm Tin Học – Đại Học An Giang
lqc_agu@yahoo.com