Создание виртуальной машины Hyper-V в powershell
01 Jun 2018Список сетевых адаптеров:
Get-NetAdapter
PS C:\Users\Administrator> Get-NetAdapter
Name InterfaceDescription ifIndex Status
---- -------------------- ------- -----
Embedded LOM 1 Port 2 HPE Ethernet 1Gb 2-port 332i Adapter #2 14 Di...
Embedded LOM 1 Port 1 HPE Ethernet 1Gb 2-port 332i Adapter 13 Up
Создаем новый внешний виртуальный коммутатор:
New-VMSwitch -name Virtual_LAN0 -NetAdapterName "Embedded LOM 1 Port 2" -AllowManagementOS $false
-SwitchType - Определяет тип создаваемого коммутатора. Допустимые значения - внутренние и частные. Чтобы создать внешний виртуальный коммутатор, укажите параметр NetAdapterInterfaceDescription или NetAdapterName, который неявно устанавливает тип виртуального коммутатора на External.
Создаем виртуальную машину:
$NewVMParam = @{
Name = "SQ02"
MemoryStartUpBytes = 2GB
Path = "C:\Hyper-V"
SwitchName = "Virtual_LAN0"
NewVHDPath = "C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.disk0.vhdx"
NewVHDSizeBytes = 60GB
ErrorAction = "Stop"
Verbose = $True
}
$VM = New-VM @NewVMParam
$SetVMParam = @{
ProcessorCount = 4
DynamicMemory = $True
MemoryMinimumBytes = 512MB
MemoryMaximumBytes = 14Gb
ErrorAction = "Stop"
PassThru = $True
Verbose = $True
}
$VM = $VM | Set-VM @SetVMParam
$VMDVDParam = @{
VMName = "SQ02"
Path = "C:\Hyper-v\iso\WIN2012R2.ISO"
ErrorAction = "Stop"
Verbose = $True
}
Set-VMDvdDrive @VMDVDParam
Парметры новой виртуальной машины:
$sqvm = Get-VM SQ02
$sqvm | Select *
VMName : SQ02
VMId : b63c8ce9-d038-4662-b977-d231141c34f3
Id : b63c8ce9-d038-4662-b977-d231141c34f3
Name : SQ02
State : Off
IntegrationServicesState :
OperationalStatus : {Ok}
PrimaryOperationalStatus : Ok
SecondaryOperationalStatus :
StatusDescriptions : {Operating normally}
PrimaryStatusDescription : Operating normally
SecondaryStatusDescription :
Status : Operating normally
Heartbeat :
ReplicationState : Disabled
ReplicationHealth : NotApplicable
ReplicationMode : None
CPUUsage : 0
MemoryAssigned : 0
MemoryDemand : 0
MemoryStatus :
SmartPagingFileInUse : False
Uptime : 00:00:00
IntegrationServicesVersion :
ResourceMeteringEnabled : False
ConfigurationLocation : C:\Hyper-V\SQ02
SnapshotFileLocation : C:\Hyper-V\SQ02
AutomaticStartAction : StartIfRunning
AutomaticStopAction : Save
AutomaticStartDelay : 0
SmartPagingFilePath : C:\Hyper-V\SQ02
NumaAligned :
NumaNodesCount : 1
NumaSocketCount : 1
Key : Microsoft.HyperV.PowerShell.VirtualMachineObjectKey
IsDeleted : False
ComputerName : HV02
Version : 5.0
Notes :
Generation : 1
Path : C:\Hyper-V\SQ02
CreationTime : 01.06.2018 23:34:05
IsClustered : False
SizeOfSystemFiles : 38740
ParentSnapshotId :
ParentSnapshotName :
MemoryStartup : 2147483648
DynamicMemoryEnabled : True
MemoryMinimum : 536870912
MemoryMaximum : 15032385536
ProcessorCount : 4
RemoteFxAdapter :
NetworkAdapters : {Network Adapter}
FibreChannelHostBusAdapters : {}
ComPort1 : Microsoft.HyperV.PowerShell.VMComPort
ComPort2 : Microsoft.HyperV.PowerShell.VMComPort
FloppyDrive : Microsoft.HyperV.PowerShell.VMFloppyDiskDrive
DVDDrives : {DVD Drive on IDE controller number 1 at location0}
HardDrives : {Hard Drive on IDE controller number 0 at location 0}
VMIntegrationService : {Time Synchronization, Heartbeat, Key-Value PairExchange, Shutdown...}
Здесь я схитрил, так как у меня, не оказалось под рукой полностью автоматечский устанавливаемого образа, я установил ОС на виртуальную машину на другом сервере и скопировал файл диска на одиночный сервер. Подключиться с доменной машины к серверу в рабочей группе то еще геморой, хотя и возможно.
Извлечение виртуального DVD диска:
Set-VMDvdDrive -Path $null -ControllerNumber 1 -ControllerLocation 0 -VMName SQ02
IP-адрес виртуальных машин:
Get-VM | ?{$_.ReplicationMode -ne "Replica"} | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status
Добавляем второй диск:
New-VHD -Dynamic "C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.databases.vhdx" -SizeBytes 420GB
Add-VMHardDiskDrive -VMName "SQ02" -Path "C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.databases.vhdx" -ControllerType SCSI
PS C:\Users\Administrator> New-VHD -Dynamic "C:\Hyper-V\SQ02\Virtual Hard Disks\
sq02.databases.vhdx" -SizeBytes 420GB
ComputerName : HV02
Path : C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.databases.vhdx
VhdFormat : VHDX
VhdType : Dynamic
FileSize : 4194304
Size : 450971566080
MinimumSize :
LogicalSectorSize : 512
PhysicalSectorSize : 4096
BlockSize : 33554432
ParentPath :
DiskIdentifier : dfb3cacb-50d7-47bf-81fa-c2e06298e664
FragmentationPercentage : 0
Alignment : 1
Attached : False
DiskNumber :
Key :
IsDeleted : False
Number :
PS C:\Users\Administrator> Add-VMHardDiskDrive -VMName "SQ02" -Path "C:\Hyper-V\
SQ02\Virtual Hard Disks\sq02.databases.vhdx" -ControllerType SCSI
Установка диска служб интеграции:
$VMDVDParam = @{
VMName = "SQ02"
Path = "C:\Windows\System32\vmguest.iso"
ErrorAction = "Stop"
Verbose = $True
}
Set-VMDvdDrive @VMDVDParam