를 실행 한 후 나는 다음과 같은 비정규 테이블에 sourcedata 유사한이는 어떻게 PS "그룹 객체"
DisplayName LogRecordCount LogRecordBytes
----------- -------------- --------------
Mailbox - Low, 459 43756
Mailbox - Low, 1628 185542
Mailbox - Low, 2575 264474
Mailbox - Low, 522 48813
Mailbox - Low, 410 138212
Mailbox - Low, 1057 200043
Mailbox - Freed 3866 2170719
Mailbox - Freed 606 370304
Mailbox - Freed 4137 1939924
Mailbox - Freed 3655 1654650
내 목표는
을 다음과 유사한 요약을 작성하는 것입니다 가지고 "그룹"멤버에 액세스 할DisplayName LogRecordCount
----------- --------------
Mailbox - Low, 6651
Mailbox - Freed 12264
다음 코드는 필요한 항목을 얻는 것에 매우 가깝지만 "DisplayName"이 표시되지 않습니다. DisplayName의 값은 Group-Object
명령의 결과에 묻혀 있습니다.
$stats | ? {$_.DigestCategory -eq 'LogBytes'} | group MailboxGuid | %{
New-Object psobject -Property @{
MailboxGuid = $_.Name
LogRecordBytes = ($_.Group | Measure-Object LogRecordBytes -Sum).Sum
DisplayName = $_.Group.DisplayName
}
}| sort-object LogRecordBytes | ft -a DisplayName, MailboxGuid, LogRecordBytes
질문
결과에 표시 이름을 표시하는 DisplayName = $_.Group.DisplayName
에 대한 올바른 구문은 무엇입니까? 다음으로 당신의 DisplayName = ..
라인 출력
우리가 볼 수없는 재산으로 그룹화하기 때문에 당신을 도울 수 없습니다. 그룹화하는 속성은 정적 인 속성입니다. 따라서 각 그룹 (MailboxGuid 당 하나의 그룹)에는 'DisplayName'값이 여러 개있을 수 있습니다. 'DisplayName'과'LogRecordCount' 만 원한다면 왜'MailboxGuid'에 의한 그룹화가 좋지 않을까요? –
@Graimer MailboxGuid == 모든 논리적 작업에 대한 표시 이름을 가정합니다. "john smith"라는 두 개의 표시 이름이있을 수 있습니다. 그것이 내가 Guid를 사용하는 이유입니다. 소스 데이터 – LamonteCristo
okey를 업데이트하므로 그룹당 표시 이름 만있을 수 있습니까? 그렇다면 다음과 같이 작동합니다 :'DisplayName = $ _. Group | % {$ _. DisplayName}'(현재'displayname' 코드로 대체하십시오) –