我通过Select-Object
传递代码,并希望在选择时从选择中输出。
我可以使用$ _,变量或循环,但希望有更好的实现,
它只是作为副作用输出到控制台并继续运行,例如
Get-Whatever | Pipe-Out Name, Phone | Do-Whatever Surname, Address | ...
我的示例字符串是
Get-VM | Select-Object VMId | Get-VHD | Select-Object path, parentpath | Format-List
这大致给了我输出
Path ParentPath
---- ----------
C:\Users\...\Ubuntu...avhdx C:\Users\...\Ubuntu.vhdx
C:\Users\...\Foss...avhdx C:\Users\...\Foxx..vhdx
我也想要
Name
中的Get-Vm
。 (Get-VM | Select-Object Name
)。Name Path ParentPath
---- ---- ----------
Ubuntu C:\Users\...\Ubuntu...avhdx C:\Users\...\Ubuntu.vhdx
Foss C:\Users\...\Foss...avhdx C:\Users\...\Foxx..vhdx
最佳答案
我没有该命令,但是有一个-PipelineVariable通用参数。
get-vm -pipelinevariable vm | get-vhd |
select-object @{n='name'; e={$vm.name}}, path, parentpath
关于powershell - 在Powershell中作为副作用输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57544796/