promuxx.de ein Hösl bloggt. doch wohin?

16Sep/090

MAC OS X 10.6 Snow Leopard und Exchange 2010

Der Snow Leopard aka MAC OS X 10.6 ist das neue Betriebssystem aus dem Hause Apple, dass für günstige 29€ zu haben ist. Für die Apple Fans sind rein oberflächlich betrachtet wenig Neuerungen hinzugekommen, SnowLeopard ist beispielsweise deutlich platzsparender als der Leopard.

Für mich aber wichtig ist die eine Neuerung, die für Microsofties wie mich interessant ist: Die Mac Produkte mail, ical und contacts sind ab Snow Leopard Exchange 2007 fähig, vorrausgesetzt der Exchangeaccount ist autodiscover-fähig und rpc over https ist aktiviert und erreichbar.

Also gleich in den AppleStore München, Snow Lepoard geholt, und auf dem MacBook installiert. Leider habe ich keine Screenshots machen können, aber das hole ich eventuell noch nach. Aber viel gibt es nicht zu machen: Account hinzufügen, Exchange 2007 Account auswählen, Email, Username und Passwort eingeben, 40 Sekunden warten, und fertig.

Einzig und allein schade finde ich, dass im Snow Leopard explizit “Exchange 2007 Account” steht, und nicht etwa “Exchange Account”. Es ist zwar erst möglich ab Exchange 2007, aber speziell in meinem Fall habe ich das ganze schon mit Exchange 2010 verbunden, und der wird ja hoffentlich auch bald verfügbar sein. Aber das ist nur ein Schönheitsfehler in meinen Augen, und zumindest der Beweis dass es auch zukünftig funktionieren wird.

7Jul/090

Exchange 2007 Tracking Script

In Exchange 2007 ein Mailtracking zu machen kann etwas daueren, da die MMCs nicht die schnellsten sind. Aus diesem Grund habe ich mir ein Powershell-Script gebastelt – welches erst meine Eingaben annimmt, dann das Tracking durchführt und mir das Ergebnis in einer Notepad Datei auswirft und direkt öffnet.

Simpel – aber zweckerfüllend.

CLS

### Title
Write-Host
Write-Host
Write-Host "Message Tracking Tool"  -foregroundcolor green
Write-Host
Write-Host

$strMailboxSrv        = ""
### please change like you want
$strFilename          = "D:\MessageTracking_Results.txt"

$arrHubs = $NULL
$objHub  = $NULL
$strHub  = $NULL

### Search for sender, recipient or both
$strDecisionQuery = read-host "Search for (s)ender (a)nd/or (r)ecipient ?"

if ($strDecisionQuery -match  "[as]")
    {
    Write-Host
    $strSenderAddr        = read-host "Sender-Mail Addr"
    Write-Host
    }    

if ($strDecisionQuery -match "[ar]")
    {
    Write-Host
    $strRecipientAddr     = read-host "Receiver-Mail Addr"
    Write-Host
    }

### Input of Date/Time   
Write-Host
$strStartDate        = read-host "Start-Date(e.g. 04.12.2009)"
Write-Host
$strStartTime        = read-host "Start-Time (e.g. 02:00:00)"
Write-Host
$strEndDate         = read-host "End-Date (e.g. 05.12.2009)"
Write-Host
$strEndTime            = read-host "End-Time (e.g. 23:00:00)"
Write-Host

### Input of Subject
$strMessageSubject    = read-host "Text in subject"

## Wait 2 seconds
ping localhost -n 2 > $NULL

CLS
Write-Host
Write-Host

### Header LOG
echo "###################################"                                                     >> $strFilename
echo "########## Tracking LOG ###########"                                                     >> $strFilename
echo "###################################"                                                     >> $strFilename
echo " " >> $strFilename                                                                               
echo "Sender: " $strSenderAddr                                                                >> $strFilename
echo " " >> $strFilename
echo "Recipient: " $strRecipientAddr                                                            >> $strFilename
echo " " >> $strFilename
echo "Timeframe from: " $strStartDate $strStartTime " to " $strEndDate $strEndTime    >> $strFilename
echo " " >> $strFilename
echo "Subject: " $strMessageSubject                                                            >> $strFilename
echo " " >> $strFilename
echo "###################################"                                                    >> $strFilename

### MessageTracking function
if ($strDecisionQuery -ceq "r")
    {
    function GetLogRec() 
        {
        get-messagetrackinglog -Recipients:"$strRecipientAddr" -Server $strHub -Start "$strStartDate $strStartTime" -End "$strEndDate $strEndTime" -MessageSubject "$strMessageSubject" -resultsize unlimited |
        fl -groupby Timestamp >> $strFilename
        }
    }
elseif ($strDecisionQuery -ceq "s")
    {
    function GetLogRec() 
        {
        get-messagetrackinglog -Sender:"$strSenderAddr" -Server $strHub -Start "$strStartDate $strStartTime" -End "$strEndDate $strEndTime" -MessageSubject "$strMessageSubject" -resultsize unlimited |
        fl -groupby Timestamp >> $strFilename
        }
    }
elseif ($strDecisionQuery -ceq "a")
    {
    function GetLogRec() 
        {
        get-messagetrackinglog

-Sender:"$strSenderAddr" -Recipients:"$strRecipientAddr" -Server $strHub -Start "$strStartDate $strStartTime" -End "$strEndDate $strEndTime" -MessageSubject "$strMessageSubject" -resultsize unlimited |
        fl -groupby Timestamp >> $strFilename
        }   
    }

Write-Host "MessageTracking starts ...`n"  -foregroundcolor green
### Remove-Item $strFilename -erroraction silentlycontinue

$arrHubs = get-transportserver

foreach ($objHub in $arrHubs)
{
    $strHub = $objHub.Name
    Write-Host "Tracking " $strHub " ..."  -foregroundcolor green
    GetLogRec
}

Write-Host "Tracking " $strMailboxSrv " ..."  -foregroundcolor green
GetLogRec
Write-Host "`n Results in" $strFilename " " -foregroundcolor green

### Open Notepad with results, wait 3 seconds and delete the outputfile
notepad $strFilename
ping localhost -n 3 > $NULL
del $strFilename