PowerCLI脚本部署静态IP VM - 出错

时间:2014-11-19 02:56:04

标签: powershell powercli

我想要做的事情很简单。我有自己的/ 25子网和Vmware集群,我想从一个好的模板部署一堆Windows 2012r2虚拟机。我的主机基本上是host10到host50,IP地址是10.251.169.10-50 ...最后一个与主机名中的号码匹配的八位字节。所以我决定做一个PowerShell循环。我遇到了一个我无法弄清楚的问题。

$gateway = 10.251.169.1
$pdns = 1.1.1.1
$sdns = 2.2.2.2
$pwins - 3.3.3.3
$subnetmask = 255.255.255.128
$Networkname = "vm_network"

foreach($i in 10..12){

#Setting VM name and IP based on position in the loop
$vmname = "azww-qc-$($i)d"
$ipaddress = "10.251.169.$i"


#Setting up $custspec variable
$custSpec = New-OSCustomizationSpec -Type NonPersistent -OSType Windows `
-OrgName “MyOrg” -FullName “Name” -Domain “mydomain.com” `
–DomainUsername “user” –DomainPassword “password”

#Adding network information to custspec
$custSpec | Get-OSCustomizationNicMapping | Set-OSCustomizationNicMapping -IpMode UseStaticIP `
-IpAddress $ipaddress -SubnetMask $subnetmask -Dns $pdns -wins $pwins -DefaultGateway $gateway

 New-VM -Name $vmname -Template $template -datastore $cluster `
-NumCPU 2 -MemoryGB  4 -DiskGB 35 -NetworkName $networkname `
-OSCustomizationSpec $custSpec

}

我一直收到以下错误:
Set-OSCustomizationNicMapping当IpMode参数设置为 UseStaticIp,您必须指定IPAddress,Subnetmask,Dns(在Windows规范上) only)和DefaultGateway参数。

我正在指定这些参数,所以我不知道它在咆哮什么。

1 个答案:

答案 0 :(得分:0)

尝试将IP括在引号中。您似乎也使用$pwins将等号标记为错误。所以:

$gateway = "10.251.169.1"
$pdns = "1.1.1.1"
$sdns = "2.2.2.2"
$pwins = "3.3.3.3"
$subnetmask = "255.255.255.128"

Offhand我不确定为什么$x = 1.1.1.1$x设置为$null,但这就是发生的事情。