Nhận dạng người dùng

Một phần của tài liệu Quản lý các mạng Windows dùng script (Trang 63 - 64)

Khi bạn chạy kịch bản cho một máy tính điều khiển xa và có thể thiết lập kết nối mạng với máy tính từ xa, sau đó kịch bản có thể thực hiện các hành động trên máy tính từ xa đó. Nhưng các hành động mà nó có thể thực hiện lại phụ thuộc vào sự nhận dạng với kịch bản nào đang chạy trên máy tính điều khiển. Ví dụ tôi đăng nhập vào máy tính A bằng sử dụng một tài khoản người dùng tên miền thông thường. Sau đó tôi chạy kịch bản ChangeIPAddress.vbs và nhắm nó vào máy tính điều khiển xa B. Kịch bản sử dụng RPC để kết nối đến dịch vụ WMI trên máy tính B và nó thay đổi địa chỉ IP của máy tính B. Nhưng bất thành. Lý do tại sao? Ai đang cố gắng thực hiện hành động này trên máy tính điều khiển xa? Trên máy tính cục bộ (máy tính A) bạn là người dùng và khi chạy kịch bản bằng mặc định nó là hiện thân cho nhận dạng của bạn, nghĩa là kịch bản sẽ thực hiện các hành động của nó bằng sự nhận dạng của bạn (tài khoản người dùng của bạn). Vì vậy kịch bản sẽ thay đổi địa chỉ IP của máy tính điều khiển xa, nó có hiệu quả đối với bạn, một người dùng trong miền, người đang thực hiện điều này. Mặt khác nó sẽ hỏng khi việc thay đổi yêu cầu đến sự ủy nhiệm quản trị viên cục bộ.

Vì vậy, khi bạn đang ngồi tại máy tính A, đã đăng nhập vào người dùng của miền và bạn vẫn muốn sử dụng kịch bản của mình để thay đổi địa chỉ IP của máy tính B. Bạn có thể thực hiện chúng như sau:

Kịch bản ChangeIPAddress.vbs của bạn có thể thay đổi như sau:

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

strUser = "Administrator" strPassword = “Pa$$w0rd”

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2", strUser, strPassword)

Vấn đề ở đây là không an toàn – mật khẩu của tài khoản quản trị viên cho máy tính từ xa có trong văn bản của kịch bản và có thể bị quan sát.

Vậy làm thế nào để có thể loại bỏ được hai dòng đầu tiên này và giấu các giá trị strUser và strPassword cho kịch bản như các đối số khi kịch bản được chạy? Tốt hơn vẫn là việc mã hóa cứng các giá trị này trong kịch bản, nhưng nếu ai đó có chương trình đang chạy (như Network Monitor 3.0) thì họ có thể lấy được các thông tin quan trọng và khi đó bạn đã thỏa hiệp máy tính từ xa của mình.

Sẽ như thế nào nếu bạn sử dụng một lệnh nâng cao như runas /user:Administrator cmd.exe và sau đó chạy kịch bản từ cửa sổ lệnh nâng cao mà không cần chỉ định các thông tin quan trọng khác? Đó có thể là giải pháp tốt nhất cho kịch bản từ xa, nơi bạn muốn bảo đảm kịch bản có sự nhận dạng thích hợp (thường quản trị nội bộ trên máy tính mục tiêu) dù cho nó khá phức tạp. Rõ ràng, bạn có thể đơn giản việc đăng nhập vào máy trạm làm việc như tài khoản quản trị miền và đơn giản mở một lệnh và chạy kịch bản.

Một phần của tài liệu Quản lý các mạng Windows dùng script (Trang 63 - 64)

Tải bản đầy đủ (DOC)

(84 trang)
w