0

我在 Windows Azure Pack 管理站点中创作的 Powershell 工作流有问题。在 Powershell ISE 中,以下工作有效,但在服务管理门户管理站点运行手册创作中,它不起作用。卡住的地方是它说它无法验证传递的参数-Name。我删除了 -Name ,现在 -FullName 不起作用。该命令的所有开关参数似乎都不起作用。谁能帮我吗?

param (

[string]$DomainAdminAcct,
[string]$DomainAdminPass,
[string]$ServerName

)

InlineScript {
Add-PSSnapin VMWare.VimAutomation.Core
$vCenter = "test300"
Connect-ViServer -server $vCenter -ErrorAction Stop


$myCluster = Get-Cluster -Name "DC Test"
$myTemplate = Get-Template -Name "2012dc" -Location "our company"
$OSCustomizationSpec = New-OSCustomizationSpec –Name “$ServerName” –FullName “$ServerName” –OrgName “our company” –Domain “our.domain.com” –DomainUsername “$DomainAdminAcct” –DomainPassword "$DomainAdminPass" -AdminPassword "changeme" -ChangeSid
New-VM -Name $ServerName  -ResourcePool $myCluster -Template $myTemplate -OSCustomizationSpec $OSCustomizationSpec  

 }
}
4

2 回答 2

0

听起来您已经加载了 Hyper-V 和 PowerCLI 模块,并且命令存在冲突。它正在尝试从 Hyper-V 模块运行 New-VM。您可以通过运行来确认这一点:

get-command New-VM -all

您应该会看到两条命令,一条来自 Hyper-V 模块,一条来自 Vmware 模块。要解决这个问题,您可以将模块名称添加到命令名称中:

VMware.VimAutomation.Core\New-VM
于 2016-09-15T00:03:45.183 回答
0

要在 INLINESTRING 结构中使用参数,您必须使用 $using:<>

于 2019-07-25T19:40:06.583 回答