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

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 , khắc phục vấn đề về phân quyền … 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 cấu hình :

Để 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:

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:\.rootvirtualization") '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  

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

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 rootvirtualization -class msvm_computersystem | select elementname, operationalstatus, processid, name| ft -auto

Ví dụ như sau:

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!

Theo: Quantrimang

Bài viết liên quan