Tải bản đầy đủ (.pdf) (9 trang)

Tài liệu Viết kịch bản Terminal Service - Phần 2 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (434.38 KB, 9 trang )

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

n:quantrimang.com
Brien M. Posey
Quản trị mạng - Cho tới phần này, chúng tôi đã giới thiệu một vài lệnh để các
bạn có thể sử dụng trong môi trường terminal service. Tuy nhiên vẫn còn một vài
lệnh khác mà chúng tôi muốn giới thiệu về cách sử dụng của nó, phần này sẽ
tiếp tục thảo luận bằng cách minh chứng một số lệnh này. Cuối cùng sẽ kết thúc
loạt bài bằng cách thể hiên mộ
t vài kịch bản để bạn có thể tạo dựa trên các lệnh
đã được giới thiệu. Bạn có thể sử dụng các kịch bản để tự động hóa các nhiệm
bảo trì terminal service. Còn giờ đây, chúng ta sẽ bắt đầu bằng cách nói về một
số lệnh.
Query User
Lệnh Query User được thiết kế để cho phép bạn xem các thông tin về người
dùng, ai hiện đang kết nối với terminal server. Ở
dạng đơn giản nhất, bạn có thể
chỉ cần đánh lệnh Query User để xem một báo cáo về tất cả người dùng hiện
đang kết nối với terminal server, như thể hiện trong hình A.

Hình A: Lệnh Query User cho phép bạn xem một số thông tin cơ bản về những
người dùng được kết nối với terminal server
Thứ đầu tiên bạn có thể thấy ở đây về lệnh này là nó sẽ hiể
n thị các thông tin có
liên quan đến máy chủ mà bạn hiện đang sử dụng. Mặc dù vậy, vẫn có một tiếp
lệnh có thể sử dụng để kiểm tra một máy chủ khác. Điều này sẽ giúp ích rất
nhiều trong trường hợp bạn muốn xem một máy chủ từ một máy trạm làm việc,
hoặc bạn đang xây dựng một kịch bản dựa trên lệnh Query User và không biết
chính xác cơ chế mà kịch bản sẽ chạy trên đó. Để hướng lệnh Query User và
chạy trên một máy chủ nào đó, hãy nhập vào lệnh dưới đây:


Query User /SERVER:servername
Bạn có thể thấy lệnh này làm việc như thế nào trong hình B

Hình B: Bạn có thể hướng lệnh Query User chạy cho một máy chủ nào đó
Một thứ thú vị khác
ở đây về lệnh Query User là bạn có thể lọc các thông tin
được trả về dựa trên user name, session name hoặc thậm chí session ID. Không
cần phải chỉ định một tiếp lệnh khi lọc các thông tin cụ thể. Tất cả những gì cần
thực hiện ở đây là đánh vào các thông tin mà bạn đang muốn lọc. Mặc dù vậy
bạn có thể sử dụng việc lọc kết hợp với tiếp lệnh /SERVER.
Cho ví dụ, nếu bạn quan sát trong hình C, bạn sẽ thấy có hai lệnh được thể hiện
trong hình hoàn toàn giống nhau, ngoại trừ lệnh thứ hai có số 1 ở cuối. Bằng
cách thực hiện như vậy, chúng ta đã tạo được một kết quả có lọc, thể hiện cho
chúng ta về session ID số 1 trên máy chủ.

Hình C: Băng cách thêm số 1 vào cuối lệnh, chúng ta đã tạo được một kết quả
có lọc với số session bằng 1.
Khái niệm tương tự cũng áp dụng trong trường hợp bạn muốn lọc các thông tin
khác. Nếu quan sát trong hình D, bạn sẽ thấy rằng cú pháp lệnh không hoàn
toàn bị thay đổi. Chỉ có một thứ bị là thay thế session ID bằng username. Thay
thế như vậy, chúng ta có thể tạo một kết quả có lọc cho t
ất cả các session được
mở bởi một người dùng nào đó.

Hình D: Bạn có thể gán username, session name hay số session ID
vào phần cuối của lệnh Query User
Các lệnh cơ bản
Cho đến đây, chúng tôi đã giới thiệu một số lệnh phức tạp để bạn có thể sử
dụng nhằm tương tác với terminal server từ tiện ích dòng lệnh. Chúng tôi sẽ
dành phần còn lại của phần này để giới thiệu về một số lệnh cơ bản. Tuy vẫn

còn khá nhiều lệnh phức tạp hơn muốn giới thiệu cho bạn nhưng chúng tôi sẽ
giới thiệu trong các phần tiếp theo.
Reset Session
Lệnh Reset Session cho phép bạn thiết lập lại một session bị treo. Cú pháp của
lệnh này thực sự rất đơn giản. Theo sau lệnh Reset Session chỉ là session name
hoặc session ID. Bạ
n cũng có thể chỉ định tên của máy chủ có chứa session mà
bạn muốn thiết lập lại, tuy nhiên điều này chỉ cần thiết nếu session hiện đang
chạy trên một máy chủ khác thay cho một máy chủ mà bạn hiện đang được gắn
với.
Cú pháp lệnh này cho phép bạn gán thêm session name hoặc session ID trực
tiếp vào phần cuối của lệnh. Nếu bạn muốn chỉ định một máy chủ, bạ
n sẽ phải
sử dụng tiếp lệnh /SERVER:servername. Cũng có tiếp lệnh /V để bạn có thế sử
dụng nhằm xem các kết quả chi tiết hơn.
LOGOFF
Lệnh này cho phép bạn kết thúc session của terminal server của người dùng nào
đó. Cú pháp của lệnh Logoff cũng giống như cú pháp được sử dụng cho lệnh
Reset Session. Điều này có nghĩa rằng bạn có thể kiểm soát người dùng nào mà
bạn muốn log off bằng cách gắ
n thêm session name hay số session ID vào lệnh
logoff. Giống như lệnh Reset session, bạn cũng có thể sử dụng tiếp lệnh
/SERVER để chỉ định tên máy chủ và có thể sử dụng tiếp lệnh /V để yêu cầu các
đầu ra chi tiết.
TSDISCON
Bạn cần biết được có sự khác nhau giữa việc đăng xuất của một người dùng và
việc hủy kết nối session của họ. Về mặt kỹ thuật, session
được kết nối thậm chí
khi không có người dùng nào đăng nhập vào session đó. Điều này chính là lý do
lệnh TSDISCON ra đời. Lệnh này cho phép bạn hủy kết nối một session từ một

máy chủ đầu cuối.
Tiếp nữa, cú pháp của lệnh này cũng giống với cú pháp được sử dụng bởi lệnh
Reset Session và lệnh Logoff. Bạn có thể xem một đoạn cú pháp bên dưới:
TSDISCON [sessionid | session name] [/SERVER:servername] [/v]
• Session ID: Số session ID
• Sessionname: Tên của session
• /SERVER:servername: Mặc định, lệnh này sử dụng máy chủ hiện hành,
nhưng tham số này cho phép bạn chỉ định một máy chủ kết cuối khác.
• /V: Tham số này cho phép bạn nhận về các thông tin chi tiết ở đầu ra
Bạn cần lưu ý rằng cú pháp mà chúng tôi đã phác thảo có thể được sử dụng với
các lệnh TSDISCON, LOGOFF hoặc RESET SESSION
TSSHUTDN
Lệnh TSSHUTDN cho phép bạn shut down hoàn toàn, hoặc khởi động lại
terminal server. Mặc dù có một số tiếp lệnh có thể được sử dụng với lệnh này,
nhưng bản thân nó cũng khá dễ hiểu. Cú pháp của lệnh được liệt kê bên d
ưới:
TSSHUTDN [wait time] [/SERVER: server name] [/reboot] [/powerdown]
[/DELAY:delay time] [/V]
• Wait time: Số giây đợi trước khi kết thúc các session (mặc định là 60s)
• /REBOOT: Khởi động lại máy chủ
• /POWERDOWN: Shut down máy chủ
• /DELAY: delay time: Số giây đợi sau khi người dùng đã được đăng xuất
trước khi tắt máy chủ (mặc định là 30s)
• /V: Xem chi tiết thêm đầu ra
Kết luận
Trong phần này, chúng tôi đã giới thiệu một số lệnh có thể được sử dụng khi tạo
các kịch bản về terminal service. Vẫn còn đó tám đến mười lệnh cụ thể cho
terminal service mà chúng tôi muốn giới thiệu cho các bạn. Sau đó, sẽ giới thiệu
một số cú pháp ngôn ngữ cơ bản và lên kế hoạch giới thiệu cho các bạn cách
xây dựng các kịch b

ản bằng cách sử dụng các lệnh đã được giới thiệu.
Lệnh MSG
Một trong những phần quan trọng nhất của bất kỳ kịch bản nào là khả năng mà
quản trị viên hoặc người dùng theo dõi được tiến trình của kịch bản. Một cách để
thực hiện điều này là thiết kế một kịch bản để nó truyền tải các thông báo khi có
một sự kiệ
n nào đó xảy ra. May mắn ở đây là Windows cung cấp cho chúng ta
một lệnh tương đối hoàn hảo cho nhiệm vụ này.
Lệnh MSG có thể được sử dụng để gửi một thông báo pop-up đến người dùng
hoặc một nhóm. Cú pháp của lệnh như sau:
MSG {username | session name | session ID | @filename | *} [/server: server
name] [/time: seconds] [/V] [/W] [message]
Phần đầu tiên của lệnh này cho phép bạn chỉ định người nhận thông báo. Như
những gì có thể thấy trong lệnh trên, bạn có thể gửi một thông báo đến một
người dùng nào đó hoặc có thể chỉ định một session name hoặc session ID. Tùy
chọn @filename sẽ cho phép bạn chỉ định tên của file văn bản gồm có user
name, session name, session ID hoặc sự kết hợp trong số đó.
Tùy chọn cuối cùng cho việc chỉ đị
nh người nhận thông báo là một dấu hoa thị.
Nếu bạn chỉ định một dấu hoa thị thì thông báo sẽ được gửi đến mọi người được
kết nối với máy chủ. Sử dụng dấu hoa thị là một tùy chọn tuyệt vời nếu bạn cần
thông báo cho mọi người biết rằng máy chủ sẽ shutdown.
Tham số /Server:server name cho phép bạn chỉ định thên của máy chủ mà trên
đó hành động s
ẽ xảy ra. Đây là một tham số mang tính tùy chọn, nếu bỏ qua nó
thì máy chủ hiện hành sẽ được sử dụng một cách mặc định.
Tham số /V cho phép bạn yêu cầu lệnh MSG cung cấp các thông tin chi tiết hơn
về hành động đang được thực hiện.
Tiếp lệnh /W sẽ thông báo cho lệnh MSG đợi một đáp trả từ phía người dùng.
Bạn có thể kết hợp tiếp lệnh /W với /Time: seconds. Sự k

ết hợp này sẽ cho phép
bạn thông tin cho lệnh MSG về khoảng thời gian đợi một đáp trả từ phía người
dùng.
Tham số cuối cùng được sử dụng với lệnh này là một thông báo hiện tại. Nếu
bạn không nhập vào một thông báo thì lệnh sẽ nhắc nhở bạn thực hiện điều đó
khi được thực thi.
Chúng tôi đã giải thích thêm cho các bạn về một số tiếp lệ
nh của lệnh này và lúc
này chúng ta hãy xem xét đến cách sử dụng lệnh này như thế nào. Hãy bắt đầu
bởi những thứ đơn giản trước. Lệnh bên dưới gửi một thông báo “This is a test”
đến quản trị viên:
MSG Administrator This is a test
Nếu bạn quan sát trong hình A thì bạn sẽ thấy lệnh này như thế nào. Hình B là
hiển thị đầu ra của lệnh.

Hình A: Lệnh này thể hiện một trong những cách dễ dàng nhất trong vấn đề gửi
thông báo

Hình B: Đây là những gì nhận được khi lệnh thực thi
Có một số thứ khác biệt ở đây mà chúng tôi muốn các bạn cần lưu ý. Đầu tiên,
các bạn phải lưu ý rằng, chúng tôi không phải sử dụng bất kỳ tiếp lệnh nào để
chỉ định người nhận thông báo. Tất cả những gì chúng tôi thự
c hiện là đánh vào
username của người nhận. Chúng ta cũng có thể sử dụng session name hoặc
session ID, khi đó cú pháp thực hiện lệnh cũng tương tự như vậy.
Có một thứ mà chúng tôi muốn chỉ ra cho các bạn về lệnh này là tính không hiện
hữu của nó trong màn hình hiển thị đầu ra. Bạn có thể đã thấy chúng tôi đã gửi
một thông báo bằng văn bản đến quản trị viên. Lý do tại sao chúng tôi chọn tài
kho
ản cụ thể này là vì trong nhiều tổ chức không cho các quản trị viên đăng

nhập vào một vài máy tính tại cùng một thời điểm (điều này cũng không thực sự
tốt theo phối cảnh bảo mật). Quan điểm của người viết bài này là không ai được
đăng nhập như quản trị viên sẽ nhận một bản copy của thông báo.
Các bạn hãy lưu ý rằng các lệnh mà chúng tôi giới thiệu đều
được sử dụng trong
môi trường terminal service. Chẳng hạn như, lệnh chỉ định một máy chủ mục tiêu
nào đó. Khi bạn chạy lệnh, nó sẽ tìm kiếm các sự kiện một người dùng nào đó
đang kết nối với máy chủ được chỉ định, thay cho việc tìm kiếm toàn bộ mạng đối
với bất cứ sự kiện nào của người dùng đã chỉ định đó trong một miền. Đó chính
là lý do tại sao bạn có thể chỉ định session name hoặc session ID với tư cách là
một phần của lệnh. Session name và session ID cũng mang tính chỉ định.
Thông thường khi bạn chạy lệnh MSG, lệnh sẽ thừ
a nhận rằng bạn đang cố
gắng gửi một thông báo đến một hoặc nhiều người dùng (những người đã đăng
nhập vào máy chủ) mà bạn sẽ nhập lệnh vào. Điều này không phải lúc nào cũng
mang tính thực tiễn vì bạn không phải lúc nào cũng làm việc trực tiếp tại giao
diện điều khiển trên máy chủ. Đôi khi bạn cần thực hiện việc bảo trì máy ch
ủ từ
một máy trạm nào đó thay cho việc phải đi đến tận phòng máy chủ đó.
Tuy nhiên, lệnh này cũng cho phép bạn sử dụng tiếp lệnh /SERVER để chỉ định
tên của máy chủ mà lệnh này thực thi. Cho ví dụ, giả dụ rằng tôi muốn chạy một
lệnh giống như lệnh mà đã thể hiện cho bạn, thời điểm này tôi muốn nhập lệnh
vào máy trạm Vista c
ủa tôi, nhưng muốn lệnh áp dụng cho máy chủ có tên
Mirage. Để thực hiện điều đó, chúng ta cần phải nhập vào lệnh dưới đây:
MSG Administrator /server:mirage This is a test
Sau khi nhập vào lệnh trên, Windows sẽ gửi một thông báo văn bản đến bất kỳ
ai đã đăng nhập với tư cách là quản trị viên thông qua một session trên máy chủ
Mirage.
Nếu muốn một thông báo được gửi đến nhiều người dùng, cho ví dụ, bạ

n cần
gửi một thông báo đến các nhân viên quản trị khi một vấn đề nào đó xuất
hiện.Thì vấn đề ở đây là bạn không hề biết ai sẽ được đăng nhập tại thời điểm
đã cho nào đó. Một giải pháp để thực hiện điều này là tạo một file văn bản gồm
có các tên của các nhân viên quản trị. Sau đó bạn có thể điề
u chỉnh lệnh để nó
gửi thông báo tới các tên người dùng trong danh sách.
Tạo một danh sách rất đơn giản. Bạn chỉ cần mở Notepad, và tạo môt tài liệu
gồm trong đó các tên người dùng trên các dòng khác nhau. Sau khi thực hiện
danh sách này, bạn có thể tham chiếu file này từ lệnh MSG. Cho ví dụ, nếu bạn
đã tạo một file có tên users.txt, thì lệnh MSG sẽ có cú pháp như sau:
MSG @users.txt This is a test
Cần lưu ý rằng trong ngoài khả năng nhập vào tên người dùng trong file văn
bản, bạ
n cũng có thể gộp cả session name và session ID. Tương tự như vậy,
bạn cũng có thể sử dụng tiếp lệnh /server kết hợp với file văn bản của mình để
lệnh chạy cho một máy chủ cụ thể.
Kết luận
Trong phần này, chúng tôi đã giới thiệu cho các bạn về lệnh MSG, đây là lệnh
được sử dụng để mở các thông báo pop-up cho những người dùng kết nối với
máy chủ terminal nào đó. Trong phần tiếp theo của loạt bài này, chúng tôi sẽ tiếp
tục giới thiệu cho các bạn về một số thứ mà các bạn có thể thực hiện với lệnh
MSG. Sau đó sẽ tiếp tục giớ
i thiệu cho các bạn thêm về các lệnh có liên quan
đến terminal service

×