从 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
}
}
我有 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
}
}