Exchange Server 2007 Management Shell/Scripting
Por Caio Cesar, reviewed by Eduardo Tavares de Almeida
Neste post irei mostrar alguns comandos comuns que administradores utilizam para a gerência e troubleshooting do Exchange Server 2007 (Hub/CAS/Edge/Mailbox Roles).
1. Habilitando uma resource mailbox e configurando-a para o auto accept de reuniões:
Primeira fase, habilitando:
a) Set-Mailbox -Identity “MailboxName” -Type Room
Segunda fase, habilitando o auto-accept:
b) Set-MailboxCalendarSettings -Identity “MailboxName”- AutomateProcessing AutoAccept
O comando “Get-Mailbox | fl DisplayName,ResourceType” traz uma lista das mailboxes e o resource type configurado.
2. Como habilitar 2 Mailbox Servers com LCR (Local Continuous Replication):
a) Mude o DB ratio para uma Database por Storage Group;
b) Execute o cmdlet Enable-DatabaseCopy;
c) Execute o cmdlet Enable-StorageGroupCopy.
Maiores informações:
3. Configurando resource mailboxes para deletar arquivos com anexo (geralmente utilizado para que as mailboxes não ultrapassem o limite de quota):
Get-Mailbox -RecipientTypeDetails RoomMailbox | Set-MailboxCalendarSettings -DeleteAttachments $true
4. Efetuar o tracking pelo EMS utilizando o subject da mensagem:
Get-Message -Filter {Subject -eq ”MessageSubject”}
5. Forçar o Hub server para enviar emails que estão queued da fila (com status de retry):
Retry-Queue -Filter {Status -eq "retry"}
6. Adicionando e ativando um filtro para block and delete de uma extensão de arquivo (Edge Server):
a) Add-AttachmentFilterEntry -Name *.ext -type Filename
b) Set-AttachmentFilterListConfig -Action SilentDelete
* Aonde ext seria a extensão do arquivo.
7. Exportar para um arquivo csv o quanto as disconnected mailboxes consomem na estrutura:
Get-MailboxServer | Get-MailboxStatistics | Where {$_.DisconnectDate-ne$null} | Export-Csv –Path c:\filename.csv
8. Garantir que não exista data loss durante uma operação de switchover (CMS):
Set-MailboxServer MailboxServerName -AutoDatabaseMountDial:LossLess
· Lossless - O banco de dados não será montado automaticamente até que todos os logs gerados na cópia ativa tenham sido copiados para a cópia passiva.
9. Atualizar o Safe Senders configurado no Outlook dos usuários para o anti-spam do Edge Server (Edge):
Get-Mailbox -ResultSize Unlimited | where {$_.RecipientType -eq [Microsoft.Exchange.Data.Directory.Recipient.RecipientType]::UserMailbox } | Update-Safelist
Maiores Informações:
10. Removendo mensagens das mailboxes pelo subject:
a) Crie uma mailbox temporária e um diretório “Delete” nesta mailbox;
b) Get-Mailbox -Server ServerName | Export-Mailbox -TargetMailbox MailboxCriada -TargetFolder Delete -SubjectKeywords “SubjectDaMensagem” - DeleteContent
11. Obter uma lista dos protocolos habilitados para cada mailbox:
Get-CASMailbox
12. Configurar permissões para somente usuários específicos agendarem reuniões para uma resource mailbox:
Set-MailboxCalendarSettings -Identity ResourceMailboxName -BookInPolicy User1,User2,User3,User4 –AllBookInPolicy $false
13. Atualizando campos na Global Address List, pegando como exemplo o Street Address:
Get-User -Filter “StreetAddress -eq ‘Rua Alameda Inicial’ ” | Set-User -StreetAddress “Rua Nova Alameda”
14. Detalhar o número de mensagens por mailbox folder e exportar para um arquivo csv:
Get-ExchangeServer | Get-Mailbox | Get-MailboxFolderStatistics | Export-csv -path c:\nomedorelatorio.csv
15. Manter copias das mensagens enviadas/recebidas por um usuário em uma mailbox de monitoração:
New-JournalRule -Name:’User’-JournalEmailAddress:’usuario@email.com’ -scope :’Global’ -Enabled $true -Recipient:’mailboxdemonitoracao@email.com’
16. Adicionar full access em uma mailbox:
Add-MailboxPermission -Identity SourceMailbox - User Usuario - AccessRights FullAccess
17. Aumentar quota de envio para um usuário:
Set-Mailbox –Identity Usuario - MaxSendSize XMB
* Altere o “x” para o valor necessário.