Chào mừng các bạn
»»-((¯`·(¯`vŽ¯)--»*** MasterSpy *** «--(¯`vŽ¯)·`¯))-«« - Quản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh script -
ღLONELYღ
  Home
  => Cách tạo một trang web cho riêng mình !
  => Một số địa chỉ trang web hay dành cho bạn, ....cho tôi !
  => 5 bước cơ bản để diệt tận gốc Spyware
  => 10 điều “lính mới” nên biết
  => 10 bước để lập kế hoạch cho nghề nghiệp tương lai của bạn
  => 15 LỜI KHUYÊN HỌC TIẾNG ANH
  => 21 kho lưu dữ liệu miễn phí trên Internet
  => PHƯƠNG PHÁP XỬ LÝ LOGIC VỊ TỪ
  => 50 cuốn sách văn học cần đọc
  => Những bài học từ Adam Khoo
  => Dùng Admodify.net để quản trị và phục hồi Exchange 2003
  => Cuộc đời của Albert Einstein
  => Cảnh giác với hacker và keylogger!
  => Phần mềm miễn phí giúp bảo vệ computer khi online
  => Học thi - cần ăn uống hợp lý
  => Hacker “oánh” mỗi PC chỉ mất 39 giây
  => Xác định nguyên nhân máy tính tự khởi động !
  => Diệt virus Autorun
  => Bấm dây mạng !
  => Bảo vệ mắt khi sử dụng máy tính !
  => Blog ra đời như thế nào?
  => Bài tập Pascal kiểu bản ghi !
  => Hướng dẫn ôn tập lập trình Pascal căn bản !
  => Cách Diệt Virus
  => Cách gỡ bỏ thủ công Symantec Antivirus an toàn (Phần I)
  => Tổng hợp các lệnh ngoài DOS
  => Cài HIREN BOOTCD vào ổ cứng để cứu hộ
  => Cài windows media player 11 ( không cần active window)
  => Cấu hình mạng ADSL cho người dùng tại nhà
  => Thiết Lập Sevice trong windows XP (giúp máy chạy nhanh hơn)
  => Giới Thiệu Centos
  => Chẩn đoán lỗi của màn hình !
  => Chọn DNS truy cập mạng !
  => Kinh nghiệm phòng chống virus, spyware
  => Trắc nghiệm nghiệp vụ kế toán bằng tiếng Anh !
  => Hướng dẫn chụp hình bằng webcam
  => Tổng Hợp Code Dùng Trong Việc Tạo BLOG
  => Công dụng của các dịch vụ trong Windows
  => Sử dụng Popcap game mãi mãi !
  => Cử nhân CNTT không làm CNTT
  => Tìm hiểu DNS.Các bước thiết lập khi mới đăng ký tên miền
  => Làm DNS server online
  => Nội dung định nghĩa về vật chất của Lê Nin
  => Đọc và ... suy nghĩ !
  => Đôi điều về bảo mật hệ thống mạng trong công ty!
  => Khắc phục lỗi 999 Error của Yahoo
  => Chuyển dữ liệu của ổ C từ FAT32 thành NTFS
  => Gỡ password CMOS bằng cách nào?
  => Phần I: Cơ bản về lỗi "màn hình xanh" trong Windows
  => Tổng quan về Group Policy - từ đơn giản đến phức tạp !
  => Gửi nhiều file qua Yahoo Mail
  => Từ XP cài Hacao Linux 2.16 Pro (file ISO) vào đĩa cứng (LiveCD)
  => Chịu thuế và không chịu thuế
  => Hội thảo qua mạng với NetMeeting
  => HOST Free
  => Hướng dẫn download trên megaupload
  => KGB nén File từ 450MB còn 1.43MB rất tiện chia sẻ file trên mạng
  => Khắc phục rớt mạng liên tục
  => Kiến trúc Oracle
  => Thành công trên giảng đường đại học
  => Kỹ thuật Photoshop cơ bản !
  => Kinh nghiệm học tiếng ANH
  => KInh nghiệm học TOÁN CAO CẤP
  => Đôi điều về quá trình làm luận văn (Phần 2)
  => Làm theme cho Blog 360
  => Chia sẻ những điều học được từ cách làm việc theo nhóm
  => Vạch kế hoạch cho tương lai
  => Các Lệnh Cơ Bản trong LINUX
  => Lịch sử các nước ĐẾ QUỐC
  => Lịch sử Việt Nam
  => Links những trang web hay
  => Tạo mail server online bằng IP Động
  => Tự làm giao diện cho Yahoo Mash!
  => Mấy điểm cần tránh
  => Hỏi về IPHONE
  => Máy tính không khởi động từ ổ đĩa cứng!...?
  => MIÊU TẢ SẢN PHẨM MÁY IN hp1320
  => Phá Deep Freeze - Cướp lấy password!!!
  => Những "tuyệt chiêu" chọn mua laptop cũ
  => NHỮNG NGUYÊN TẮC CƠ BẢN CỦA BÁO CHÍ
  => Tìm hiểu nhân của hệ điều hành Linux
  => Sửa lỗi NTLDR is missing
  => Ổ cứng chóng hỏng vì... điều hòa nhiệt độ
  => Những phím tắt thông dụng trong Photoshop 7.0
  => Phím tắt trong WORDS
  => Bí mật của PHỤ NỮ
  => Hướng dẫn post hình lên mạng, và 1 số website để upload hình
  => Chương trình quản lý số điện thoại !
  => Quản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh script -
  => Cấu hình cho máy in N2500
  => Xóa nick của mình trong Friend List của người khác
  => Rollback Rx Pro:
  => User và pass của một số router
  => Giải pháp sao lưu trực tuyến miễn phí (Phần cuối)
  => Vài điều về Scanner
  => Chọn hệ điều hành của bạn
  => Làm server online tận dụng đường truyền ADSL
  => Thuật toán - Cấu trúc dữ liệu
  => So sánh Oracle và SQL Server ?
  => Cấu hình các công nghệ bảo vệ mạng Windows XP SP2 trên một máy tính
  => Tổng quan về tiết kiệm điện khi sử dụng máy tính !
  => Phần IV: Xử lý sự cố phần cứng
  => CÁC VẤN ĐỀ VỀ SỨC KHỎE PHỤ NỮ
  => Sử dụng phím tắt với Internet Explorer 7
  => SỰ PHÁT TRIỂN CỦA SINH VẬT
  => Nguồn gốc máng cỏ giáng sinh
  => Sưu tầm câu đố !
  => SVCHOST
  => Phòng chống virus cho mạng máy tính doanh nghiệp: kinh nghiệm thực tế
  => Các lệnh căn bản trong ngôn ngữ html
  => Sức mạnh của card đồ họa !
  => Cách tải Nhạc nét
  => Triết học và tâm sự của các nhà giáo
  => Phát triển chiều cao
  => Tăng tốc toàn bộ máy tính bằng tay
  => Tăng tốc WinXP
  => Chống mất cắp cho laptop với Laptop Alarm
  => Tạo file ghost!
  => Tạo một CSS layout từ một bản thiết kế (Phần 1 đến 8)
  => Tạo nick ảo trong Yahoo Messenger
  => Tết Đoan Ngọ bắt đầu từ giữa trưa
  => Thói quen tốt: Nghĩ vậy mà không phải vậy
  => Thomas Edison & những phát minh vĩ đại -
  => Windows Vista: các thủ thuật nhỏ khi sử dụng
  => Thủ thuật Blog 360
  => Thủ thuật Internet Explorer 7
  => Thủ thuật tăng tốc cho Windows
  => Thủ thuật Visual basic
  => Thủ thuật Yahoo! Messenger
  => Yahoo Messenger
  => Khám phá mạng xã hội Yahoo! Mash
  => Mẹo tìm kiếm
  => Tìm kiếm trong Excel
  => Tóc hợp khuôn mặt
  => Tokyo - Một chuyến đi
  => Mười quy luật then chốt về Bảo mật
  => Tổng hợp tất cả các kỹ thuật vượt tường lửa
  => Trang trí USB
  => Thuật toán - Cấu trúc dữ liệu CRC (Cyclic Redundancy Check)
  => Các Tuyệt kỹ khiến phái nữ phải ngã lòng
  => CÁCH UP ẢNH QUA HOST TẠI DIỄN ĐÀN
  => Quản lý danh sách bạn chat trong Yahoo! Messenger
  => Error Doctor 2007
  => TuneUp Utilities® 2007
  => Bộ gõ tiếng Việt: Unikey
  => Hướng dẫn viết bài
  => Tường lửa mới trong Windows Vista và Windows Server Longhorn
  => Web 2.0 không chỉ là công nghệ
  => Các website hữu ích về du học bậc sau đại học tại Hoa Kỳ
  => Wi-fi và an toàn thông tin
  => Thuật toán - Cấu trúc dữ liệu So khớp chuỗi với các ký tự wildcard
  => Xóa địa chỉ và homepage
  => USB không cho ghi
  => Yêu cầu của Quản trị mạng
  => Cách Add Feed trong Blog 360
  => Cách tạo theme trong suốt
  => Đề cương KT-Chính Trị
  Contact
  Guestbook
  Story
  Kiếm tiền thật dễ dàng

Biển xanh ... cát trắng

 

 

Quản lý các mạng Windows dùng script - Phần 2: Hoàn chỉnh script -

 Phần 1: Những khái niệm cơ bản

Ở 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:
strComputer = "."
arrIPAddress = Array("172.16.11.99")
arrSubnetMask = Array("255.255.255.0")
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration")
For Each objNetAdapter in colNetAdapters
     errEnableStatic = objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)
Next
Khi chạy script này trên server Windows, nó thay đổi thành công địa chỉ IP của má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ếu nhiề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ột script 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ến

Việ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ến sẽ dùng. VBScript cho phép định nghĩa ngầm các biến đơn giản bằng cách dùng nó 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úng ngay khi bắt đầu script. Khai báo một biến sẽ nói cho VBScript biết về sự tồn tại của nó để cấp phát bộ nhớ lưu trữ. Vì sao khai báo biến tường minh lại hay hơ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ỗi gõ 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 khai báo ngầm về sau trong script (có thể là nguyên nhân gây ra lỗi gõ nhầm) sẽ tạo ra 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ệnh sau vào đầu script:
Option Explicit
Nế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.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
C:Documents and SettingsAdministrator.DC-1DesktopChangeIPAddress.vbs(2, 1) Microsoft VBScript runtime 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 khai báo cho biến dùng trong script:
Option Explicit
Dim objWMIService
Dim objNetAdapter
Dim strComputer
Dim arrIPAddress
Dim arrSubnetMask
Dim colNetAdapters
Dim errEnableStatic
strComputer = "."
arrIPAddress = Array("172.16.11.93")
arrSubnetMask = Array("255.255.255.0")
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
     errEnableStatic = objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)
Next
Chú ý là khi dùng Option Explicit (tuỳ chọn khai báo tường minh), bạn phải khai bá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ần chạy một số trang dài, ngay cả khi chạy chương trình gỡ lỗi rungning time, bạn sẽ 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ình tự, chỉ cần nhớ khai báo cho từng biến trước khi dùng là được. Thông thường ngườ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úng ta đã làm ở trên.

Điều khiển lỗi

Bây giờ, chúng ta đã loại bỏ được các lỗi gõ nhầm khi chạy script đã được soát lạ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ừ xa thay 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ữa lỗ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ất hiệ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áo chú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ố thao tác? Trong trường hợp này tất nhiên chúng ta không muốn có một lỗi thời gian chạy khiến script phải dừng lại giữa chừng mà ít nhất script cũng phải thực hiện tất cả các thao tác khác đã được xây dựng. Một ví dụ điển hình là script giám sát các thiết lập trên một số máy tính mà không thay đổi các thiết lập đó. Trong trường hợp này bạn sẽ cần xây dựng script chạy liên tục cho dù một hay một số máy bị hư hỏng không chạy được.

Cách đơn giản nhất để kiểm soát các lỗi thời gian chạy là lờ chúng đi khi chúng xuất hiện. Bạn có thể nói với VBScript thực hiện điều này bằng cách thêm lệnh sau vào gần nơi bắt đầu của script, chẳng hạn như ngay sau Option Explicit:
On Error Resume Next
Tất nhiên, bạn còn muốn thực hiện thêm nhiều thứ khác trong kiểm soát lỗi. Ví dụ như kiểm tra sự tồn tại của một điều kiện lỗi thời gian chạy ở một số điểm nào đấy trong script (như ngay sau khi kết nối tới dịch vụ WMI trên một máy từ xa) để xác định xem liệu một hoạt động nào đó script được quy định để thực hiện có thành công hay không. Sau đó, dựa trên kết quả kiểm tra điều kiện lỗi, bạn có thể quyết định script các hoạt động tiếp theo của script. Ví dụ, nếu một lỗi xuất hiện, bạn có thể nhận được thông báo nói rằng: “Computer X not found” (không tìm thấy máy tính X) và sau đó script tiếp tục chạy. Chúng ta sẽ tìm hiểu sâu hơn về kiểm soát lỗi trong một số bài khác, còn bây giờ bạn chỉ cần thêm lệnh trên vào để bỏ qua bất kỳ lỗi thời gian chạy nào xuất hiện.

Dữ liệu đầu vào của người dùng

Sẽ phải làm gì nếu chúng ta muốn mô tả địa chỉ IP mới cho máy khi chạy script thay vì viết mã cho nó vào script dưới dạng 172.16.11.99? Trong trường hợp này chúng ta cần chỉnh sửa script để cho phép cung cấp dữ liệu vào của người dùng khi chạy nó. Thực hiện bằng cách thêm vào các tham số khi chạy script từ dòng lệnh. Ví dụ gõ ChangeIPAddress.vbs 172.16.11.188 sẽ thay đổi địa chỉ IP của bộ điều hợp mạng thành 172.16.11.188… Chúng ta có thể thực hiện như sau:
Option Explicit
On Error Resume Next
Dim objWMIService
Dim objNetAdapter
Dim strComputer
Dim strAddress
Dim arrIPAddress
Dim arrSubnetMask
Dim colNetAdapters
Dim errEnableStatic
If WScript.Arguments.Count = 0 Then
     Wscript.Echo "Usage: ChangeIPAddress.vbs new_IP_address"
     WScript.Quit
End If
strComputer = "."
strAddress = Wscript.Arguments.Item(0)
arrIPAddress = Array(strAddress)
arrSubnetMask = Array("255.255.255.0")
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
     errEnableStatic = objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)
Next
Chúng ta hãy phân tích từng phần một. Đầu tiên là khai báo một biến mới:
Dim strAddress
Đây là một biến xâu (string) sẽ chứa tham số (địa chỉ IP) chúng ta mô tả khi chạy script. Tiếp theo là thêm các dòng bên dưới vào sau phần khai báo:
If WScript.Arguments.Count = 0 Then
     Wscript.Echo "Usage: ChangeIPAddress.vbs new_IP_address"
     WScript.Quit
End If
Các dòng này thực hiện điều gì? Thuộc tính Arguments của đối tượng WScript trả về tập hợp các tham số được mô tả khi chạy script. Phương thức Count trả ra số lượng tham số chúng ta nhập vào và mục đích của phần đoạn mã này là kiểm tra xem liệu chúng ta có quên nhập bất kỳ tham số (số tham số bằng 0) nào không. Nếu có, nó sẽ báo hiệu (hoặc hiển thị) một thông báo nói cho bạn biết cách sử dụng script phù hợp như thế nào và chương trình chạy của script bị ngừng lại hoàn toàn.

Cuối cùng, dòng cũ:
arrIPAddress = Array("172.16.11.93")
nơi chúng ta viết mã cho địa chỉ IP mới theo kiểu gán mảng bây giờ đã được thay thế bằng hai dòng bên dưới:
strAddress = Wscript.Arguments.Item(0)
arrIPAddress = Array(strAddress)
Dòng đầu tiên lấy ra phần tử đầu tiên (phần tử 0) của tập hợp WScript.Arguments và gán nó trở thành biến xâu strAddress. Dòng thứ hai sau đó lấy biến xâu strAddress này và gán nó trở thành phần tử đầu tiên của mảng arrIPAddress.

Hãy xem chuyện gì xảy ra khi chạy script mới này, đầu tiên không mô tả tham số, sau đó là chạy với một tham số:
C:Documents and SettingsAdministrator.DC-1Desktop>ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 172.16.11.31
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 172.16.11.1
C:Documents and SettingsAdministrator.DC-1Desktop>ChangeIPAddress.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Usage: ChangeIPAddress.vbs new_IP_address
C:Documents and SettingsAdministrator.DC-1Desktop>ChangeIPAddress.vbs 172.16.11.188
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
C:Documents and SettingsAdministrator.DC-1Desktop>ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 172.16.11.188
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 172.16.11.1
Chương trình chạy khá tuyệt!

Kiểm chứng đầu ra

Nếu bạn thấy chán khi phải gõ mãi lệnh ipconfig sau khi chạy script để kiểm tra kết quả, còn một cách khác giúp bạn: sử dụng các dòng như bên dưới:
For Each objNetAdapter in colNetAdapters
     errEnableStatic = objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)
Next
Mục đích của đoạn mã này là thay đổi địa chỉ IP được gán cho bộ điều hợp mạng, dùng phương thức objNetAdapter.EnableStatic. Nhưng bạn nên chú ý là cần phải có một biến err- (ở đây là errEnableStatic) dùng làm nơi lưu trữ đoạn mã lỗi trả về khi chạy phương thức. Danh sách mã lỗi có thể được trả về từ phương thức EnableStatic của lớp Win32_NetworkAdapterConfiguration bạn có thể tham khảo trên MSDN. Và từ danh sách này chúng ta có thể thấy kết quả trả về bằng 0 nghĩa là thao tác script thực hiện đã thành công (ví dụ như địa chỉ IP của bộ điều hợp đã được thay đổi thành công). Cách đơn giản nhất để kiểm tra là thêm dòng bên dưới vào cuối script:
Wscript.Echo errEnableStatic
Chạy script lại một lần nữa:
C:Documents and SettingsAdministrator.DC-1Desktop>ChangeIPAddress.vbs 172.16.11.237
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
0
C:Documents and SettingsAdministrator.DC-1Desktop>ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 172.16.11.237
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 172.16.11.1
Chắc chắn như vậy là đủ. Kết quả trả về bằng 0 cho thấy địa chỉ IP đã được thay đổi thành công. Một phương thức hay hơn sẽ hiển thị một thông báo bằng cách thay lệnh báo hiệu lại bằng lệnh sau:
If errEnableStatic=0 Then
     Wscript.Echo "Adapter's IP address has been successfully changed to " & strAddress
Else
     Wscript.Echo "Changing the adapter's address was not successful. Error code " & errEnableStatic
End If
Thêm các lệnh sau vào cuối script và chạy lại hai lần, một với địa chỉ IP chính xác và một với địa chỉ IP tuỳ ý:
C:Documents and SettingsAdministrator.DC-1Desktop>ChangeIPAddress.vbs 172.16.11.173
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Adapter's IP address has been successfully changed to 172.16.11.173
C:Documents and SettingsAdministrator.DC-1Desktop>ChangeIPAddress.vbs 172.16.11.1492567
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Changing the adapter's address was not successful. Error code 70
C:Documents and SettingsAdministrator.DC-1Desktop>
Kết luận

Việc cuối cùng chúng ta cần làm là thêm một vài chú thích vào script để diễn giải cho script. Đây luôn là một ý kiến hay vì có thể một năm sau đọc lại và muốn thay đổi một điểm gì đó trong script, bạn sẽ dễ dàng tìm ra cái mình cần. Đây là script hoàn chỉnh cuối cùng của chúng ta để thay đổi địa chỉ IP bộ điều hợp mạng:
=========================
' NAME: ChangeIPAddress.vbs
'
'AUTHOR: Mitch Tulloch
'DATE: October 2006
'
ARGUMENTS:
'1. new_IP_address
'=========================-
Option Explicit
On Error Resume Next
Dim objWMIService
Dim objNetAdapter
Dim strComputer     ' Can specify IP address or hostname or FQDN
Dim strAddress     'Contains the new IP address
Dim arrIPAddress
Dim arrSubnetMask
Dim colNetAdapters
Dim errEnableStatic
'Check for missing arguments
If WScript.Arguments.Count = 0 Then
     Wscript.Echo "Usage: ChangeIPAddress.vbs new_IP_address"
     WScript.Quit
End If
strComputer = "."
strAddress = Wscript.Arguments.Item(0)
arrIPAddress = Array(strAddress)
arrSubnetMask = Array("255.255.255.0")
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
     errEnableStatic = objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)
Next
'Display result or error code
If errEnableStatic=0 Then
     Wscript.Echo "Adapter's IP address has been successfully changed to " & strAddress
Else
     Wscript.Echo "Changing the adapter's address was not successful. Error code " & errEnableStatic
End If
(Còn nữa)



 T.Thu (Theo Networking)

 
Today, there have been 1 visitors (17 hits) on this page!
=> Do you also want a homepage for free? Then click here! <=
Đến với thành phố biển Vũng Tàu