我目前正在使用新的PS模块和包装脚本来创建VM及其关联的VHD,并且我意识到我需要利用自定义-PassThru
开关通过管道传递变量一个功能转移到另一个功能(除非其他人当然没有任何想法)。
包装脚本本身是:
Get-NewVHDPath -VMName $VMName | Select VMName,FreeSpace,LocalVHDPath,RemotePath,RemoteVHDPath,Server | New-CompanyVHD | New-CompanyVM
我需要将选择的内容同时传递给New-CompanyVHD
(效果很好),和 New-CompanyVM
(抱怨{{1}的值) }是$VMName
,因此告诉我变量未在管道中传递,仅由false
函数使用)。所以,我认为我需要类似的东西:
New-CompanyVHD
我在模块中的Get-NewVHDPath -VMName $VMName | Select VMName,FreeSpace,LocalVHDPath,RemotePath,RemoteVHDPath,Server | New-CompanyVHD -Passthru | New-CompanyVM
函数中添加了一个-PassThru
开关,但是我不确定如何获取该信息并将其传递给下一个。该函数本身是:
New-CompanyVHD
任何对此的帮助当然将不胜感激。
答案 0 :(得分:0)
很明显,我的脑子里放屁...
Log "This is a test run! VMname has been set to $VMName!"
$ VMVar = Get-NewVHDPath -VMName $ VMName |选择VMName,VHDSize,Server,LocalVMPath,LocalVHDPath $ VMVar |新公司VHD $ VMVar |新公司VM
完美运行。