Quản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh script
Số trang: 10
Loại file: pdf
Dung lượng: 0.00 B
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Ở phần trước chúng ta đã biết đến một số khái niệm cơ bản về kỹ thuật scripting như đối tượng (object), phương thức (method), thuộc tính (property) và viết ra một scritp đơn giản thay đổi địa chỉ IP gán cho bộ điều hợp mạng. Sau đó, chúng ta đã sử dụng bốn script đầu tiên, được gọi là ChangeIPAddress.vbs:
Nội dung trích xuất từ tài liệu:
Quản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh scriptQuản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh scriptNguồn:quantrimang.com Mitch TullochỞ phần trước chúng ta đã biết đến một số khái niệm cơ bản về kỹ thuật scriptingnhư đối tượng (object), phương thức (method), thuộc tính (property) và viết ramột scritp đơn giản thay đổi địa chỉ IP gán cho bộ điều hợp mạng. Sau đó, chúngta đã sử dụng bốn script đầu tiên, được gọi là ChangeIPAddress.vbs:strComputer = .arrIPAddress = Array(172.16.11.99)arrSubnetMask = Array(255.255.255.0)Set objWMIService = GetObject(winmgmts:\ & strComputer & ootcimv2)Set colNetAdapters = objWMIService.ExecQuery(Select * fromWin32_NetworkAdapterConfiguration)For Each objNetAdapter in colNetAdapters errEnableStatic =objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)NextKhi chạy script này trên server Windows, nó thay đổi thành công địa chỉ IP củamáy từ .45 sang .99. (Kiểm tra bằng lệnh ipconfig trước và sau khi chạy script).Kết quả hoàn toàn tốt.Nhưng script chúng ta đã xây dựng mới từng lại ở mức khá đơn giản. Còn thiếunhiều yếu tố quan trọng khác như các định nghĩa biến, điều khiển lỗi, dùng dữliệu đầu vào và xác nhận dữ liệu đầu ra cần phải bổ sung vào để có được mộtscript tương đối hoàn chỉnh. Chúng ta sẽ thực hiện điều đó trong phần hai này.Các định nghĩa biếnViệc đầu tiên chúng ta cần làm để sắp xếp gọn gàng script là định nghĩa các biếnsẽ dùng. VBScript cho phép định nghĩa ngầm các biến đơn giản bằng cách dùngnó trong một câu lệnh, nhưng sẽ tốt hơn nếu bạn khai báo tường minh chúngngay khi bắt đầu script. Khai báo một biến sẽ nói cho VBScript biết về sự tồn tạicủa nó để cấp phát bộ nhớ lưu trữ. Vì sao khai báo biến tường minh lại hayhơn? Ví dụ như trong một script dài, bạn thường phạm phải một hay một số lỗigõ phím nhầm. Và khi gõ nhầm tên của một biến, script của bạn sẽ không chạyđược. Nếu khai báo biến tường mình ở đầu script thì bất kỳ biến nào được khaibáo ngầm về sau trong script (có thể là nguyên nhân gây ra lỗi gõ nhầm) sẽ tạora một lỗi runtime. Các thông báo lỗi có thể sẽ giúp bạn xác định được vị trínhầm lẫn và gỡ lỗi cho script của bạn.Để VBScript biết bạn khai báo tường minh tất cả các biến trong script, thêm lệnhsau vào đầu script:Option ExplicitNếu thêm lệnh này vào đầu script ChangeIPAddress.vbs và chạy nó từCommand Prompt, kết quả là:C:Documents and SettingsAdministrator.DC-1Desktop>ChangeIPAddress.vbsMicrosoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rightsreserved.C:Documents and SettingsAdministrator.DC-1DesktopChangeIPAddress.vbs(2, 1) Microsoft VBScriptruntime error: Variable is undefined: strComputerĐiều mà VBScript (hay cơ chế script đã đăng ký của Windows Script Host đểchạy các script VBScript) muốn nói ở đây là có một lỗi trong dòng 2 của script:strComputer = .Vì sao lại xuất hiện lỗi này? Đó là do chúng ta đang gán giá trị cho một biến xâu(strComputer) chưa được khai báo. Vì thế, bây giờ chúng ta cần thêm các khaibáo cho biến dùng trong script:Option ExplicitDim objWMIServiceDim objNetAdapterDim strComputerDim arrIPAddressDim arrSubnetMaskDim colNetAdaptersDim errEnableStaticstrComputer = .arrIPAddress = Array(172.16.11.93)arrSubnetMask = Array(255.255.255.0)Set objWMIService = GetObject(winmgmts:\ & strComputer & ootcimv2)Set colNetAdapters = objWMIService.ExecQuery(Select * fromWin32_NetworkAdapterConfiguration where IPEnabled=TRUE)For Each objNetAdapter in colNetAdapters errEnableStatic =objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)NextChú ý là khi dùng Option Explicit (tuỳ chọn khai báo tường minh), bạn phải khaibáo tất cả biến trong script của mình, gồm cả đối tượng, xâu, mảng, tập hợp,biến cho đoạn mã lỗi… Nghe có vẻ rất rắc rối phức tạp nhưng thực tế chỉ cầnchạy một số trang dài, ngay cả khi chạy chương trình gỡ lỗi rungning time, bạnsẽ biết nó hữu ích như thế nào. Cũng chú ý là không cần khai báo biến theo trìnhtự, chỉ cần nhớ khai báo cho từng biến trước khi dùng là được. Thông thườngngười ta đặt tất cả khai báo biến vào một phần riêng trên đầu script như chúngta đã làm ở trên.Điều khiển lỗiBây giờ, chúng ta đã loại bỏ được các lỗi gõ nhầm khi chạy script đã được soátlại, script hoạt động. Nhưng nếu nó không hoạt động thì sao? Ví dụ, chuyện gìsẽ xảy ra nếu chúng ta thay đổi script đi một chút để chạy trên một máy từ xathay vì máy cục bộ mà trong đó máy từ xa không nằm trên mạng? Một lần nữalỗi thời gian chạy (tức lỗi xảy ra khi script đang được thực thi, ngược lại với lỗi cúpháp mà VBScript có thể nhận ra khi biên dịch script trước khi chạy nó) sẽ xuấthiện và script sẽ bị ngừng lại, hiển thị một thông báo lỗi tương tự như thông báochúng ta đã thấy ở trên. Chuyện gì sẽ xảy ra nếu chúng ta viết ra một script đểthực hiện một s ...
Nội dung trích xuất từ tài liệu:
Quản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh scriptQuản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh scriptNguồn:quantrimang.com Mitch TullochỞ phần trước chúng ta đã biết đến một số khái niệm cơ bản về kỹ thuật scriptingnhư đối tượng (object), phương thức (method), thuộc tính (property) và viết ramột scritp đơn giản thay đổi địa chỉ IP gán cho bộ điều hợp mạng. Sau đó, chúngta đã sử dụng bốn script đầu tiên, được gọi là ChangeIPAddress.vbs:strComputer = .arrIPAddress = Array(172.16.11.99)arrSubnetMask = Array(255.255.255.0)Set objWMIService = GetObject(winmgmts:\ & strComputer & ootcimv2)Set colNetAdapters = objWMIService.ExecQuery(Select * fromWin32_NetworkAdapterConfiguration)For Each objNetAdapter in colNetAdapters errEnableStatic =objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)NextKhi chạy script này trên server Windows, nó thay đổi thành công địa chỉ IP củamáy từ .45 sang .99. (Kiểm tra bằng lệnh ipconfig trước và sau khi chạy script).Kết quả hoàn toàn tốt.Nhưng script chúng ta đã xây dựng mới từng lại ở mức khá đơn giản. Còn thiếunhiều yếu tố quan trọng khác như các định nghĩa biến, điều khiển lỗi, dùng dữliệu đầu vào và xác nhận dữ liệu đầu ra cần phải bổ sung vào để có được mộtscript tương đối hoàn chỉnh. Chúng ta sẽ thực hiện điều đó trong phần hai này.Các định nghĩa biếnViệc đầu tiên chúng ta cần làm để sắp xếp gọn gàng script là định nghĩa các biếnsẽ dùng. VBScript cho phép định nghĩa ngầm các biến đơn giản bằng cách dùngnó trong một câu lệnh, nhưng sẽ tốt hơn nếu bạn khai báo tường minh chúngngay khi bắt đầu script. Khai báo một biến sẽ nói cho VBScript biết về sự tồn tạicủa nó để cấp phát bộ nhớ lưu trữ. Vì sao khai báo biến tường minh lại hayhơn? Ví dụ như trong một script dài, bạn thường phạm phải một hay một số lỗigõ phím nhầm. Và khi gõ nhầm tên của một biến, script của bạn sẽ không chạyđược. Nếu khai báo biến tường mình ở đầu script thì bất kỳ biến nào được khaibáo ngầm về sau trong script (có thể là nguyên nhân gây ra lỗi gõ nhầm) sẽ tạora một lỗi runtime. Các thông báo lỗi có thể sẽ giúp bạn xác định được vị trínhầm lẫn và gỡ lỗi cho script của bạn.Để VBScript biết bạn khai báo tường minh tất cả các biến trong script, thêm lệnhsau vào đầu script:Option ExplicitNếu thêm lệnh này vào đầu script ChangeIPAddress.vbs và chạy nó từCommand Prompt, kết quả là:C:Documents and SettingsAdministrator.DC-1Desktop>ChangeIPAddress.vbsMicrosoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rightsreserved.C:Documents and SettingsAdministrator.DC-1DesktopChangeIPAddress.vbs(2, 1) Microsoft VBScriptruntime error: Variable is undefined: strComputerĐiều mà VBScript (hay cơ chế script đã đăng ký của Windows Script Host đểchạy các script VBScript) muốn nói ở đây là có một lỗi trong dòng 2 của script:strComputer = .Vì sao lại xuất hiện lỗi này? Đó là do chúng ta đang gán giá trị cho một biến xâu(strComputer) chưa được khai báo. Vì thế, bây giờ chúng ta cần thêm các khaibáo cho biến dùng trong script:Option ExplicitDim objWMIServiceDim objNetAdapterDim strComputerDim arrIPAddressDim arrSubnetMaskDim colNetAdaptersDim errEnableStaticstrComputer = .arrIPAddress = Array(172.16.11.93)arrSubnetMask = Array(255.255.255.0)Set objWMIService = GetObject(winmgmts:\ & strComputer & ootcimv2)Set colNetAdapters = objWMIService.ExecQuery(Select * fromWin32_NetworkAdapterConfiguration where IPEnabled=TRUE)For Each objNetAdapter in colNetAdapters errEnableStatic =objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)NextChú ý là khi dùng Option Explicit (tuỳ chọn khai báo tường minh), bạn phải khaibáo tất cả biến trong script của mình, gồm cả đối tượng, xâu, mảng, tập hợp,biến cho đoạn mã lỗi… Nghe có vẻ rất rắc rối phức tạp nhưng thực tế chỉ cầnchạy một số trang dài, ngay cả khi chạy chương trình gỡ lỗi rungning time, bạnsẽ biết nó hữu ích như thế nào. Cũng chú ý là không cần khai báo biến theo trìnhtự, chỉ cần nhớ khai báo cho từng biến trước khi dùng là được. Thông thườngngười ta đặt tất cả khai báo biến vào một phần riêng trên đầu script như chúngta đã làm ở trên.Điều khiển lỗiBây giờ, chúng ta đã loại bỏ được các lỗi gõ nhầm khi chạy script đã được soátlại, script hoạt động. Nhưng nếu nó không hoạt động thì sao? Ví dụ, chuyện gìsẽ xảy ra nếu chúng ta thay đổi script đi một chút để chạy trên một máy từ xathay vì máy cục bộ mà trong đó máy từ xa không nằm trên mạng? Một lần nữalỗi thời gian chạy (tức lỗi xảy ra khi script đang được thực thi, ngược lại với lỗi cúpháp mà VBScript có thể nhận ra khi biên dịch script trước khi chạy nó) sẽ xuấthiện và script sẽ bị ngừng lại, hiển thị một thông báo lỗi tương tự như thông báochúng ta đã thấy ở trên. Chuyện gì sẽ xảy ra nếu chúng ta viết ra một script đểthực hiện một s ...
Tìm kiếm theo từ khóa liên quan:
Quản trị mạng Hệ điều hành Công nghệ thông tin Tin học Computer networkGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 453 0 0 -
52 trang 431 1 0
-
24 trang 355 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 316 0 0 -
74 trang 302 0 0
-
96 trang 293 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 289 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 281 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 276 0 0 -
173 trang 275 2 0