Danh mục

Script - Những bước đầu tiên về scripting

Số trang: 8      Loại file: pdf      Dung lượng: 213.55 KB      Lượt xem: 2      Lượt tải: 0    
Thu Hiền

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tìm hiểu kỹ thuật scripting remote (viết kịch bản chạy trên các máy từ xa) sử dụng lớp WMI Win32_NetworkAdapterConfiguration đã được giới thiệu ở phần trước.Trở lại với script ChangeIPAddress.vbs mà chúng ta đã phát triển ở các phần trước để thay đổi địa chỉ IP của một bộ điều hợp mạng: Option Explicit 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:\\" &...
Nội dung trích xuất từ tài liệu:
Script - Những bước đầu tiên về scripting Quản lý các mạng Windows dùng script - Phần 6: Những bước đầu tiên về scripting remote Tìm hiểu kỹ thuật scripting remote (viết kịch bản chạy trên các máy từ xa) sử dụng lớp WMI Win32_NetworkAdapterConfiguration đã được giới thiệu ở phần trước. Trở lại với script ChangeIPAddress.vbs mà chúng ta đã phát triển ở các phần trước để thay đổi địa chỉ IP của một bộ điều hợp mạng: Option ExplicitDim objWMIServiceDim objNetAdapterDim strComputerDim strAddressDim arrIPAddressDim arrSubnetMaskDim colNetAdaptersDim errEnableStaticIf WScript.Arguments.Count = 0 Then Wscript.Echo Usage: ChangeIPAddress.vbs new_IP_address WScript.QuitEnd IfstrComputer = .strAddress = Wscript.Arguments.Item(0)arrIPAddress = Array(strAddress)arrSubnetMask = Array(255.255.255.0)Set objWMIService = GetObject(winmgmts:\\ & strComputer & \root\cimv2)Set colNetAdapters = objWMIService.ExecQuery(Select * fromWin32_NetworkAdapterConfiguration where IPEnabled=TRUE)For Each objNetAdapter in colNetAdapters errEnableStatic = objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)NextChú ý là các chú thích đã được loại bỏ và phần mã ở cuối hiển thị kết quả.Điểm qua lại một chút về hoạt động của script này: 1. Kết nối tới namespace root\cimv2 trên máy cục bộ. 2. Sử dụng một lệnh SELECT để trả về tập hợp các cấu hình bộ điều hợp mạng có đường bao TCP/IP và được phép sử dụng. 3. Thay đổi địa chỉ IP của bộ điều hợp thành giá trị được mô tả trong tham số dòng lệnh.Chúng ta đã ghi lại script này trong thư mục C:\localtest trên một máy Windows XP có địa chỉ IPtĩnh là 172.16.11.43. Sau đó, mở của sổ dòng lệnh Command Prompt với vai trò admin trên máyvà sử dụng script này để thay đổi địa chỉ IP của máy thành 172.16.11.54:C:\locatest>ipconfigWindows IP ConfigurationEthernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 172.16.11.43 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 172.16.11.1C:\locatest>ChangeIPAddress.vbs 172.16.11.54Microsoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.C:\locatest>ipconfigWindows IP ConfigurationEthernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 172.16.11.54 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 172.16.11.1C:\locatest>Chú ý 1: Nên nhớ rằng, để thay đổi địa chỉ IP trên máy Windows XP đòi hỏi phải sử dụng đặcquyền quản trị cục bộ. Do đó, nếu bạn hiện đang đăng nhập vào máy với vai trò người dùng miềnbình thường, cần phải mở cửa sổ Command Prompt, sau đó gõ lệnh: runas /user:administratorcmd.exe để mở một cửa sổ Command Prompt thứ hai chạy trong ngữ cảnh của vai trò quản trịcục bộ và cuối cùng là chạy script từ cửa sổ Command Prompt thứ hai này.Nhưng nếu muốn chạy script trên một máy và sử dụng nó để thay đổi địa chỉ IP của một máykhác thì sao? Nói cách khác, chúng ta muốn chạy script từ xa trên một máy Windows XP ở xa thìphải làm như thế nào?Cố gắng đầu tiênChúng ta hãy bắt đầu bằng việc đăng nhập vào một trạm làm việc admin xp.contoso.com, sửdụng thông tin thẩm định của một tài khoản admin có tên là Mary Jones. Chúng ta cần thực hiệnđiều này vì các admin miền có đặc quyền quản trị cục bộ trên tất cả các máy trong miền. Do đó,khi chạy script từ trạm admin trên một máy từ xa, script sẽ hoạt động.Bây giờ chúng ta đã có script ChangeIPAddress.vbs trong thư mục C:\tools ở trạm adminxp.contoso.com. Mở cửa sổ lệnh Command Prompt trên máy này và gõ vào hai dòng sau:C:\Documents and Settings\mjones>cd \toolsC:\tools>notepad ChangeIPAddress.vbsScript được mở trong Notepad, thay đổi dòng bên dưới:strComputer = .thành:strComputer = xp2 Sau đó vào File/Save để ghi lại thay đổi và đóng Notepad. Bây giờ, chạy script:C:\tools>ChangeIPAddress.vbs 172.16.11.65Microsoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.C:\tools\ChangeIPAddress.vbs(20, 1) Microsoft VBScript runtime error: The remote servermachine does not exist or is unavailable: GetObjectC:\tools>Chú ý là sẽ phải mất một lúc trước khi thông báo lỗi ở trên xuất hiện. Nhưng như vậy script cólàm việc không? Nếu đăng nhập vào máy từ xa xp2.contoso.com, mở cửa sổ Command Promptvà gõ ipconfig, kết quả thu được sẽ là:C:\locatest>ipconfigWindows IP ConfigurationEthernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 172.16.11.43 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 172.16.11.1C:\locatest>Bạn có thể thấy địa chỉ của máy vẫn là 172.16.11.43. Tức là script này không hoạt động.Vậy, sai ở điểm nào? Thông báo lỗi chỉ ra rằng có một vấn đề với dòng 20 của script. Dòng 20có dạng:Set objWMIService = GetObject(winmgmts:\\ & strComputer & \root\cimv2)Dường như script không thể kết nối với dịch vụ WMI trên một máy từ xa. Nguyên nhân là dođâu?Cố gắng thứ haiChúng ta có thể làm một điều gì đó với Windows Firewall trên máy từ xa.Nên nhớ rằng, Windows XP SP2 có một tường lửa sẽ loại bỏ hầu hết mọi lưu lượng đến ngoạitrừ lưu lượng được cấu hình riêng. Cách đơn giản nhất để kiểm tra điều này là tắt WindowsFirewall trên các máy tính đích. Đăng nhập vào xp2.contoso.com với vai trò admin, mở ứngdụng Windows Firewall trong Control Panel và chọn thiết lập Off trên tab General.Bây giờ chạy lại script từ trạm admin:C:\tools>ChangeIPAddress.vbs 172.16.11.65Microsoft (R) Windows Script Host Version 5 ...

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