PowerShell:如何评估对象中的每个属性?

时间:2011-05-10 17:55:10

标签: object powershell csv attributes

这可以应用于许多不同的场景,但具体来说我正在运行:

Import-Csv "file.txt" | foreach { $_ }

通常,输出是:

Attribute1 : $true
Attribute2 : asdf
Attribute3 : {}
Attribute4 : $true

我怎么能运行一个foreach循环来比较每个属性的名称和值?例如,看看哪个属性等于$ true但不是Attribute4。 (我愿意使用 foreach 以外的东西,这就是我所知道的。)

我意识到我可以做(Import-Csv "file.txt").Attribute1,但对于每个属性,这都是非常不切实际的。

这些属性将是不同类型的变量(一些字符串,一些布尔值,一些数组),但我会一次提出一个问题。

编辑:
我不认为这是相关的,但CSV文件来自于 Get-ActiveSyncMailboxPolicy -Identity "Policy" | Export-Csv

1 个答案:

答案 0 :(得分:4)

这样的东西?

 Import-Csv "file.txt" | foreach-object { 
 $_.psobject.properties | where-object {
 $_.value -eq $true -and $_.name -ne "Attribute4}