Write-Host -NoNewline -ForegroundColor Magenta '请输入要创建的虚机名称(如:VLNX******)' [String]$VM_Name = Read-Host Write-Host -NoNewline -ForegroundColor Magenta '请输入需要放在哪台宿主机上(如:PWSR******)' [String]$VM_HostName= Read-Host Write-Host -NoNewline -ForegroundColor Magenta '要部署CentOS6还是7?直接回车默认安装的是6(如:7 回车 )' [int16]$VM_OSVersion= Read-Host #判断虚机名称是否为大写字母 if ($VM_Name |findstr 'vlnx') { Write-Host -NoNewline -ForegroundColor Yellow '注意:虚机名需要使用大写字母!!!' break } Else { } $VM_Memory = 2GB $VM_CpuCount = 2 $NetworkSwitch = "PublicNetwork" #if判断要部署的是CentOS6还是CentOS7,默认是CentOS6 if ($VM_OSVersion -eq '7') {$Template_VHDX = "En_CentOS7_Std.vhdx"} Else {$Template_VHDX = "En_CentOS6_Std.vhdx"} $Template_VHDX_FilePath = "D:\Deploy_Script" #if判断如果虚机所在宿主机为730xd,虚机文件存放位置为E盘 if (( $VM_HostName -eq 'PWSR000006' ) -or ($VM_HostName -eq 'PWSR000007' )) { $VM_Path = 'E:\' + $VM_HostName + '_E_VMs' $VM_RemotePath = '\\' + $VM_HostName + '\E$\' + $VM_HostName + '_E_VMs' } Else { $VM_Path = 'D:\' + $VM_HostName + '_D_VMs' $VM_RemotePath = '\\' + $VM_HostName + '\D$\' + $VM_HostName + '_D_VMs' } $VM_VHDPath = $VM_Path + '\' + $VM_Name + '\Virtual Hard Disks\'+ $VM_Name + '.vhdx' $VM_VHDRemotePath = $VM_RemotePath + '\' + $VM_Name + '\Virtual Hard Disks\' + $VM_Name + '.vhdx' #新建新虚机硬盘目录,并将目标硬盘Copy到新虚拟硬盘目录下 New-item -path $VM_RemotePath\$VM_Name -name "Virtual Hard Disks" -type directory Copy-Item -Path $Template_VHDX_FilePath\$Template_VHDX -Destination $VM_VHDRemotePath #新建虚机 #Write-Host -ForegroundColor White "Debug info VMNAME: $VM_Name,HostName: $VM_HostName" New-VM –Name $VM_Name -ComputerName $VM_HostName –Generation 1 -MemoryStartupBytes $VM_Memory -BootDevice IDE -SwitchName $NetworkSwitch –Path $VM_Path -VHDPath $VM_VHDPath #设置CPU个数 Set-VM -Name $VM_Name -ComputerName $VM_HostName -ProcessorCount $VM_CpuCount #禁用动态内存功能 #Set-VMMemory -Name $VM_Name -ComputerName $VM_HostName -DynamicMemoryEnabled $False #设置VLANID if ($VM_name -like 'VLNX112*' -or $VM_name -like 'VLNX113*' -or $VM_name -like 'VLNX114*') { Set-VMNetworkAdapterVlan -ComputerName $VM_HostName -VMName $VM_Name -Access -VlanId 11} Else { Set-VMNetworkAdapterVlan -ComputerName $VM_HostName -VMName $VM_Name -Access -VlanId 21} #通过SCVMM分配静态MACAddress #Import-Module virtualmachinemanager -Verbose #$VM_HostServer=Get-SCVMHost -ComputerName $VM_HostName -VMMServer SCVMMServer.Contoso.com #Read-SCVMHost -VMHost $FS_HostServer |Out-Null Read-SCVMHost -VMHost $VM_HostName |Out-Null $VM=Get-SCVirtualMachine -Name $VM_Name #Write-Host "Debug info" #$VM.Name #Pause $Adapter=$VM.VirtualNetworkAdapters[0] Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter[0] -MACAddressType "Static" -MACAddress "00-00-00-00-00-00" #启动虚机 #Start-VM -Name $VM_Name -ComputerName $VM_HostName Start-SCVirtualMachine -VM $VM_Name #添加计算机描述 #Set-ADComputer -Identity $VM_Name -Description ""
PowerShell 批量部署Hyper-V Linux虚机
原创Leilong_cn 博主文章分类:PowerShell ©著作权
©著作权归作者所有:来自51CTO博客作者Leilong_cn的原创作品,请联系作者获取转载授权,否则将追究法律责任
PowerShell 批量部署Hyper-V Linux虚机
https://blog.51cto.com/sxleilong/1909330
PowerShell 批量部署Hyper-V Linux虚机
https://blog.51cto.com/sxleilong/1909330
举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PowerShell 自动备份hyper-v下的虚拟机
1、配置脚本策略(一) middot;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;脚本执行策略级别 2、配置脚本策略(二) middot;...因为Windows PowerShell中的脚本在默认情况下并没有启用,因此在部署脚
PowerShell 自动备份 Hyper-V Windows Server 2008 -
Hyper-v相关PowerShell命令参考
Hyper-v的PowerShell的相关命令含义
Hyper-v PowerShell