Danh mục

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

Số trang: 13      Loại file: pdf      Dung lượng: 135.48 KB      Lượt xem: 11      Lượt tải: 0    
Thu Hiền

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin 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 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 objItemstrComputer = "." strWMINamespace = " ootCIMV2" 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...
Nội dung trích xuất từ 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 Quản lý mạng Windows bằng Script - Phần 12: Các thuộc tính của lớp WMIQuay 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áytính của bạn:Option ExplicitOn Error Resume NextDim strComputerDim strWMINamespaceDim strWMIQueryDim objWMIServiceDim colItemsDim objItemstrComputer = .strWMINamespace = ootCIMV2strWMIQuery = SELECT * FROM Win32_TimeZoneSet objWMIService = GetObject(winmgmts:\ & strComputer &strWMINamespace)Set colItems = objWMIService.ExecQuery(strWMIQuery)For Each objItem In colItems WScript.Echo objItem.CaptionNextKhi tôi chạy kịch bản này, nó cho kết quả như sau:C:scripts>DisplayTimeZone.vbsMicrosoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.(GMT-06:00) Central Time (US & Canada)Làm thế nào tôi biết được đó là thuộc tính chính của lớp Win32_TimeZone gồm cóthông tin mà tôi muốn hiển thị? Bằng cách đọc các chỉ dẫn về nó tại đây mà tôi cóthể biết điều đó. Trong thực tế, trang MSDN này cho chúng ta biết được rằng thuộctính Description cơ bản trả về objItem.Description và các kết quả tương tự.Trang MSDN này còn cho chúng ta biết thêm gì nữa về lớp Win32_TimeZone?Điều gì sẽ xảy ra nếu tôi muốn tìm ra tháng nào thực hiện việc đó ảnh hưởng trênmáy tính? Nếu đọc qua trang này thì bạn sẽ có được thông tin liên quan đế thuộctính này (DaylightMonth).DaylightMonthData type: uint32Access type: Read-onlyMonth when the transition from standard time to daylight saving time occurs on anoperating system.Value Meaning10x1 January20x2 February30x3 March40x4 April50x5 May60x6 June70x7 July80x8 August90x9 September100xA October110xB November120xC DecemberĐể sử dụng thông tin này, đơn giản tôi chỉ thay đổi dòng WScript.EchoobjItem.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.vbsMicrosoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.3Liệt kê các thuộc tính của một lớpBây giờ chúng ta có thể tiếp tục quá trình bằng cách thay đổi thuộc tính trong WScript.Echo objItem. và vì vậy từ từ làm việc thông qua hiểnthị từng cái một trong các thuộc tính của lớp Win32_TimeZone, nhưng đây có phảilà 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àytrong 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 thực hiện:Option ExplicitOn Error Resume NextDim strComputerDim strWMINamespaceDim strWMIQueryDim objWMIServiceDim colItemsDim objItemstrComputer = .strWMINamespace = ootCIMV2strWMIQuery = :Win32_TimeZoneSet objWMIService = GetObject(winmgmts:\ & strComputer &strWMINamespace & strWMIQuery)WScript.Echo Number of properties of & strWMIQuery & class is &objWMIService.Properties_.countĐây là kết quả chạy kịch bản mới này, kịch bản mà chúng ta sẽ gọi nó làDisplayClassProperties.vbs:C:scripts>DisplayClassProperties.vbsMicrosoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.Number of properties of :Win32_TimeZone class is 24Xem một bảng kiểm kê các thuộc tính tại Win32_TimeZone MSDN sẽ cho chúngta thấy con số 24 là hoàn toàn chính xác, điều đó có nghĩa là lớp Win32_TimeZonecó 24 thuộc tính trong tổng số.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 ( ootCIMV2) trên máy tính cục bộ (“.”) chúng takế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ởiSet objWMIService = GetObject(winmgmts:\. ootCIMV2: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_.countChúng ta biết về các thuộc tính (như .) và các phương pháp(.) từ phần đầu tiên của loạt bài này, nhưngobjWMIService.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ớiSet objWMIService = GetObject(winmgmts:\. ootCIMV2:Win32_TimeZone)Biệt danh trong lệnh WMI này là winmgmts:\. ootCIMV2:Win32_TimeZone vànó định nghĩa đường dẫn đến lớ ...

Tài liệu được xem nhiều: