2016-04-10 18 views
0

çıkışından farklı çıkış:JSON biçimi masaya bir PowerShell komutu ile işlem adını ve işlem bellek kullanımını almaya çalışıyorum

Get-Process | Group-Object -Property ProcessName | 
    Format-Table Name, @{n='Mem (KB)';e={ 
     '{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum/1KB) 
    };a='right'} -AutoSize 

Ama çıkış farklı olduğunda ConvertTo-Json ile ben boru bunu bana ayrıntıları alır ClassID, outOfBand, beklediğim çıktı değil. Çıktının, ekranda görüntülendiği gibi, JSON biçiminde olduğu gibi (Name and Mem (KB)) aynı olmasını istiyorum. `Kullanmak seç-Nesnesi` yerine Format-` arasında -

+0

ConvertTo-Json' 'değil boru' Biçim-table' çıkışı mı gereğidir Tablo –

+0

@ MathiasR.Jessen Ancak Bellek Boyutunu nasıl hesaplayabilirim? Biçim Tablosunu kullandığımda hesaplar ancak Select-Object kullanarak işlemin kullandığı belleği hesaplamaz –

+2

'Select-Object' 'Format-Table' gibi hesaplanan özellikleri kabul eder. Nitelikli yardım istiyorsanız, çalışmayan kodu gösterin :) –

cevap

0

Bu sorunun çözümü Select-Object kullanarak yerine Format-Table

Get-Process | Group-Object -Property ProcessName | 
    Select-Object Name, @{n='Mem'; 
     e={(($_.Group|Measure-Object WorkingSet -Sum).Sum/1KB)}} | 
    ConvertTo-Json 
İlgili konular