私はいくつかのproerties、合計、平均を追跡し、私がしたいと思います一つの特性の平均Measure-ObjectでPowershellでリフレクション/ダイナミックタイピングを行うにはどうしたらいいですか?
$Databases = Get-MailboxDatabase -Status
foreach($Database in $Databases) {
$DBSize = $Database.DatabaseSize
$MBCount = @(Get-MailboxStatistics -Database $Database.Name).Count
# This line is giving me trouble
$MBAvg = Get-MailboxStatistics -Database $Database.Name | %{$_.TotalItemSize.value.ToMb()} | Measure-Object -Average
New-Object PSObject -Property @{
Server = $Database.Server.Name
DatabaseName = $Database.Name
LastFullBackup = $Database.LastFullBackup
MailboxCount = $MBCount
"DatabaseSize (GB)" = $DBSize.ToGB()
"AverageMailboxSize (MB)" = $MBAvg.Average
"WhiteSpace (MB)" = $Database.AvailableNewMailboxSpace.ToMb()
Items = 0
LogicalSize = 0
}
}
「測定・オブジェクト」を計算し、次のコマンドを持っています。
$MeasureProps = "AssociatedItemCount", "DeletedItemCount", "ItemCount", "TotalDeletedItemSize", "TotalItemSize"
$Databases = Get-MailboxDatabase -Status
foreach($Database in $Databases) {
$DBSize = $Database.DatabaseSize
$MBCount = @(Get-MailboxStatistics -Database $Database.Name).Count
$MBStats = Get-MailboxStatistics -Database $Database.Name
#Expanded version of problem line above
foreach($mb in $MBStats)
{
foreach($prop in $MeasureProps)
{
#this is a random hack. I have almost no idea what I'm doing.
select $mb.$prop | Measure-Object -Property $prop -Sum -Average
}
}
New-Object PSObject -Property @{
Server = $Database.Server.Name
DatabaseName = $Database.Name
LastFullBackup = $Database.LastFullBackup
MailboxCount = $MBCount
"DatabaseSize (GB)" = $DBSize.ToGB()
"AverageMailboxSize (MB)" = $MBAvg.Average
"WhiteSpace (MB)" = $Database.AvailableNewMailboxSpace.ToMb()
Items = 0
LogicalSize = 0
}
}
私が持っている問題は、私は、各オブジェクトの合計にアクセスできるように%{$_.TotalItemSize.value
を編集する方法を考え出すされています。
ああ、これは近い私を得ました。私はちょうど質問を更新した – LamonteCristo