Outlook 2010 & Powershell: Importing all email addresses in Sent Items to Autocomplete list
If you have reinstalled Outlook or perhaps set up your email account on a new PC – you’ll be pretty annoyed that the AutoComplete list in Outlook is empty.

This list has nothing to do with your contact list – it’s just a list of people you have sent emails to. Until Outlook 2010 this list was handled locally by Outlook – not on the Exchange/email server. The list used to be a relatively simple .nk2 file.
In Outlook 2010 this list is now stored in a separate Address Group called Suggested Contacts. You’ll find this Group under Contacts in Outlook. Like any other Address Group.
This is actually a lot better than using the nk2 files – which had the habit of corrupting themselves. Another advantage is that the Autocomplete list in Outlook 2010 should work across different pc’s – given you are using Exchange server (or some other ActiveSync server like Kerio etc.)
Nevertheless – here’s a script that loops through all Emails in SentItems and adds Names & Emails of Recipients to the Suggested Contacts group. This will make your autocomplete work like a charm again. The script can relatively easy be modified to scan through your inbox and add all email addresses there as well.
# OUTLOOK AUTOCOMPLETE POWERIMPORT # # Author: N. Gjermundshaug - Degree Consulting Group AS - www.degree.no # # This script requires Outlook to be installed and configured. It scans through the SentItems folder. # For each sent email, it loops through each Recipient - and adds the recipient to the "Suggested Contacts" Address Group. # Contacts in the "Suggested Contacts" will be displayed in the autocomplete field - when composing new emails (like nk2). # Contacts are only added once from the script. $outlook = new-object -com outlook.application $olFolders = "Microsoft.Office.Interop.Outlook.OlDefaultFolders" -as [type] $namespace = $outlook.GetNameSpace("MAPI") $sentItems = $namespace.getDefaultFolder($olFolders::olFolderSentMail) $alreadyAddedEmails = @() #Empty Array $counter = 0; $totalItems = $sentItems.items.count; Write-Host "Scanning through" $totalItems "emails in SentItems" $contacts = $outlook.Session.GetDefaultFolder($olFolders::olFolderSuggestedContacts) ############################################################################################################## # FUNCTION - Adds Name/Email to SuggestedContacts - Unless it has already been added before (by this script). ############################################################################################################## Function AddToSuggestedContactsIfNotAlreadyAdded ($name, $email) { if(($name -eq "") -or ($email -eq "") -or ($name -eq $null) -or ($email -eq $null)){ return; } $name = $name.Replace("'", "").Replace("""", "") $contactAlreadyAdded = $false foreach ($elem in $global:alreadyAddedEmails) { if(($elem.ToLower() -eq $email.ToLower())){ $contactAlreadyAdded = $true Write-Host ($global:counter)"/"($totalItems) "SKIPPED " $name.PadRight(25," ") "-" $email return; } } if(!$contactAlreadyAdded ) { $newcontact = $contacts.Items.Add() $newcontact.FullName = $name $newcontact.Email1Address = $email $newcontact.Save() $global:alreadyAddedEmails += $email Write-Host ($global:counter)"/"($totalItems) "ADDED " $name.PadRight(25," ") "-" $email } } # Loop through all emails in SentItems $sentItems.Items | % { #Loop through each recipient $_.Recipients | %{ AddToSuggestedContactsIfNotAlreadyAdded $_.Name $_.Address } $global:counter = $global:counter + 1 } Write-Host "Done!" $outlook.Quit()
Other keywords: Rebuild Cache Restore Entry Post Migration Auto Complete Repair Batch Bulk Auto Completion PS1 Import
Outlook Web App 2010 Auto login
This one goes out to all my fans out there. A simple html page that automatically logs you in to Outlook Web App. Handy when webmail is the only thing you have access to, and you canstantly keep getting logged out (since your nazi sysadmin refuses to extend the session timeout period).
<html>
<body style="display: none">
<form action="https://exchangeserver.com/owa/auth/owaauth.dll" method="POST" name="logonForm" ENCTYPE="application/x-www-form-urlencoded" id="loginForm">
<input type="hidden" name="destination" value="https://exchangeserver.com/owa/">
<input type="hidden" name="username" value="joe@scrotum.org" >
<input type="hidden" name="password" value="Balls_1234$">
<input type="hidden" name="flags" value="4">
<input type="hidden" name="forcedownlevel" value="0">
<input type="radio" name="trusted" value="4" class="rdo" checked>
<input type="hidden" name="isUtf8" value="1">
</form>
<script language="JavaScript">
//Autosubmit the form. Yeah.
document.getElementById('logonForm').submit();
</script>
</body>
</html>
Replace action, destination, username & password. Save this file to your desktop etc. and create a shortcut/bookmark to it. You're done.
This can also be used to facilitate one-click login into OWA from an intranet etc.
Litt historie om utviklingen av Sharepoint
1997 – 1999
Før SharePoint var det et produkt ved navn Site Server (og Site Server Commerce Edition) som inneholdt funksjoner som blant annet webinnhold og replikasjon, analyse av nettsted, tilpassning, indeksering / søk, dokumenthåndtering og e-handel. I 1998 annonserte Microsoft at neste versjon av Exchange, kodenavn Platinum, ville inkludere Web Store som var designet for håndtering av dokumenter og web-innhold, samt e-post. Et nytt produkt, kodenavn Tahoe, ville styrke Platinum ved å innføre dokumenthåndtering via en teknologi kalt WebDAV ( Dokument redigering og versjonskontroll) og en forbedret indeksering / søkemotor. Kombinasjonen av Platinum og Tahoe ville være Microsofts neste generasjons meldingstjenester, samarbeid og dokumenthåndterings plattform.
2000 – 2001
I 2000 lanserte Microsoft Windows Server 2000 og SQL Server. Exchange Server 2000 ble også lansert. I oktober ble Tahoe beta 2 lansert med et nytt UI basert på Digital Dashboard Resource Kit. Produktnavnet ble SharePoint Portal Server 2001 (SPS 2001). Samme år kjøpte Microsoft leverandøren nCompass som drev med innholdsbehandlingssystemer, og omdøpte produktet til Content Management Server 2001 (CMS 2001). Microsoft lanserte også et gratis tilleggsprogram til Office 2000 ved navn SharePoint Team Services (STS) som gav webbaserte sammarbeidsfunskjoner.
2002 - 2003
I oktober 2003 ga Microsoft ut en ny versjon av Office - Office 2003 - og inkluderte nye oppgraderte SharePoint områder innenfor Office. STS ble omdøpt til Windows SharePoint Services (WSS), og ble en del av Windows Server 2003. Dette gav et samarbeidsområde og et “web part” grensesnitt bygget med ASP.NET. SPS v2 bygget på toppen av WSS og navngitt Microsoft Office SharePoint Portal Server 2003 (SPS 2003). SPS inneholdt indeksering / søk, tilpassning og forbedret ledelse.
2004 – 2006
CMS og SPS ble slått sammen og ASP.NET v2 som ble lansert i slutten av 2005 omfattet innebygde “webparts”. En felles funksjon for å utvikle oppgaver rundt ble introdusert - Windows Workflow Foundation (WinWF, “Workflows”). Akkurat som Windows SharePoint Services (WSS), ville WinWF bli et innebygd tilleggsprogram til Windows Server og gi en arbeidsflyts tjeneste som alle andre programmer kan bygge på. I 2005 kjøpte Microsoft Groove som er et peer-to-peer (P2P) team-basert samarbeids produkt som også inkluderer synkronisering av SharePoint-sites. Microsoft lanserte også Business Scorecard Manager 2005 (BSM 2005) med integrasjon mot SharePoint og i 2006 kjøpte de ProClarity som skal kjøre sammen med MOSS 2007 med avanserte BI muligheter.

