Thu thập thông tin Process ID hoặc GUID của Hyper-V Virtual Machine

Quản Trị Mạng - Khi cần phải xác định 1 thành phần máy ảo nào đó trong hệ thống, vì một lý do nào đó, chẳng hạn như thay đổi thiết lập có liên quan đến phần cứng, khắc phục vấn đề về phân quyền NTFS... thì chúng ta cần phải biết rõ thông số ID hoặc GUID của máy ảo đó. Trong bài viết dưới đây, chúng tôi sẽ giới thiệu với các bạn một số thao tác cơ bản để thực hiện quá trình này.

Tìm thông số Virtual Machine GUID trong file cấu hình XML:

Để làm việc này, các bạn hãy mở thư mục lưu trữ của Virtual Machine, tại đây sẽ có file *.XML với nhiều thông tin thiết lập cụ thể của máy ảo. Thông thường, phần tên khá dài với nhiều ký tự và chữ số chính là GUID của Virtual Machine:

Thu thập thông tin Process ID hoặc GUID của Hyper-V Virtual Machine

Mặt khác, các bạn có thể sử dụng 1 đoạn mã vbscript được viết bởi Michael Michael từ Microsoft TechNet. Khi hoạt động, hệ thống sẽ hiển thị danh sách tất cả các máy ảo trong hệ thống Hyper-V cùng thông số GUID tương ứng.

Mã nguồn:

Option Explicit
Dim WMIService
Dim KvpComponents
Dim VMList
Dim VMSettingList
Dim VM
Dim item
Dim setting
Dim component

'Get instance of 'virtualization' WMI service on the local computer
Set WMIService = GetObject("winmgmts:\\.\root\virtualization")
'Get all the MSVM_ComputerSystem object
Set VMList = WMIService.ExecQuery("SELECT * FROM Msvm_ComputerSystem")   
For Each VM In VMList  
 if VM.Caption = "Virtual Machine" then      
  WScript.Echo "========================================"      
  WScript.Echo "VM Name: " & VM.ElementName      
  WScript.Echo "VM GUID: " & VM.Name     
  WScript.Echo "VM State: " & VM.EnabledState   

  ' Now get the BIOS GUID for this VM
  Set VMSettingList = WMIService.ExecQuery("SELECT * FROM Msvm_VirtualSystemSettingData")   
  For Each setting In VMSettingList
   Dim tempVMname
   tempVMName = "Microsoft:"  + VM.Name
   if setting.InstanceID = tempVMName then      
    WScript.Echo "VM BIOS GUID: " & setting.BIOSGUID  
   end if
  Next
 end if
Next

Thu thập thông tin Process ID hoặc GUID của Hyper-V Virtual Machine

Và tiếp theo là thư viện quản lý PowerShell dành cho Hyper-V – dự án tổng quát rất hữu ích dành cho người sử dụng, với hơn 80 chức năng hỗ trợ chính. Sau khi tiến hành import phần thư viện quản lý này, các bạn gõ lệnh theo cú pháp dưới đây:

get-vm | ft ElementName,name

Thu thập thông tin Process ID hoặc GUID của Hyper-V Virtual Machine

Một cách đơn giản hơn là sử dụng chức năng truy vấn thành phần repository của Windows Management InstrumentationWMI. Để thực hiện, các bạn hãy copy đoạn mã sau và nhập vào cửa sổ PowerShell với các thông số tương ứng:

Get-WmiObject -Namespace root\virtualization -class msvm_computersystem | select elementname, operationalstatus, processid, name| ft -auto

Ví dụ như sau:

Thu thập thông tin Process ID hoặc GUID của Hyper-V Virtual Machine

Sau khi có được những thông tin cụ thể về Process ID hoặc GUID này, chúng ta có thể thực hiện các thao tác với những Virtual Machine còn lại trong hệ thống mà không sợ ảnh hưởng hoặc nhầm lẫn. Chúc các bạn thành công!

Thứ Tư, 27/06/2018 11:32
31 👨 1.121
0 Bình luận
Sắp xếp theo