Tài liệu Triển khai Windows 7 – Phần 18: Xác định UUID của máy tính - Pdf 97

Triển khai Windows 7 – Phần 18: Xác định UUID của máy tính
Trong phần này chúng tôi sẽ giới thiệu cho các bạn cách tạo kịch bản để xác
định UUID máy tính.
Mẹo: Bạn có thể tìm kiếm thêm thông tin về việc tự động hóa triển khai LTI
trong Windows 7 Resource Kit
của Microsoft.
Trong phần 16 của loạt bài này, chúng tôi đã giới thiệu cho các bạn về cách
sử dụng cơ sở dữ liệu MDT để tùy chỉnh triển khai Windows 7 dựa trên
UUID của các máy tính mục tiêu. Trong phần đó, các bạn cũng đã biết cách
sử dụng WMI để xác định UUID của máy tính nếu UUID này không được
hiển thị trong BIOS hệ thống hoặc tài liệu đi kèm. Phương pháp mà chúng
tôi đã giới thiệu để thực hiện việc này có đôi chút khiến các bạn khó hiểu,
thêm vào đó là máy tính mà bạn muốn xác định UUID đã cài đặt hệ điều
hành Windows.
Điều này làm xuất hiện một câu hỏi: Liệu có thể sử dụng WMI để xác định
UUID máy tính nếu không có hệ điều hành cài đặt trên nó? Câu trả lời là
Yes. Để thực hiện điều này, đầu tiên chúng ta cần xóa phần mã đã được thực
hiện trong hai phần trước. Sau đó xây dựng một Windows Preinstallation
Environment (WinPE) image, add một kịch bản vào image này, burn image
vào đĩa CD. Sau đó có thể sử dụng CD này để khởi động máy tính mới và
chạy kịch bản để xác định UUID của hệ thống.
Đó là những gì mà chúng tôi muốn giới thiệu cho các bạn trong phần này và
phần tiếp theo ngay sau nó. Đầu tiên trong phần này, chúng tôi sẽ tạo một
kịch bản để hiển thị UUID máy tính. Sau đó trong phần tiếp theo, chúng tôi
sẽ giới thiệu cách tạo một CD WinPE "tools" tùy chỉnh để bạn có thể sử
dụng kịch bản trên hệ thống máy tính chưa được cài đặt hệ điều hành nhằm
xác định UUID của hệ thống. Khi đã sử dụng CD WinPE của mình để chạy
kịch bản trên một số máy tính mục tiêu, bạn có thể nhập các UUID này vào
cơ sở dữ liệu MDT và triển khai các Windows image tùy chỉnh cho mỗi máy
tính như mong muốn.
Viết kịch bản xác định UUID

Dim strComputer
Dim strWMINamespace
Dim strWMIQuery
Dim objWMIService
Dim colItems
Dim objItem
strComputer = "."
strWMINamespace = "\root\CIMV2"
strWMIQuery =
":Win32_ComputerSystemProduct.IdentifyingNumber='MXG5380254
NA540',Name='PY196AV-ABA
a1130e',Version='0n31211CT101AMBEM00'"
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
strWMINamespace & strWMIQuery)
WScript.Echo "Number of properties of " & strWMIQuery & " class is " &
objWMIService.Properties_.count
For Each objItem in objWMIService.Properties_
Wscript.Echo "Property: " & objItem.name & vbTab & "Value: " &
objItem.value
Next
Lúc này, để hoàn thiện những gì WBEMTEST thực hiện và trả về các
instance của lớp Win32_ComputerSystemProduct chúng ta cần sử dụng
phương pháp SWbemServices.InstancesOf
của đối tượng SwbemServices.
Để chỉ ra cách thực hiện, chúng toi đã điều chỉnh kịch bản dưới đây từ một
trang hướng dẫn viết kịch bản cho Windows 2000 khá ưu việt (tham khảo
kịch bản gốc tại đây
)
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer &

Lúc này chúng ta chỉ cần kết hợp kịch bản đã được tùy chỉnh ở trên với kịch
bản DisplayClassProperties.vbs để tạo thành một kịch bản mới có tên
UUID.vbs (lưu ý rằng chúng tôi đã đơn giản hóa kịch bản này bằng cách bỏ
qua các định nghĩa biến và quản lý lỗi):
'UUID.vbs
'Displays the UUID of a computer
'By Mitch Tulloch (www.mtit.com)
strComputer = "."
strWMINamespace = "\root\CIMV2"
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer &
"\root\cimv2")
Set colSWbemObjectSet = objSWbemServices.ExecQuery("SELECT *
FROM Win32_ComputerSystemProduct")
For Each objSWbemObject In colSWbemObjectSet
strIdentifyingNumber = objSWbemObject.IdentifyingNumber
strName = objSWbemObject.Name
strVersion = objSWbemObject.Version
Next
strWMIQuery = ":Win32_ComputerSystemProduct.IdentifyingNumber='" &
strIdentifyingNumber _
& "',Name='" & strName & "',Version='" & strVersion & chr(39)
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
strWMINamespace & strWMIQuery)
For Each objItem in objWMIService.Properties_
If objItem.name = "UUID" Then
Wscript.Echo objItem.name & " = " & objItem.value
End If
Next
Lưu ý rằng phần quan trọng ở đây là làm sao bảo đảm các dấu ngoặc kép
đúng trong câu lệnh strWMIQuery = <string>. Cho ví dụ, câu lệnh kết thúc


Nhờ tải bản gốc
Music ♫

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