我创建了这个函数来解析特定文本的字段并返回一个自定义对象.
如果我使用语法,一切正常,Get-MachineUser -VMArray $PassedArray但如果我管道数组它不起作用$PassedArray | Get-MachinesUser.
我和我的团队中的某个人一起工作,我们发现当我们传递数组时,它只处理数组中的最后一个条目.我不介意使用其他语法,但我很好奇我有什么错误导致管道无法正常工作.
function Get-MachinesUser{
param (
[parameter(Mandatory=$true, ValueFromPipeline=$true)]
[System.Object[]] $VMArray
)
foreach($vm in $VMArray){
if($VM.Description -match '.*(ut[A-Za-z0-9]{5}).*'){
[PSCustomObject]@{
"Name" = $vm.Name
"User" = $Matches[1]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)