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.
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 $strMailboxSrv = "" $arrHubs = $NULL ### Search for sender, recipient or both if ($strDecisionQuery -match "[as]") if ($strDecisionQuery -match "[ar]") ### Input of Date/Time ### Input of Subject ## Wait 2 seconds CLS ### Header LOG ### MessageTracking function -Sender:"$strSenderAddr" -Recipients:"$strRecipientAddr" -Server $strHub -Start "$strStartDate $strStartTime" -End "$strEndDate $strEndTime" -MessageSubject "$strMessageSubject" -resultsize unlimited | Write-Host "MessageTracking starts ...`n" -foregroundcolor green $arrHubs = get-transportserver foreach ($objHub in $arrHubs) Write-Host "Tracking " $strMailboxSrv " ..." -foregroundcolor green ### Open Notepad with results, wait 3 seconds and delete the outputfile
Write-Host
Write-Host
Write-Host "Message Tracking Tool" -foregroundcolor green
Write-Host
Write-Host
### please change like you want
$strFilename = "D:\MessageTracking_Results.txt"
$objHub = $NULL
$strHub = $NULL
$strDecisionQuery = read-host "Search for (s)ender (a)nd/or (r)ecipient ?"
{
Write-Host
$strSenderAddr = read-host "Sender-Mail Addr"
Write-Host
}
{
Write-Host
$strRecipientAddr = read-host "Receiver-Mail Addr"
Write-Host
}
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
$strMessageSubject = read-host "Text in subject"
ping localhost -n 2 > $NULL
Write-Host
Write-Host
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
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
fl -groupby Timestamp >> $strFilename
}
}
### Remove-Item $strFilename -erroraction silentlycontinue
{
$strHub = $objHub.Name
Write-Host "Tracking " $strHub " ..." -foregroundcolor green
GetLogRec
}
GetLogRec
Write-Host "`n Results in" $strFilename " " -foregroundcolor green
notepad $strFilename
ping localhost -n 3 > $NULL
del $strFilename

