22 luglio 2011

Exchange 2007: vedere la versione.









Per avere la versione di Exchange da command line è sufficiente un:
c:\>Get-ExchangeServer | Select AdminDisplayVersion

AdminDisplayVersion
-------------------
Version 8.1 (Build 240.6)


Ciao Lewis!

16 luglio 2011

Exchange 2007: spostare gli account disabilitati da un db all'altro.

Adesso vi mostrerò come risparmiare tempo e lavoro con la Shell di Exchange. Quello che voglio fare è spostare tutte le mailbox con account AD disabilitato da uno StorageGroup all'altro. Questo per alleggerire le dimensioni del db che notariamente in exchange talvolta possono portare a dei problemi. Ok, la prima cosa che ci serve è sapere il nome esatto del MailBoxDatabase. E questo lo si ottiene col comando:

[PS] C:\>Get-MailboxDatabase

Name Server StorageGroup Recovery
---- ------ ------------ --------
Mailbox Database SRV-MAIL First Storage Group False
Mailbox Database SG3 SRV-MAIL Third Storage Group False

Adesso bisogna selezionare tutte le mailbox con account disabilitato e redirigerle verso il comando Move-MailBox così:

[PS] C:\>Get-Mailbox -database "Mailbox Database" | where {$_.UserAccountControl -eq "AccountDisabled, NormalAccount"} | Move-Mailbox -targetdatabase "mailbox database sg3"

Ecco con questo semplice comando spostiamo tutte le mailbox contenute nel DB Mailbox Database e che hanno il campo UserAccountControl impostato come "AccountDisabled, NormalAccount" nel DB con nome Mailbox Database SG3

Ciao a tutti, lewis.

Exchange 2007: statistiche sulle mailbox.


Oggi vedremo come avere delle statistiche sulle mailbox degli utenti in modo da rendersi conto delle spazio occupato da ogni utente e del numero di email accumulate.

Il comando principale per ottenere delle statistiche è Get-MailboxStatistics il quale restituisce una tabella formata dai campi: DisplayName (il nome utente), StorageLimitStatus (gli eventuali limiti di storage) e LastLogonTime (il
momento dell'ultimo LogOn).
Nel seguente esempio utilizzeremo anche il comando select
per selezzionare (in unix si utilizzerebbe tail o grep a seconda di quello che dobbiamo fare) le ultime 5 linee dell'output. Ma ecco l'esempio:

[PS] C:\>Get-MailboxStatistics | select -last 5

DisplayName ItemCount StorageLimitStatus LastLogonTime
Luaaaa Aaaaaa 40964 NoChecking 15/07/2011 9.23.05
Monbbb Bbbbb 959 NoChecking 15/07/2011 17.59.09
Fcccc Ccccc 8843 NoChecking 28/06/2011 11.31.16
Dddd Dddddd 16 NoChecking 28/06/2011 11.48.46
Eeeea Feeee 54 NoChecking 28/06/2011 11.42.16

Ok, a questo punto vogliamo capire quale utente ha il numero più elevato di email, dunque utilizzeremo sempre il comando Get-MailboxStatistics combinato con sort per ordinare l'output e con select per selezionare le righe che ci interessano:

[PS] C:\> Get-MailboxStatistics | sort -property itemcount -descending | select -first 5

DisplayName ItemCount StorageLimitStatus LastLogonTime
Lisa Saaeevvkkss 49662 NoChecking 15/07/2011 9.41.08
Luigi Vaakoyu 40966 NoChecking 15/07/2011 9.23.05
Lodeini Dilede 36446 NoChecking 15/07/2011 13.45.33
Leila Skywolk 33403 NoChecking 15/07/2011 20.06.30
Ideale Bertee 29140 NoChecking 15/07/2011 22.25.39

in questo modo avremo i primi 5 utenti che hanno il maggior numero di email. Adesso introduciamo il comando ft (format-table) per avere un output maggiormente raffinato. Ossiamo vogliamo avere un elenco di mailbox ordinate per dimensione ma che venga mostrato anche il numero di email.

[PS] C:\>Get-MailboxStatistics | sort -property TotalItemSize -descending | ft -property DisplayName,TotalItemSize,ItemCount | select -first 7

DisplayName TotalItemSize ItemCount
Pizzail Tinikske 14706614387B 22633
Lisa Saaeevvkkss 11793742821B 49662
Fedele Bartoe 10035695559B 23511
Leila Skywolk 9969973020B 33403
Ideale Bertee 9187185934B 29140

[PS] C:\>

Alla prossima. Lewis.

Exchange 2007: semplice esempio di regola di trasporto.

Ecco di seguito una semplice regola di trasporto per exchange 2007. Serve a porre un MARK sul subject di ogni mail che matcha su un certo dominio. Per esempio ho un exchange con un pop connector che scarica le mail da 2 differenti domini ma voglio che uno dei due venga individuato a colpo d'occhio dagli utenti, inserendo una specifica stringa sull'oggetto dell'email. Nel caso seguente inserisco la stringa PIPPO come prefisso dell'oggetto di tutte le email che hanno come destinatiri *@miodom.com Ecco la regola:

C:\> $condition = Get-TransportRulePredicate HeaderContains
C:\> $condition.MessageHeader = "To"
C:\> $condition.Words = @("miodom.com")
C:\> $action = Get-TransportRuleAction prependsubject
C:\> $Action.Prefix = "PIPPO "
C:\> New-TransportRule -name "MIODOM" -condition @($condition) -action @($Action) -enabled: $true

Name State Priority Comments
---- ----- -------- --------
MIODOM Enabled 1

C:\> Get-TransportRule | format-list

Priority : 1
Comments :
ManuallyModified : False
Conditions : {HeaderContains}
Exceptions :
Actions : {PrependSubject}
State : Enabled
Identity : MIODOM
Guid : 404acf8f-b9fd-463c-9127-f1c6717ced52
Name : MIODOM
IsValid : True
WhenChanged : 15/07/2011 16.50.10
ExchangeVersion : 0.1 (8.0.535.0)

A questo punto tutte le email dirette a @miodom.com avranno nel subject il prefisso "PIPPO ". A presto Lewis