Danh mục

Quản lý các mạng Windows dùng script - Phần 4: Sử dụng Win32_NetworkAdapterConfiguration

Số trang: 20      Loại file: pdf      Dung lượng: 3.31 MB      Lượt xem: 10      Lượt tải: 0    
Thư viện của tui

Hỗ trợ phí lưu trữ khi tải xuống: 13,000 VND Tải xuống file đầy đủ (20 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Sử dụng lớp WMI Win32_NetworkAdapterConfiguration để quản lý các thiết lập TCP/IP trên các mạng Windows thông qua VBScript. Trong hai phần đầu của loạt bài này chúng ta đã xem xét một số khái niệm cơ bản của kỹ thuật Windows scripting trong quản lý các thiết lập mạng TCP/IP. Để minh hoạ và thực hành, chúng ta đã phát triển một script đơn giản sau với chức năng thay đổi địa chỉ của một bộ điều hợp mạng: Option Explicit On Error Resume Next Dim objWMIService Dim objNetAdapter Dim strComputer hostname or FQDN Dim strAddress Dim arrIPAddress Dim...
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 4: Sử dụng Win32_NetworkAdapterConfigurationQuản lý các mạng Windows dùng script - Phần 4: Sử dụngWin32_NetworkAdapterConfigurationSử dụng lớp WMI Win32_NetworkAdapterConfiguration để quản lýcác thiết lập TCP/IP trên các mạng Windows thông qua VBScript.Trong hai phần đầu của loạt bài này chúng ta đã xem xét một số khái niệmcơ bản của kỹ thuật Windows scripting trong quản lý các thiết lập mạngTCP/IP. Để minh hoạ và thực hành, chúng ta đã phát triển một script đơngiản sau với chức năng thay đổi địa chỉ của một bộ điều hợp mạng:Option ExplicitOn Error Resume NextDim objWMIServiceDim objNetAdapterDim strComputer Can specify IP address orhostname or FQDNDim strAddress Contains the new IP addressDim arrIPAddressDim arrSubnetMaskDim colNetAdaptersDim errEnableStaticCheck for missing argumentsIf WScript.Arguments.Count = 0 Then Wscript.Echo Usage: ChangeIPAddress.vbsnew_IP_address WScript.QuitEnd IfstrComputer = .strAddress = Wscript.Arguments.Item(0)arrIPAddress = Array(strAddress)arrSubnetMask = Array(255.255.255.0)Set objWMIService = GetObject(winmgmts:\ &strComputer & ootcimv2)Set colNetAdapters =objWMIService.ExecQuery(Select * fromWin32_NetworkAdapterConfiguration whereIPEnabled=TRUE)For Each objNetAdapter in colNetAdapters errEnableStatic =objNetAdapter.EnableStatic(arrIPAddress,arrSubnetMask)NextDisplay result or error codeIf errEnableStatic=0 Then Wscript.Echo Adapters IP address has beensuccessfully changed to & strAddressElse Wscript.Echo Changing the adapters addresswas not successful. Error code & errEnableStaticEnd IfScript trên thay đổi địa chỉ IP của một bộ điều hợp mạng, dùngWin32_NetworkAdapterConfiguration, một trong những lớp WMI hữu íchnhất để quản lý cầu hình mạng TCP/IP cho các máy chạy trên nền Windows.Ở phần ba, chúng ta đã dạo một vòng sơ lược qua WMI với nhữngnamespace (không gian tên), provider (nhà cung cấp) và class (lớp) của nó.Nhờ đó, chúng ta có thể hiểu kỹ càng hơn những dòng mã nằm ở giữa script:Set objWMIService = GetObject(winmgmts:\ &strComputer & ootcimv2)Nếu bạn nhớ lại ở bài trước, dòng này có tác dụng kết nối tới namespacerootcimv2 trên máy cục bộ bằng cách định nghĩa một đối tượng có tênobjWMIService và đặt nó bằng với giá trị trả về của phương thức GetObject.Tất nhiên, sau khi kết nối tới namespace này, bạn có thể thu thập thông tin từnó.Còn trong bài ngày hôm nay, dòng mã lệnh chúng ta sẽ tập trung vào theosau dòng trên và sử dụng lớp Win32_NetworkAdapterConfiguration:Set colNetAdapters =objWMIService.ExecQuery(Select * fromWin32_NetworkAdapterConfiguration whereIPEnabled=TRUE)Nhớ lại bạn sẽ thấy, dòng lệnh thứ hai gọi phương thức ExecQuery cho đốitượng objWMIService mà chúng ta đã mô tả ở dòng đầu. Lệnh SELECTđược đưa vào phương thức này với vai trò như một tham số. Và tập hợp tấtcả cấu hình bộ điều hợp mạng trên hệ thống có giới hạn TCP/IP, được chophép trên bộ điều hợp sẽ được trả lại và gán bằng biến colNetAdapters. Saukhi có tập hợp này, chúng ta có thể lặp vòng nó bằng lệnh For Each… Nhớrằng, bạn luôn phải chạy vòng lặp cho các tập hợp dù có tập hợp đó chỉ baogồm một đối tượng.Câu hỏi sẽ được đưa ra ở đây là: Chúng ta có thể làm thêm điều gì với lớpWin32_NetworkAdapterConfiguration?Sử dụng các thuộc tính và phương thức củaWin32_NetworkAdapterConfigurationBạn đã biết, thuộc tính thể hiện thông tin có thể truy vấn từ một hệ thốngdùng WMI. Một lớp WMI càng có nhiều thuộc tính thì thông tin có thể lấyra từ nó càng nhiều. Lớp Win32_NetworkAdapterConfiguration thực tế có61 thuộc tính khác nhau. Một trong số chúng là duy nhất, hoàn toàn riêngcủa Win32_NetworkAdapterConfiguration, còn một số khác là do kế thừa từnhiều lớp khác. Bạn có thể tìm thấy danh sách hoàn chỉnh các thuộc tính củalớp Win32_NetworkAdapterConfiguration trên MSDN. Khi học về sử dụngWindows scripting để quản lý các mạng Windows dùng script, một điều hếtsức quan trọng là cần phải quen với những thông tin WMI trên MSDN nhưthế này. Hình 1 thể hiện một số thuộc tính của lớpWin32_NetworkAdapterConfiguration: Hình 1: Một số thuộc tính của lớp Win32_NetworkAdapterConfigurationỞ hình trên, phần màu vàng minh hoạ là thể hiện thuộc tính nhị phânIPEnabled được kích vào, dùng để nhận dạng tất cả các bộ điều hợp mạngtrên hệ thống có giới hạn TCP/IP và được cho phép hoạt động. Thực hiệnbằng cách đưa lệnh SQL sau vào như một tham số cho phương thứcobjWMIService.ExecQuery:Select * from Win32_NetworkAdapterConfigurationwhere IPEnabled=TRUELệnh Select * from sẽ mở rộng tính năng cho script bằng cách truy vấn tất cảcác thuộc tính khác của lớp. Ví dụ, nếu muốn chọn tất cả bộ điều hợp mạngtrên hệ thống có DHCP, đơn giản chỉ cần thay đổi lệnh SELECT như sau:Select * from Win32_NetworkAdapterConfigurationwhere DHCPEnabled=TRUEThông tin tương tự cũng sẽ ...

Tài liệu được xem nhiều: