我想從Exchange 2010中保存未送達的電子郵件地址並獲取包含電子郵件以及未送達多少次的表的結果。爲此我寫了腳本:
在powershell中計算電子郵件
$all = Get-TransportServer | Get-MessageTrackingLog -EventID "FAIL" -start "04/14/2013" -resultsize unlimited | Select Recipients
$output = @{}
foreach($i in $all)
{
$v = $i.Recipients
if ($output.Contains($v))
{
$output.set_Item($v,$output[$v]+1)
$output[$v]
}
else
{
$output.Add($v, 1)
"new"
}
}
但它不起作用。請幫助找出問題所在。
只是出於好奇,爲什麼你會避免使用'組對象'? –
這是一個阻塞(非流式)cmdlet。所有的管道輸入都會在那裏累積,因此可以進行分組。如果有很多輸入,它會導致高內存分配來保存它。使用散列表,散列表鍵將被創建/增加,然後在管道末尾丟棄輸入。 – mjolinor
是真實的,但在這之前需要有很多對象,因爲您只是提取收件人,所以這會成爲問題。 –