Tự động khởi động AppPool trên IIS 6.0 trong Windows 2003

Tác giả Admin, Tháng ba 14, 2011, 03:31:19 PM

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Tự động khởi động AppPool trên IIS 6.0 trong Windows 2003

Trong môi trường IIS 6.0 sử  dụng Application  Pool, các bạn thỉnh thoảng hay bắt gặp các Application Pool tự  động dừng lại vì một lý do nào đó mà ko xác định được.Dẫn đến thông báo lỗi  SERVICE UNAVAILABLE khi truy cập website.

Để khắc phục lỗi này chỉ đơn giản là vào IIS và khởi động Application Pool nào bị stop lên là ok.

Nhưng nếu lỗi này xảy ra thường xuyên hơn mong đợi,thì mình giới thiệu các bạn một đoạn mã VB sau thật đơn giản,nhằm khắc phục lỗi này.

Mã nguồn [Chọn]
strComputer = "."
Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\microsoftiisv2″)

Set colItems = objWMIService.ExecQuery ("Select AppPoolState,name from IISApplicationPoolSetting where AppPoolState = 4″)
For Each objItems In colItems
poolname=objItems.name
AppPoolStart(poolname)
Next

Function AppPoolStart(PoolName)
set PoolcolItems = objWMIService.ExecQuery ("Select name from IISApplicationPool where name='" & poolname & "'")

For Each objItem In PoolcolItems
objitem.Start
Next
End Function


Các bạn sao chép đoạn mã trên lưu lại thành file có phần mở rộng .vbs, sau đó lên lịch cho file này chạy liên tục khoảng 2 hay 5 phút chạy một lần.

Chọn Start >>  All Programs >>  Accessories >>  System Tools >> Scheduled Tasks >> Add Scheduled Task  . . . Next . . .

Khi tập tin này chạy thì nó sẽ kiểm tra các Application Pool nào stop thì nó sẽ start lên theo mong muốn của mình. Vậy là xong rồi đó.