从 Format-Table 的输出中读取单元格

Read Cells from output of Format-Table

我有 2 个字段通过格式推送-Table

Set-Location Cert:\LocalMachine\My
$files  = Get-ChildItem | Format-Table Subject,  Thumbprint -AutoSize

我现在正在尝试再次阅读那些单独的字段,例如

Foreach ($file in $files) {    
    if($file[0] -like '*CN=*' ){
        Write-Output $file
        CallOtherMethod $file[1] 
    }
}

上面的片段不起作用,但表明了意图。如何从 table 中读取特定的输出列?

调用Format-Table时已经格式化数据。它不是您可以比较的字符串。如果你想使用来自 Get-ChildItem 的数据,你不需要通过管道发送它,或者你可以使用 Select-Object 来只选择 return 个值。

Set-Location Cert:\LocalMachine\My
$files  = Get-ChildItem
# OR
$files  = Get-ChildItem | Select-Object Subject,Thumbprint

Foreach ($file in $files) {
    # I think you meant just $file here. You should specify either the subject or thumbprint field.
    if($file.Thumbprint -like '*CN=*' ){
        Write-Output $file
        CallOtherMethod $file 
    }
}