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!
c:\>Get-ExchangeServer | Select AdminDisplayVersion
AdminDisplayVersion
-------------------
Version 8.1 (Build 240.6)
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.
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.
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