使用PowerShell计算阵列中的列数

使用PowerShell计算阵列中的列数,powershell,Powershell,我有以下代码: $array = Get-Process 现在,我想数一数列的数量。我试过: $array.Columns.Count $array.Columns 而且都没有运气 我应该如何获得正确的列数?应该是8 我已将代码修改为: $Processes = @(Get-Process | Select-Object -Property Name, Description, ProductVersion, @{Name="Application";Expressio

我有以下代码:

$array = Get-Process
现在,我想数一数列的数量。我试过:

$array.Columns.Count
$array.Columns
而且都没有运气

我应该如何获得正确的列数?应该是8

我已将代码修改为:

$Processes = @(Get-Process | Select-Object -Property Name, Description, ProductVersion, @{Name="Application";Expression={$_.Description + " " + $_.ProductVersion}},@{Name="Executable";Expression={(($_."Path").split("\"))[-1]}} |Where {$_.Executable})
$Array     = @()
$Record    = [ordered] @{"Name"         = "";
                         "Application"  = ""}

ForEach ($ProcesName in $Processes)
{
 $Record."Name"        = $ProcesName.Name
 $Record."Application" = $ProcesName.Application
 $objRecord            = New-Object PSObject -Property $Record
 $Array               += $objRecord
}
Clear-Host
Write-Host "Number of columns: $($Array.Column.Count)"
Write-Host "Number rows:       $($Array.Count)"
结果是相同的:列和行都相同。这是不对的。我想在一个包含更多列的新脚本中使用该技术

欢迎反馈

致以亲切的问候,
StangPilot是类型为System.Diagnostics.Process的对象数组。没有这样的列。对象具有属性,您可以选择使用
$array | ft
在列中显示这些属性,或将其作为列表
$array | fl*
显示。您可以按如下方式计算属性:

$array | Get-Member -MemberType Property | measure
如果您希望答案为8,则可以这样做:

$array | select Handles, NPM, PM, WS, CPU, Id, SI, Name | Get-Member -MemberType NoteProperty | measure

您在显示中看到的是该特定对象类型的默认视图。房地产的实际数量要大得多。我不知道这个练习的意义。你好,马克,谢谢你的反馈。我以为这是个简单的问题。。。不我已经修改了这个问题,看看今天添加的部分。我刚刚灵机一动:($Array | Get Member-MemberType NoteProperty | measure)。Count