1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| param([string] $Param )
$Results = @()
$CountMB = 0
if(!$param)
{
$Servers = Get-Process -computerName nom_du_serveur | Get-ExchangeServer | Where {$_.ServerRole -eq "Mailbox"} | Sort Name
Foreach($Server in $Servers)
{
$dbs = Get-MailboxDatabase -server $Server | Sort Name
foreach($db in $dbs)
{
$mb = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -eq $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
$mbdis = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -ne $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
Write-Host "$($Server) `t $($db.name)`t $($a.count)"
$Obj = New-Object PSObject
$Obj | Add-Member NoteProperty -Name "Server" -Value $Server
$Obj | Add-Member NoteProperty -Name "Database" -Value $db.Name
$Obj | Add-Member NoteProperty -Name "Mailboxes" -Value $mb.count
$Obj | Add-Member NoteProperty -Name "Disconnected Mailboxes" -Value $mbdis.count
$Results += $Obj
}
}
}
else
{
$server = $param
$dbs = Get-MailboxDatabase -server $Server | Sort Name
foreach($db in $dbs)
{
$mb = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -eq $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
$mbdis = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -ne $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
$Obj = New-Object PSObject
$Obj | Add-Member NoteProperty -Name "Server" -Value $Server
$Obj | Add-Member NoteProperty -Name "Database" -Value $db.Name
$Obj | Add-Member NoteProperty -Name "Mailboxes" -Value $mb.count
$Obj | Add-Member NoteProperty -Name "Disconnected Mailboxes" -Value $mbdis.count
$Results += $Obj
$countmb += $mb.count
}
Write-Host
Write-Host "$($Server) has a total of $($CountMB) mailboxes" -ForegroundColor Green
}
$Results | FT -AutoSize |
Partager