Vmware 我需要通过函数创建冗余VM(都在两个不同的数据存储上)

Vmware 我需要通过函数创建冗余VM(都在两个不同的数据存储上),vmware,powershell-3.0,Vmware,Powershell 3.0,我在一个单独的Variable\u Defination.ps1文件中定义了所有需要的变量,并在这里调用了它。 有更好的方法吗 我只需要一个脚本来创建两个冗余虚拟机,这两个虚拟机都运行在不同的数据存储上,并且为灾难恢复案例设置了关联规则 /变量_Defination.ps1 函数CreateRedundantVMs{ Param( [参数(必需=$true,ValueFromPipeline=$true)] [字符串]$ClusterName, [字符串]$ComputerName1, [字符串

我在一个单独的
Variable\u Defination.ps1
文件中定义了所有需要的变量,并在这里调用了它。 有更好的方法吗

我只需要一个脚本来创建两个冗余虚拟机,这两个虚拟机都运行在不同的数据存储上,并且为灾难恢复案例设置了关联规则

/变量_Defination.ps1
函数CreateRedundantVMs{
Param(
[参数(必需=$true,ValueFromPipeline=$true)]
[字符串]$ClusterName,
[字符串]$ComputerName1,
[字符串]$ComputerName2,
[string]$sourcetemplate,
[字符串]$InfraResourcePoolName,
[字符串]$OSCustomizationspec,
[字符串]$description
)
$Viabledatastores=(获取集群$ClusterName |获取数据存储)|
其中{$\.Name-类似于'*vSSD*'}|
排序对象FreeSpaceGB-降序|
选择-前2个-错误操作“停止”
if($Viabledatastores){
$Viabledatastores
}否则{
写入主机“未找到可行的数据存储”
打破
}
编写详细信息“`n------------------立即创建冗余虚拟机------------------`n”-Verbose
新VM-名称$ComputerName1-资源池$InfraResourcePoolName-数据存储$Viabledatastores[0]-描述$Description-模板$sourcetemplate-OSCustomizationspec$OSCustomizationspec-DiskStorageFormat精简
新VM-名称$ComputerName2-资源池$InfraResourcePoolName-数据存储$Viabledatastores[1]-描述$Description-模板$sourcetemplate-OSCustomizationspec$OSCustomizationspec-DiskStorageFormat精简
开始睡眠-S3
写入主机“`n--------------------------------------------------------------`n”
编写详细信息-消息“虚拟机$ComputerName1和$ComputerName2已部署。正在通电”-详细信息
写入主机“`n--------------------------------------------------------------`n”
启动VM-VM$ComputerName1
启动VM-VM$ComputerName2
}
#调用函数
CreateRedundantVMs$ClusterName$ComputerName1$ComputerName2$sourcetemplate$InfraResourcePoolName$OSCustomizationspec$说明

有些东西不起作用了吗?否则将是对工作脚本进行评论的更合适的地方。我只是在Try-Catch-Loop中添加了上述代码(将Catch-Loop保留在另一个脚本中,并将其调用到主脚本中,但不知何故不起作用)错误:Catch-block缺少Catch-block脚本的方法(Catch.ps1)调用:(../Catch.ps1)嗯。。。什么?你想在这里实现什么?为什么你如此执著于将代码分散在不同的文件中?