Tài liệu Quản lý mạng Windows bằng Script - Phần 12: Các thuộc tính của lớp WMI - Pdf 10

Quản lý mạng Windows bằng Script - Phần 12: Các thuộc tính của lớp
WMI

Quay trở lại phần ba của loạt bài này, chúng ta đã phát triển kịch bản đơn
giản có tên displayTimeZone.vbs để hiển thị thiết lập vùng thời gian hiện
hành trên máy tính của bạn:
Option Explicit
On Error Resume Next
Dim strComputer
Dim strWMINamespace
Dim strWMIQuery
Dim objWMIService
Dim colItems
Dim objItem

strComputer = "."
strWMINamespace = "\root\CIMV2"
strWMIQuery = "SELECT * FROM Win32_TimeZone"

Set objWMIService = GetObject("winmgmts:\\" &
strComputer & strWMINamespace)
Set colItems = objWMIService.ExecQuery(strWMIQuery)

For Each objItem In colItems
WScript.Echo objItem.Caption
Next
Khi tôi chạy kịch bản này, nó cho kết quả như sau:
C:\scripts>DisplayTimeZone.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All
rights reserved.

0x6 June
7
0x7 July
8
0x8 August
9
0x9 September
10
0xA October
11
0xB November
12
0xC December
Để sử dụng thông tin này, đơn giản tôi chỉ thay đổi dòng WScript.Echo
objItem.Caption thành WScript.Echo objItem.DaylightMonth và đây là
những gì tôi nhận được khi chạy kịch bản này:
C:\scripts>DisplayTimeZone.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All
rights reserved.

3
Liệt kê các thuộc tính của một lớp
Bây giờ chúng ta có thể tiếp tục quá trình bằng cách thay đổi thuộc tính
<property> trong WScript.Echo objItem.<property> và vì vậy từ từ làm
việc thông qua hiển thị từng cái một trong các thuộc tính của lớp
Win32_TimeZone, nhưng đây có phải là cách dễ dàng hơn? Chúng ta có thể
hiển thị được các thuộc tính của lớp này trong một kịch bản mà không cần
đặt tên chúng trong kịch bản? Điều này thực hiện được nhưng trước khi thực
hiện hãy thử và liệt kê số các thuộc tính của lớp này. Đây là cách chúng ta

Kịch bản mới này làm việc như thế nào? Đầu tiên bạn lưu ý rằng thay vì kết
nối đến không gian tên mặc định ("\root\CIMV2") trên máy tính cục bộ (“.”)
chúng ta kết nối trực tiếp đến lớp Win32_TimeZone trên máy tính. Hay nói
theo cách khác, dòng:
Set objWMIService = GetObject("winmgmts:\\" &
strComputer & strWMINamespace & strWMIQuery)
có thể được thay thế bởi
Set objWMIService =
GetObject("winmgmts:\\.\root\CIMV2:Win32_TimeZone")
và nó sẽ thực hiện các công việc một cách tương tự. Một điều khác mà bạn
sẽ chú ý là một thứ trong dòng cuối cùng của kịch bản:
objWMIService.Properties_.count
Chúng ta biết về các thuộc tính (như <object>.<property>) và các phương
pháp (<object>.<method>) từ phần đầu tiên của loạt bài này, nhưng
objWMIService.Properties_.count có hai chu kỳ trong nó. Điều gì sẽ xảy ra
ở đây? Chúng ta hãy quay lại dòng này một lần nữa:
Set objWMIService = GetObject("winmgmts:\\" &
strComputer & strWMINamespace & strWMIQuery)
những gì chúng ta đã nhìn thấy tương đương với
Set objWMIService =
GetObject("winmgmts:\\.\root\CIMV2:Win32_TimeZone")
Biệt danh trong lệnh WMI này là
winmgmts:\\.\root\CIMV2:Win32_TimeZone và nó định nghĩa đường dẫn
đến lớp WMI mà chúng ta quan tâm trong việc tăng truy cập, khi bạn sử
dụng hàm GetObject trên biệt danh này thì nó sẽ trả về một đối tượng
SwbemObject, đối tượng này sau đó được gán cho biến objWMIService
bằng lệnh Set. (Chính xác hơn, hàm GetObject trả lại một tham chiếu cho
đối tượng SwbemObject đã được cung cấp bởi thành phần COM).
Nói cách khác, khi lệnh
Set objWMIService =

Wscript.Echo "Property: " & objItem.name
Next
Đây là những gì chúng ta có khi chạy kịch bản:
C:\scripts>DisplayClassProperties.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All
rights reserved.

Number of properties of :Win32_TimeZone class is 24
Property: Bias
Property: Caption
Property: DaylightBias
Property: DaylightDay
Property: DaylightDayOfWeek
Property: DaylightHour
Property: DaylightMillisecond
Property: DaylightMinute
Property: DaylightMonth
Property: DaylightName
Property: DaylightSecond
Property: DaylightYear
Property: Description
Property: SettingID
Property: StandardBias
Property: StandardDay
Property: StandardDayOfWeek
Property: StandardHour
Property: StandardMillisecond
Property: StandardMinute
Property: StandardMonth

Property: LastDrive
Property: Name Value:
Property: ScratchDirectory
Property: SettingID
Property: TempDirectory
Chúng tôi khuyên bạn nên sử dụng phần bài viết này cùng với phần ba để
khai thác lớp WMI và các thuộc tính khác của chúng, ngoài ra chúng ta có
thể xem chi tiết hơn về sức mạnh của việc sử dụng WMI để quản lý máy tính
Windows trong các bài sau của loạt bài này, mời các bạn đón đọc.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status