Serienummer van Hyper-V guest opvragen

Je bent hier: ITFAQ.nl » Hoe kan ik? » Serienummer van Hyper-V guest opvragen

Soms heb je het serienummer van één of meerdere Hyper-V virtuele machines (guests of VMs) nodig. Je kunt het serienummer gebruiken in je automatische, un attended deployment van het guest besturingssysteem of in documentatie. Maar dan moet je wel weten hoe je dit serienummer opvraagt, op een snelle en efficiënte manier. Met PowerShell dus :)

In dit artikel leer je hoe je het serienummer van een Hyper-V-virtuele machine opvraagt met PowerShell. Dit is ideaal voor automatisering, automatische implementaties via WDS en voor documentatiedoeleinden. Een Engelstalige versie vind je op Saotn.org: Get Hyper-V guest serial number with PowerShell.

Het serienummer heet in Hyper-V ook wel het BIOSSerialNumber. Het is een unieke GUID waarmee je een enkel draaiende VM kunt identificeren. Hierom is het hebben van dit serienummer (BIOSSerialNumber) een uitstekende bron van documentatie en voor het automatiseren van je VM-implementaties binnen je netwerk.

En dat is waar PowerShell van pas komt. De volgende PowerShell-snippets tonen alle virtuele machines op een Hyper-V-server (host), inclusief de Hyper-V-serienummers (ook wel BIOSSerialNumber genoemd) van die virtuele machines en hun namen als “elementname”:

Get-WmiObject -ComputerName hyper-v_host `
  -Namespace root\virtualization\v2 `
  -class Msvm_VirtualSystemSettingData | select elementname, BIOSSerialNumber

Of met Get-CimInstance:

Get-CimInstance -ComputerName hyper-v_host `
  -Namespace root\virtualization\v2 `
  -class Msvm_VirtualSystemSettingData | select elementname, BIOSSerialNumber

De uitvoer van de Get-WmiObject-opdracht is bijvoorbeeld:

elementname  BIOSSerialNumber
----------- ----------------
hyperv-vm-01 1111-2222-3333-4444-5555-6666-77
hyperv-vm-02 1112-2223-3334-4445-5556-6667-77

Deze PowerShell-code maakt gebruik van de Get-WmiObject-cmdlet. Dit is uitermate geschikt voor een automatische, onbeheerde implementatie van de guest en het besturingssysteem (je kunt dit bijvoorbeeld instellen als InstanceID), inclusief de bijbehorende documentatie. In de uitvoer hierboven is elementname de naam van de virtuele machine, of de guest.

Tegenwoordig dien je Get-CimInstance te gebruiken. Zie ‘Getting WMI objects with Get-CimInstance‘.

Systeembeheerders zullen voor hun dagelijkse beheertaken waarschijnlijk veel gebruikmaken van Get-WmiObject. Dit komt doordat er op dit moment slechts een beperkt aantal cmdlets bestaat die specifiek zijn ontworpen voor systeembeheertaken (zoals Get-Process, Get-Service en Get-EventLog).

Je kunt Get-Service in actie zien wanneer je Windows-services bewaakt met PowerShell. De instance-ID (GUID) van een virtuele Hyper-V-machine kan worden opgevraagd door de eigenschap InstanceID aan te roepen.

Get-WmiObject -ComputerName hyper-v_server `
  -Namespace root\virtualization\v2 `
  -class Msvm_VirtualSystemSettingData | select elementname, InstanceID

Of met Get-CimInstance:

Get-CimInstance -ComputerName hyper-v_server `
  -Namespace root\virtualization\v2 `
  -ClassName Msvm_VirtualSystemSettingData | Select-Object ElementName, InstanceID

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Scroll naar boven