
Well, o titulo [bónus]
Pois é mesmo para lembrar que o blog não vai abordar apenas Virtualização, e que quando não estou no mundo vSphere ou Storage, estou administrando outros sistemas como Microsoft Exchange.
O script foi desenvolvido porque em tempos recebia reclamações de usuários que por vezes tentavam marcar reuniões em certas salas de reuniões via Outlook e não conseguiam, recebendo alerta informando que a Room mailbox (caixa de correio do tipo sala) se encontra cheia “excedeu a quota”, e isso requer intervenção (limpeza a mailbox, remoção de itens antigos). Para mitigar esse cenário, resolvi automatizar o processo de limpeza criando script PowerShell, e agendar a sua execução no Windows Task Scheduler.
Eis o script:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
#variavel imprimi linha
$linha="________________________________________________"
[String]$dia=(Get-Date).AddDays(-100).ToString("MM/dd/yyyy")
$clean_day=(Get-Date).ToString("MM/dd/yyyy") -replace '/',''
$Salas=Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails RoomMailbox| Get-MailboxStatistics | Select-Object Displayname,TotalItemSize
foreach($sala in $Salas){
if($sala.TotalItemSize.Value -gt 100MB){
$linha
$linha
$sala.DisplayName
write-host "antes:"$sala.TotalItemSize.Value.ToMB()
#kind:meetings AND -DoNotIncludeArchive
Search-Mailbox -Identity $sala.DisplayName -SearchQuery "(sent:1/1/2017..$dia OR Received:1/1/2017..$dia)" -DeleteContent -Force -Confirm:$False | Select-Object $sala.DisplayName,ResultItemsSize >> "D:\ScriptsExchange\Report\Clean_Sala$clean_day.txt"
}
}
Para aprendizagem recomendo: