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

Quản lý các mạng Windows dùng script - Phần 5: Vượt qua thử thách

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 (257.87 KB, 4 trang )

Quản lý các mạng Windows dùng script - Phần 5: Vượt qua thử thách
Ngu
ồn : quantrimang.com 
Mitch Tulloch
Ở phần trước của loạt bài này, chúng ta đã bắt đầu khám phá những điều mới
mẻ về lớp Win32_NetworkAdapterConfiguration. Lớp WMI mạnh này có 61 thuộc
tính và 41 phương thức, có thể được dùng cho truy vấn và thay đổi thiết lập
mạng TCP/IP trên các máy Windows.

Để minh hoạ tính năng mạnh của lớp này, chúng ta đã sử dụng script mẫu phát
triển tử phần một và hai, cũng như khai thác thông tin hỗ tr
ợ trên MSDN để thay
đổi script ban đầu và thực hiện được một số chức năng khác nhau. Cụ thể là
thay đổi địa chỉ IP của một bộ điều hợp mạng và tuỳ biến để tạo ra script mới có
thể ngắt NetBIOS qua TCP/IP (NetBT) trên tất cả các bộ điều hợp mạng có giới
hạn TCP/IP được phép trên chúng.

Chúng ta sẽ cần khám phá thêm tính năng mạnh mẽ của lớp WMI này trong một
s
ố bài sau. Nhưng trước khi thực hiện điều đó, đầu tiên hãy nói về những trở
ngại khi học script. Vượt qua mọi trở ngại, khó khăn để biết cách sử dụng script
trong hoạt động quản trị mạng Windows.

Trở ngại

Sau khi bắt đầu cho đăng loạt bài này, chúng tôi nhận được nhiều câu hỏi từ
phía bạn đọc: “Tôi có thể học script theo cách nào?”. Phản ứng đầ
u tiên của
chúng tôi thường là chỉ cho người hỏi một số tài liệu như các sách viết về script,
những bài báo, diễn đàn bàn luận về script… Vâng, câu trả lời kiểu này sẽ hữu
ích cho những ai muốn chuyên tâm bắt tay làm từ đầu và tự rèn luyện mình


nghiêm khắc để có được một kỹ năng. Nhưng như thế cũng thường khiến người
ta phát sinh một tâm lý rất phổ biến: Ngại! Vì phải đầ
u tư quá nhiều thời gian,
công sức!

Vậy chúng ta phải làm gì để học được kỹ năng script? Đầu tiên, có vẻ khá hài
hước nhưng muốn học được thì bạn phải chuẩn bị tâm lý sẵn sàng đón nhận và
chuẩn bị nhiệt tính lắng nghe! Hầu hết các quản trị viên Windows ban đầu khi
muốn học về script đều vấp phải một lỗi là bập vào vấn đề chính ngay. Rồi sau
đó phát sinh tâm lý ngạ
i vì bị ngập trước quá nhiều vấn đề không dễ nắm bắt:
những khái niệm không độc lập mà ràng buộc và liên quan đến nhau. Chẳng
hạn, bạn sẽ không thể thực sự hiểu Thuộc tính (Property) là gì nếu không nắm
bắt được Phương thức (Method). Và cả thuộc tính lẫn phương thức chỉ có thể
sáng tỏ nếu đặt trong ngữ cảnh của Lớp (Class). Nhưng lớp lại phải di
ễn giải
thành Đối tượng (Object) và mỗi đối tượng đều có thuộc tính, phương thức của
nó! Chính xác hơn thì các Tham Chiếu Đối Tượng (Object Reference) vào một
Thể hiện (Instance) của Lớp phải có Thuộc tính và Phương thức để bạn có thể
đọc và thao tác. Nghe quá rối rắm phải không các bạn!

Chúng ta không thể dành ra tới ba năm để học từng Thuộc tính, Phương thức
gắn với mỗi lớp WMI làm việc trong mạng Windows. Hoặc họ
c từng khía cạnh
trong cú pháp của ngôn ngữ VBScript chỉ để hoàn toàn thông thạo về nó. Trước
đây, suốt những năm đầu của thời đại học, tôi đã phải bỏ ra rất nhiều thời gian
để học Fortran, viết hết chương trình này đến chương trình khác, đầu tiên là hiển
thị 10, sau đó đến 100, rồi đến một nghìn số Fibonacci, … Vì thế, với thời gian,
tiền bạc và sự kiên nhẫn có hạn, cộ
ng thêm các yếu tố khó khăn về bản chất của

một số lượng lớn khái niệm trong Windows scripting, những quản trị viên như
chúng ta cần phải làm gì để vượt qua được trở ngại trong vấn đề học script và
biến nó trở thành thứ hữu ích trong tầm tay?

Khắc phục mọi trở ngại

Rõ ràng là chẳng có câu trả lời màu nhiệm nào cho câu hỏi đó, nhưng một số
phươ
ng thức dưới đây có thể giúp bạn:

1. Chia nhỏ công việc ra: Chĩa súng lên trời tất nhiên sẽ không thể bắn được
con chim dưới đất. Cho nên học ngay những cái chuyên sâu không phải là cách
bắt đầu cho một vấn đề. Hãy đặt ra mục tiêu cho từng giai đoạn nhất định, như
trong tuần này phải viết được script để truy vấn Active Directory cho cấu trúc OU
trong một miền và hiển thị cấu trúc đó trong một trang HTML chẳng h
ạn. Còn
tuần sau học các khái niệm mới hơn, viết một script khác minh hoạ cho chúng.
Hãy cố gắng tìm kiếm những script đã có sẵn, đọc hiểu và chỉnh sửa chúng để
thực hiện các yêu cầu riêng của mình. Ngoài ra, cho dù không cần hiểu sâu sắc
toàn bộ từng dòng, từng lệnh trên script, hãy cố gắng tổng hợp chúng, tạo ra một
script kết hợp thực hiện được chức năng mong muốn mà thậm chí bạn không
c
ần hiểu gì về cấu trúc bên trong nó. Đó cũng là một cách học script.

2. Tập trung vào một số vấn đề trọng tâm của kỹ thuật scripting: Một trong
các nhược điểm lớn nhất khi bắt đầu học một vấn đề là chúng ta luôn muốn biết
mọi thứ của tất cả các khía cạnh vấn đề. Vì thế, khi bắt đầu học về script chúng
ta thường cố gắng đọc toàn b
ộ từ đầu đến cuối những quyển sách viết về ngôn
ngữ VBScript. Không cần nói bạn cũng hiểu đó là cách đọc cứng nhắc. Tốt hơn

hết hãy tập trung vào một phần cụ thể, như các nhiệm vụ trên mạng TCP/IP
scripting (mà chúng ta chú trọng trong loạt bài này) trước. Sau khi nắm vững và
thông thạo rồi mới chuyển sang chủ đề khác.

3. Hãy bỏ thời gian để học những khái niệm cơ b
ản: Tập trung vào một số
phần trọng tâm nhất định, nhưng đồng thời bạn cũng phải bỏ thời gian ra học
những khái niệm cơ bản của vấn đề. Ví dụ như làm sao để nhập thông tin vào
script dùng tham số thời gian chạy. Học một số cú pháp lệnh SELECT đơn giản.
Học một số kiểu biến khác nhau. Học một số lớp WMI. Học cách dùng Thuộc
tính và Phương thức cho từng lớp … B
ạn không cần phải trở thành chuyên gia
trong tất cả các lĩnh vực, nhưng cần nắm vững những thứ cơ bản để có thể viết
được một script hoàn chỉnh thay vì từng đoạn nhỏ của nó.

4. Hãy ghi các chú thích cho những gì bạn học: Trước kia, suốt một thời gian
dài tôi không thu được kết quả gì khi học về script, bởi các khái niệm của nó khá
khó hiểu. Như bạn đã nói ở trên, suố
t thời đại học tôi được làm quen và học
những ngôn ngữ lập trình thủ tục như Fortran. Chúng trở thành kiến thức ăn sâu
trong đầu óc khiến tôi rất khó chuyển sang kiểu ngôn ngữ hướng đối tượng khi
chúng bắt đầu trở nên phổ biến (cho các admin Windows), và khi VBScript được
phát triển từ Visual Basic. Bởi vậy mà suốt thời gian dài tôi lúng túng với Đối
tượng, Thuộc tính, Phương thức, Lớp. Chúng tạo ra trở ngại rất lớ
n cho tôi để có
thể học được script. Chắc chắn tôi có thể dùng một script của ai đó viết sẵn và
nếu nó đơn giản, tôi có thể thay đổi, chỉnh sửa thêm bớt một chút để biến nó
hoạt động theo ý mình. Nhưng MSDN lúc bấy giờ giống như một đất nước xa
xôi, lạ lẫm và WMI là một thứ siêu nhiên huyền bí! Và rồi tôi bắt đầu viết các
dòng chú thích. Một ngày, tôi viết ra một câu đơn giản: “Thu

ộc tính là những thứ
bạn có thể đọc, còn phương thức là những thứ bạn có thể làm”, đột nhiên mọi
thứ trở nên rõ ràng. Tôi hiểu được vấn đề và trở ngại không còn. Các khái niệm
khác cũng nhanh chóng được nắm bắt và con đường đến với script không còn
xa lạ và quá khó khăn nữa.

5. Thu thập tài liệu hữu ích để tham khảo và sử dụng: Nếu bạn tìm thấy một
cuốn sách hay về script,
đừng ngần ngại mua nó về đọc và làm bài tập thực
hành luôn (nếu có). Ngoài ra, bạn có thể tham khảo thêm nhiều thứ tại TechNet
Script Center (sẽ được chú ý ở các phần sau của loạt bài này). Một cách học
hữu ích khác là tham gia vào các khoá đào tạo ngắn hạn, các cuộc thảo luận
nhóm… Tài liệu về script không hề thiếu, thậm chí rất phong phú nếu bạn thực
sự muốn học về nó. Quan trọng là bạn có chịu học và thực hành nó hay không
mà thôi.

6. Thực hành, thực hành và thực hành: Muốn học tốt bất kỳ một kỹ năng nào
cũng đòi hỏi bạn phải kiên nhẫn. Chỉ có làm đi làm lại nhiều lần mới tạo nên sự
hoàn hảo. Sẽ còn nhiều trở ngại trên con đường đi tới thành công và đòi hỏi bạn
phải có sự quyết tâm, tính bên bỉ để vượt qua chúng. Thông thường, bạn sẽ học
được nhiề
u hơn từ vài trăm script ngắn thay vì tập viết một vài script dài và tổng
hợp. Vì thế, hãy tự đặt ra và hoàn thành các bài tập ngắn thực hiện một công
việc nào đấy. Bạn sẽ hiểu vấn đề nhanh hơn.

7. Hãy biến nó trở thành niềm đam mê hay một thú vui: Không biết bạn thế
nào nhưng với tôi, việc học thu được hiệu quả cao nhất là khi ở trong tâm trạng
vui vẻ. Nếu bạn có một số công việc quản trị liên quan đến script, chắc hẳn lúc
ấy bạn mới bắt đầu quan tâm đến việc học nó. Và, nếu bạn thực sự bận rộn (mà
mấy khi một quản trị viên mạng

được rỗi rãi) thì cách dễ dàng nhất là nhờ một ai
đó viết script cho bạn. Nhưng nếu coi script như một thú vui để khám phá, tương
tự như môn đánh gôn thì bạn sẽ tiếp cận nó nhanh và làm được nhiều hơn
những thứ mình học. Và cũng giống như đánh gôn, chơi cờ, có bạn chơi cùng
bao giờ cũng thú vị hơn. Thử xem đồng nghiệp hay những người bạn chuyên gia
IT có hứng thú chơi trò scripting không. Nế
u có, hãy chia sẻ với họ, việc học sẽ
vui và hiệu quả hơn nhiều.

Kết luận

Tôi viết ra bài này bởi nhận thấy nhiều bạn đọc gặp nhiều khó khăn và đã bắt
đầu nản chí sau khi đọc xong bốn phần đầu tiên của loạt bài này. Hy vọng những
gì viết ra ở đây có thể giúp bạn khắc phục được các trở ngại đó và tiếp tục tìm
hi
ểu sâu hơn về scripting, một kỹ thuật không dễ nắm bắt nhưng rất hữu ích
trong công việc quản trị mạng.
Ở phần tiếp theo chúng ta sẽ trở lại khám phá lớp
Win32_NetworkAdapterConfiguration và xem liệu còn có thể làm gì với nó. Đồng
thời, chúng ta cũng sẽ học một số khái niệm mới và ôn lại những thứ đã được
giới thiệu ở các phần trước. Chúng ta sẽ học thêm về cú pháp VBScript và xem
liệu có thể làm gì để script gọn gàng hơn mà hữu ích hơn. Và sau đó là khám
phá một số lớp WMI khác, cùng với một số chủ đề scripting nâng cao nh
ư chỉnh
sửa thông tin thẩm định, viết mã script từ xa, các đối tượng COM, script WSF…
Bên cạnh lý thuyết là một số công cụ hữu ích để viết script, nhưng việc học
những khái niệm cơ bản đầu tiên là rất quan trọng. Nó giúp bạn hiểu sâu hơn về
từng chủ đề và do đó tự tin hơn với các kỹ năng của mình. Tôi cũng sẽ cố gắng
đưa ra cho các bạn một số
bài tập để hoàn thiện script riêng bạn đã xây dựng.

Và nếu thực sự muốn học về script, bạn cần phải tự làm chúng, đừng chỉ nhìn
rồi nói: “Tôi có thể làm được!”. Thực hành nhiều sẽ giúp bạn viết được một script
hoàn hảo. Vì thế, đừng quên nhiệm vụ quan trọng nhất là thực hành và thực
hành.
 

×