小编fin*_*ast的帖子

为什么这个函数不适用于管道变量?

我创建了这个函数来解析特定文本的字段并返回一个自定义对象.

如果我使用语法,一切正常,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)

powershell piping

3
推荐指数
1
解决办法
313
查看次数

标签 统计

piping ×1

powershell ×1