Viết kịch bản Terminal Service - Phần 1

Chia sẻ: Hoang Nhan | Ngày: | Loại File: PDF | Số trang:10

0
120
lượt xem
24
download

Viết kịch bản Terminal Service - Phần 1

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Khi hệ điều hành Windows được phát triển, một số người cho rằng DOS đã lỗi thời. Tuy nhiên hầu hết các lệnh DOS ban đầu không những vẫn được hỗ trợ mà còn được phát triển thêm, Microsoft đã bổ sung thêm rất nhiều lệnh mới trong tập lệnh này.

Chủ đề:
Lưu

Nội dung Text: Viết kịch bản Terminal Service - Phần 1

  1. Viết kịch bản Terminal Service - Phần 1 Nguồn : quantrimang.com  Brien M. Posey Quản trị mạng - Khi hệ điều hành Windows được phát triển, một số người cho rằng DOS đã lỗi thời. Tuy nhiên hầu hết các lệnh DOS ban đầu không những vẫn được hỗ trợ mà còn được phát triển thêm, Microsoft đã bổ sung thêm rất nhiều lệnh mới trong tập lệnh này. Nhiều lệnh trong số những lệnh mới này có liên quan đến việc kết nối mạng, một số liên quan cụ thể đến Windows Terminal Services. Trong bài viết này chúng tôi sẽ giới thiệu cho các bạn một số lệnh hữu dụng đối với các quản trị viên terminal service. Một số lệnh mà chúng tôi sẽ giới thiệu không trực tiếp liên quan đến các terminal service nhưng chúng vẫn rất hữu dụng khi sử dụng trong môi trường này. Còn một số lệnh khác liên quan trực tiếp đến terminal service. Kế hoạch của chúng tôi là sẽ dành một số bài sau trong loạt bài này để giới thiệu về các lệnh và minh chứng cách làm việc của chúng như thế nào. Cuối loạt bài, chúng tôi sẽ giới thiệu cho các bạn cách sử dụng các lệnh tạo kịch bản tự động. Lệnh Change Logon Lệnh Change Logon cho phép bạn kích hoạt hoặc vô hiệu hoá các phiên đăng nhập từ cửa sổ nhắc lệnh hoặc từ một kịch bản tự động. Một cách mà chúng tôi đã thấy lệnh này được sử dụng trong thế giới thực đó là trong một công ty, công ty này cần chặn người dùng đối với một máy chủ trong một vài giờ mỗi đêm để thực hiện các nhiệm vụ bảo trì. Quản trị viên của công ty đó đã tạo một kịch bản đề vô hiệu hoá các phiên đăng nhập, sau đó chạy các nhiệm vụ bảo trì và cuối cùng kích hoạt trở lại các đăng nhập. Cú pháp của lệnh này rất đơn giản, bạn chỉ cần nhập vào lệnh CHANGE LOGON, sau đó là một trong các switch sau: /QUERY Cho bạn biết phiên đăng nhập nào hiện được kích hoạt hoặc vô • hiệu hoá /ENABLE Cho phép các phiên đăng nhập • /DISABLE Vô hiệu hoá các phiên đăng nhập • Nếu quan sát trong hình A, bạn có thể thấy lệnh Change Logon được sử dụng trong một ví dụ. Trong hình, chúng tôi đã nhập vào lệnh CHANGE LOGON /? để bạn có thể thấy cú pháp lệnh này, và sau đó nhập vào lệnh CHANGE LOGON
  2. /QUERY để thấy đầu ra của truy vấn. Hình A: Lệnh CHANGE LOGON cho phép bạn kích hoạt hoặc vô hiệu hoá các phiên đăng nhập Một số môi trường không hỗ trợ sử dụng lệnh có nhiều từ. Chẳng hạn như Microsoft đã tạo một phiên bản lệnh một từ cho lệnh này. Lệnh một từ này là CHLOGON. Lệnh Change Port Lệnh Change Port nhanh chóng trở thành lỗi thời, nhưng vì có một số tổ chức vẫn lợi dụng lệnh này nên chúng tôi vẫn giới thiệu cho các bạn ở đây. Ý tưởng ẩn chứa đằng sau ứng dụng Change Port là một số ứng dụng kế thừa (điển hình như các ứng dụng DOS) được viết mã cứng để sử dụng các cổng nối tiếp nào đó. Cho ví dụ, điều gì sẽ xảy ra nếu ứng dụng được viết mã sử dụng cổng COM2 nhưng máy tính chỉ có một cổng nối tiếp? Lệnh Change Port có thể được sử dụng để bản đồ lại các cổng nối tiếp. Cho ví dụ, nếu một ứng dụng được viết mã sử dụng COM2, nhưng máy tính chỉ có một cổng nối tiếp thì việc bản đồ hoá cổng có thể bị thay đổi để các triệu gọi COM2 sẽ được gửi chuyển tiếp đến COM1. Có 3 tuỳ chọn khác nhau ở đây mà bạn có thể thực hiện với lệnh này. Tuỳ chọn thứ nhất là bản đồ hoá lại một cổng nối tiếp. Có thể thực hiện điều này bằng cách sử dụng tham số portx=porty. Cho ví dụ, nếu muốn hướng các cuộc gọi từ cổng COM2 sang cổng COM1 thì bạn cần phải sử dụng lệnh sau:
  3. CHANGE PORT port2=port1 Một tùy chọn khác mà lệnh Change Port cho phép bạn thực hiện đó là xóa bản đồ cổng. Để thực hiện như vậy, bạn chỉ cần đặt sau theo lệnh Change Port /D và số cổng. Cho ví dụ, nếu muốn xoá việc bản đồ hoá Port 2, bạn cần phải nhập vào lệnh dưới đây: Change Port /D port2 Lệnh Change Port cũng hỗ trợ sử dụng /Query. Điều này cho phép bạn có thể quan sát bản đồ hóa của cổng hiện hành. Một điểm thú vị về /Query là sẽ cho bạn biết một số mâu thuẫn giữa các phiên bản của Windows. Trong môi trường lab của chúng tôi, khi chúng tôi chạy lệnh Change Port /Query trên một máy tính đang chạy hệ điều hành Windows Server 2003 và không hề có bất cứ cổng nối tiếp vật lý nào, chúng tôi đã nhận được một thông báo chỉ thị không tồn tại bản đồ cổng. Khi chúng tôi thử tương tự như vậy trên máy tính đang chạy Windows Vista, lệnh này đã cho chúng tôi thấy được bản đồ hóa như trong hình B. Hình B: Lệnh Port /Query nhằm phát hiện ra bản đồ cổng nối tiếp của máy. Giống như lệnh Change Logon , cũng có kiểu viết tắt cho lệnh này. Kiểu viết tắt của lệnh này là CHGPORT. Lệnh Query Session Một trong những lệnh đơn giản nhất có liên quan đến terminal service cũng là một lệnh hữu dụng nhất. Đó chính là lệnh Query Session, lệnh này có thể sử dụng mà không cần bất cứ tham số phụ nào. Với lệnh này, Windows sẽ cung cấp cho bạn các thông tin về tất cả các session hiện được gắn với máy chủ. Như
  4. những gì bạn thấy trong hình C, Windows sẽ cho bạn biết về tên session, tên của người dùng, người đã thực hiện đăng nhập thông qua the session, số session ID, session có được kích hoạt hay không và kiểu của session. Hình C: Lệnh Query Session cung cấp các thông tin về các phiên của terminal service hiện hành Lệnh Query Session không yêu cầu bạn sử dụng thêm bất cứ tham số nào, tuy nhiên điều đó không có nghĩa rằng bạn không thể sử dụng các tham số khác. Bạn có thể dễ dàng lọc đầu ra bằng cách nhập vào một username, session name, hoặc session ID cụ thể nào đó theo sau lệnh. Cho ví dụ, nếu bạn muốn biết về session có số 65536, khi đó chỉ cần nhập vào lệnh sau: Query Session 65536 Có một số switch bạn có thể sử dụng ở đây. Đây là những mô tả vắn tắt về các switch có thể dùng cho lệnh này: /SERVER:servername Cho phép bạn chỉ định tên máy chủ muốn truy • vấn. /MODE Liệt kê tốc độ baud, sự chẵn lẻ, số bit dữ liệu và các bit stop cho • mỗi session. /FLOW Cho bạn biết xem session sẽ sử dụng điều khiển luồng hay • không. /CONNECT Liệt kê các phương pháp kết nối của session • /COUNTER Cung cấp một bảng tóm tắt số session đã được tạo, huỷ kết • nối và được kết nối lại. Kết luận
  5. Trong phần này, chúng tôi đã giới thiệu cho các bạn một số lệnh có thể được sử dụng trong môi trường terminal service. Trong phần 2 của loạt bài này, chúng tôi sẽ giới thiệu về một số lệnh khác và phần cuối loạt bài sẽ là giới thiệu về cách kết hợp các lệnh này để tạo một số kịch bản tự động. Viết kịch bản Terminal Service - Phần 1 Brien M. Posey QUERY TERMSERVER Lệnh đầu tiên mà chúng tôi muốn nói đến là lệnh QUERY TERMSERVER. Khi bạn nhập vào lệnh này, Windows sẽ tạo một danh sách tất cả các máy chủ terminal trên mạng, như thể hiện trong hình A. Hình A: Lệnh QUERY TERMSERVER làm cho Windows sinh ra một danh sách tất cả các máy chủ terminal trên mạng. Nếu bạn vận hành một mạng doanh nghiệp, một mạng lớn thì danh sách các máy chủ terminal có thể khá dài. Điều này có thể gây ra nhiều vấn đề nếu bạn muốn tạo một kịch bản tự động nhằm tạo một báo cáo, vì lệnh được thiết kế để dừng tạm thời và đợi cho đến khi người dùng nhập vào sau mỗi màn hình hiển thị. Nếu mục đích của bạn là tạo một kịch bản tự động, chúng tôi gợi ý các bạn sử dụng lệnh QUERY TERMSERVER này với khóa chuyển đổi /CONTINUE. Bằng cách thực hiện như vậy, lệnh này sẽ hiển thị danh sách các máy chủ đầu cuối theo một luồng liên tục, thay cho việc dừng sau mỗi màn hình đầy. Một vấn đề khác trong sử dụng lệnh này trên một mạng lớn là, mạng doanh nghiệp có thể có đến hàng trăm miền, mỗi miền lại gồm nhiều máy chủ đầu cuối.
  6. Nếu muốn tránh hiện tượng quá tải thì bạn có thể hạn chế đầu ra của báo cáo chỉ cho những máy chủ đầu cuối nằm trong một miền nào đó. Để thực hiện như vậy, bạn cần phải sử dụng /DOMAIN, sau đó là tên miền của miền nào bạn muốn tạo báo cáo. Cho ví dụ, nếu muốn liệt kê tất cả các máy chủ đầu cuối trong miền Contoso thì bạn cần phải sử dụng lệnh dưới đây: QUERY TERMSERVER /DOMAIN:Contoso Thứ cuối cùng mà có thể thực hiện ở đây với lệnh này là bạn có thể sử dụng nó để tạo một báo cáo để liệt kê các địa chỉ MAC có liên quan với mỗi máy chủ đầu cuối. Để thực hiện điều đó, chỉ cần nhập vào lệnh QUERY TERMSERVER, sau đó là khóa chuyển đổi /ADDRESS. Có thể xem những gì ở đầu ra như trong hình B. Hình B: Lệnh QUERY TERMSERVER /ADDRESS liệt kê các địa chỉ MAC có liên quan với mỗi máy chủ đầu cuối QUERY PROCESS Lệnh tiếp theo mà chúng tôi muốn giới thiệu cho các bạn là lệnh QUERY PROCESS. Có thể các bạn đã biết, mỗi ứng dụng đều có một hoặc nhiều quy trình. Lệnh QUERY PROCESS cho phép bạn biết được các quy trình hiện đang được chạy trên máy chủ đầu cuối. Như những gì bạn thấy trong hình C, khi bạn nhập vào lệnh QUERY PROCESS, Windows sẽ liệt kê người dùng nào đang chạy quá trình, session của terminal service có liên quan đến quá trình đang được chạy đó, số session ID, process ID và tên của file thực thi khởi chạy quá trình.
  7. Hình C: Lệnh QUERY PROCESS liệt kê các thông tin chi tiết về các quá trình đang được chạy trên máy chủ. Thứ đầu tiên mà bạn cần biết về lệnh này là nó không liệt kê mọi quá trình riêng lẻ một cách mặc định. Nếu nhìn vào hình, bạn sẽ thấy được rằng không có quá trình nào đang được chạy nội bộ trên máy chủ được liệt kê. Nếu bạn muốn xem một danh sách đầy đủ tất cả các quá trình đang được chạy trên máy chủ, đơn giản chỉ cần nhập vào lệnh QUERY PROCESS, sau đó là một dấu hoa thị, xem trong hình D. Hình D: Lệnh QUERY PROCESS * sẽ liệt kê các quá trình đang chạy trên máy chủ Mặc dù, về cơ bản, báo cáo lệnh QUERY PROCESS cho ra khá hữu ích, tuy nhiên lệnh này cũng cho phép xem các thông tin đã được lọc.
  8. Nếu muốn quan sát các thông tin đã được lọc dựa trên Process ID, Username, Session Name, hoặc Program Name, thì bạn phải nhập vào tên của lệnh QUERY PROCESS, sau đó là phần thông tin muốn lọc. Cho ví dụ, giả dụ rằng bạn muốn tạo một báo cáo chỉ thể hiện các thông tin có liên quan đến quá trình số 3360. Để thực hiện điều này, không phải nhập vào bất cứ switch nào hoặc bất cứ thứ gì, mà chỉ cần nhập vào lệnh QUERY PROCESS, sau đó là process ID, trong trường hợp này là 3360. Báo cáo thu được lúc này sẽ giống như những gì hiển thị trong hình E. Hình E: Lệnh QUERY PROCESS cho phép bạn tạo các báo cáo dựa trên các thông tin cụ thể Kỹ thuật tương tự như vậy cũng áp dụng nếu bạn muốn thực hiện một truy vấn dựa trên tên của người đang chạy quá trình, tên session và tên chương trình. Cho ví dụ, nếu muốn tạo một báo cáo tất cả các quá trình hiện đang được chạy bởi Administrator, khi đó bạn cần phải nhập vào lệnh dưới đây: QUERY PROCESS Administrator Như nhưng gì bạn thấy trong hình F, Windows sẽ liệt kê tất cả các quá trình hiện đang được chạy bởi quản trị viên.
  9. Hình F: Lệnh QUERY PROCESS Administrator hiển thị tất cả các quá trình đang được chạy bởi quản trị viên. Do mỗi một session của terminal service được gán một số session ID. Nên nếu quan sát trong hình D, bạn sẽ thấy được rằng lệnh QUERY PROCESS sẽ hiển thị session ID. Mặc dù vậy, bạn lại không thể lọc đầu ra theo session ID bằng việc nối số session ID vào phần cuối của lệnh QUERY PROCESS. Lý do của điều này là Windows không có cách phân biệt giữa session ID và process ID. Mặc dù vậy, nếu bạn nối thêm vào một số vào phần đuôi của lệnh QUERY PROCESS thì Windows sẽ tự động thừa nhận rằng số đó là process ID. Điều này không có nghĩa bạn không thể lọc theo session ID. Nếu muốn lọc đầu ra theo session ID thì bạn cần phải sử dụng khóa chuyển đổi /ID, sau đó là một dấu hai chấm, số session ID. Cho ví dụ, nếu muốn xem tất cả các quá trình liên quan với session ID số 1, bạn có thể thực hiện bằng cách nhập vào lệnh sau: QUERY PROCESS /ID:1 Bạn có thể thấy những gì lệnh này cho ra trong hình G.
  10. Hình G: Khóa chuyển đổi /ID có thể lọc đầu ra dựa trên session ID Kết luận Trong phần này, chúng tôi đã giới thiệu cho các bạn thêm một số lệnh có thể được sử dụng trong môi trường terminal service. Trong phần ba của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn một số lệnh khác.    
Đồng bộ tài khoản