PowerShell功能的自定义-PassThru开关

时间:2018-06-28 10:52:39

标签: powershell custom-function

我目前正在使用新的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

任何对此的帮助当然将不胜感激。

1 个答案:

答案 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

完美运行。