Configure-HyperV – Sätt upp Hyper-V med PowerShell/Server 2012

I veckan har jag satt upp en deploymentlösning för att rulla ut bladservrar (HP BL460c) som är färidkonfigurerade med hyper-v. Tänkte jag skulle dela med mig av en den delen som handlar om hur man sätter upp Hyper-V med PowerShell i Windows Server 2012. I scenariot nedan sätter vi upp Hyper-V endast med PowerShell utan att blanda in andra lösningar som MDT/SCCM/VMM. Detta är lämpligt om man vill sätta upp Hyper-V på Server Core, scripta upp flera servrar på kort tid eller sätta upp en och samma labmiljö om och om igen.

Vi börjar med att installera Hyper-V Rollen på vår server

1
2
3
4
5
6
7
#Installera Hyper-V Rollen på Server Core. 
#Vi passar även på att lägga till PowerShell stöd för Hyper-V på samma gång. Samt att servern får starta om vid behov (vilket den kommer göra)
Install-WindowsFeature Hyper-V, Hyper-V-PowerShell -Restart
 
#Installera Hyper-V Rollen på en Server 2012 With GUI
#Här säger vi stället tll PowerShell att installera hela Hyper-V Rollen inklusive "ManagementTools" vilket inkluderar de grafiska verktyget för Hyper-V
Install-WindowsFeature Hyper-V -IncludeManagementTools -Restart

När server är omstartad och färdig är det dags att lägga upp en Virtuell switch i Hyper-V som gästmaskiner kan använda.
I mitt fall har jag flera nätverkskort i min server. Jag kan enkelt kolla vilka kort som finns genom att köra följande PowerShell kommando

1
2
3
# Kolla vilka nätverkskort som finns i din maskin
Get-NetAdapter
# Kolumen ifIndex (förkortat InterfaceIndex) säger vilket ID respektive kort har.

När vi väl vet vilket nätverkskort vi skall använda för Hyper-V så kör vi följande kommando

1
2
3
4
5
6
7
8
9
# Sätt upp en ny VM-Switch i Hyper-V för LAN
Get-NetAdapter -InterfaceIndex 13 | New-VMSwitch -Name LAN -AllowManagementOS $false -Notes "Hyper-V LAN Switch without management by toft"
# I mitt kör jag InterfaceIndex 13 som nätverkskort för Hyper-V, Detta går även att selektera på andra sätt, men nu kör vi ifIndex.
# Denna rad kommer göra mitt nätverkskort med ID 13 till en ny switch i Hyper-V med namn "LAN". Utan att lägga upp en s.k. managementadapter.
 
# Vill man istället sätta upp en Private adapter så kör man följande kommando
New-VMSwitch -Name Private -SwitchType Private
# Observera att jag här specifiserar "SwitchType". Detta gör jag eftersom typ "External" är standard. 
# Av samma anledning specifiserar jag ej detta i föregående kommando

Då är Hyper-V Rollen installerad, nätverket är konfigurerat. Dags att sätta upp vår första virtuella maskin genom powershell

1
2
# Skapa en ny virtuell gäst i Hyper-V. Samt en ny virtuell hårddisk.
New-VM LAB-VM01 -MemoryStartupBytes 2048MB -SwitchName LAN -NewVHDPath LAB-VM01.vhdx -NewVHDSizeBytes 100GB

Vill man göra ytterligare konfguration på sin nya virtuall maskin så kommer här ytterligare några tips.

1
2
3
4
5
6
7
8
# Ändra så maskinen använder dynamiskt minne. Detta gör att maskinen endast får de minne den behöver för stunden.
Set-VM LAB-VM01 -DynamicMemory
 
# Mounta en ISO till din nya maskin så du kan installera Operativsystem.
Set-VMDvdDrive -vmname LAB-VM01 -path C:\Isos\WindowsServer2012.iso
 
# Starta din nya virtuella maskin.
Start-VM -Name LAB-VM01

Så. Då vet du hur man scriptar upp/installerar Hyper-V i Windows Server 2012 samt skapar virtuella maskiner genom PowerShell!

This entry was posted in Powershell. Bookmark the permalink.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*


× sju = 42

26 419 Spam Comments Blocked so far by Spam Free Wordpress

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>