用Powershell创建一台虚拟机

上节配置完脚本的运行环境,这节,我们用ISE编辑器来创建一台完整的虚拟机并测试验证,下面是完整代码及注释:

编辑器界面:

clip_image002

给大家提供的文本:


$Server = “WS2012”                         # 创建一个名字为“WS2012”的虚拟机
$ServerRAM = 1GB                           # 指派内存为 1GB   
$ServerVHD = 80GB                         # 虚拟硬盘的大小为固定 80GB   
$VMLOC = “C:\HyperV”                  # 定义虚拟硬盘文件存放的位置
$Switch = “TestSW”                        # 定义虚拟交换机的名称
$Ws2012ISO = “D:\ISO\WS2012.iso”           # 指定安装ISO文件的位置

# 创建虚拟机存放的文件夹及虚掷交换机
MD $VMLOC -ErrorAction SilentlyContinue   
$TestSwitch = Get-VMSwitch -Name $Switch -ErrorAction SilentlyContinue; if ($TestSwitch.Count -EQ 0){New-VMSwitch -Name $Switch -SwitchType Private}

# 创建一台新的虚拟机
New-VM -Name $Server -Path $VMLOC -MemoryStartupBytes $ServerRAM -NewVHDPath $VMLOC\$ServerVHD.vhdx -NewVHDSizeBytes $ServerVHD -SwitchName $Switch

# 配置虚拟机
Set-VMDvdDrive -VMName $Server -Path $WS2012ISO   
#启动虚拟机
Start-VM $Server


要运行一个.ps1文件,和可执行文件有一点区别,必须要有一个完整的路径,即使文件在当前目录下,也得用.\xxx.ps1的形式,或者完整的路径。

clip_image004

以下是完整的运行结果:


PS D:\> .\createvm.ps1

    Directory: C:\

Mode                LastWriteTime     Length Name   
—-                ————-     —— —-   
d—-         4/12/2013   5:05 AM            HyperV

ComputerName                        : HYPERV-S-01  
Name                                : TestSW   
Id                                  : f296b033-c32e-4bfd-9849-7eb965724223   
Notes                               :   
SwitchType                          : Private   
AllowManagementOS                   : False   
NetAdapterInterfaceDescription      :   
AvailableVMQueues                   : 0   
NumberVmqAllocated                  : 0   
IovEnabled                          : False   
IovVirtualFunctionCount             : 0   
IovVirtualFunctionsInUse            : 0   
IovQueuePairCount                   : 0   
IovQueuePairsInUse                  : 0   
AvailableIPSecSA                    : 0   
NumberIPSecSAAllocated              : 0   
BandwidthPercentage                 : 0   
BandwidthReservationMode            : Absolute   
DefaultFlowMinimumBandwidthAbsolute : 0   
DefaultFlowMinimumBandwidthWeight   : 0   
Extensions                          : {Microsoft NDIS Capture, Microsoft   
                                      Windows Filtering Platform}   
IovSupport                          : False   
IovSupportReasons                   :   
IsDeleted                           : False

Name             : WS2012   
State            : Off   
CpuUsage         : 0   
MemoryAssigned   : 0   
MemoryDemand     : 0   
MemoryStatus     :   
Uptime           : 00:00:00   
Status           : Operating normally   
ReplicationState : Disabled

PS D:\>


下面,我们用图开化界面来查看虚拟机:

创建完成的虚拟机:

clip_image006

虚拟机配置:

clip_image008