PowerShell管理Hyper-V虚拟机学习笔记(一)

#新建虚拟机
#新建一个名称为Test 内存1G 硬盘大小为40Gb的一代Hyper-V虚拟机
$VM = New-VM –Name "Test" –MemoryStartupBytes 1GB -Generation 1 -NewVHDPath "D:\VM\Test.vhdx" -NewVHDSizeBytes 40GB
#设置虚拟机CPU为2核心
$VM | Set-VM -ProcessorCount 2 
#关闭虚脱机动态内存
$VM | Set-VMMemory -DynamicMemoryEnabled $False
#删除原有网卡
$VM | Remove-VMNetworkAdapter
#添加一个名称为 内网网卡 虚拟交换机为 VM_Lan 的网卡
$VM | Add-VMnetworkAdapter -Name "内网网卡" -SwitchName "VM_Lan"
#启用Vlan
$VM | Set-VMNetworkAdapterVlan –Access –VlanId 2
#添加一个名称为 外网网卡 虚拟交换机为 VM_Wan 的网卡
$VM | Add-VMnetworkAdapter -Name "外网网卡" -SwitchName "VM_Wan"


#查找已运行的虚拟机且名字包含Av_
$List = Get-VM | Where-Object {$_.State –eq 'Running'} | Where-Object {$_.Name -like 'AV_*'}

#启用联网网卡
foreach($I in $List) {
  Connect-VMNetworkAdapter -VMName $I.VMName -Name "外网网卡" -SwitchName "Wan"
}

#禁用联网网卡
foreach($I in $List) {
  Disconnect-VMNetworkAdapter -VMName $I.VMName -Name "外网网卡"
}

#删除所有已关机状态的虚拟机网卡
foreach($I in $List) {
    Remove-VMNetworkAdapter $I
}

#添加指定模式的双网卡
foreach($I in $List) {
    Add-VMnetworkAdapter $I -Name "内网网卡" -SwitchName "VM_Lan" 
    Set-VMNetworkAdapterVlan $I –Access –VlanId 2
    Add-VMnetworkAdapter $I -Name "外网网卡" -SwitchName "VM_Wan"
}

#启动虚拟机
$List = Get-VM | Where-Object {$_.State –eq 'Off'} | Where-Object {$_.Name -like 'AV_*'}
foreach($I in $List) {
    Start-VM -Name $I.VMName
}

#关闭虚拟机
$List = Get-VM | Where-Object {$_.State –eq 'Running'} | Where-Object {$_.Name -like 'AV_*'}
foreach($I in $List) {
    Stop-VM -Name $I.VMName
}


标签: PowerShell, Hyper-V, 虚拟机

添加新评论