Goedemiddag allemaal,
Ik zit met een klein dilemma en hoop dat jullie mij in de goede richting willen duwen...
Voor een klant zijn we bezig met het opzetten van een VoIP server, de VoIP server doet een query op een MySQL server voor namelookup.
Nu willen we de contactpersonen die in een exchange mailbox staan omzetten naar MySQL.
Heeft iemand dit al eerder gedaan? Of weet iemand hoe je bv via powershell een CSV export kan krijgen van je contactpersonen?
Het betreft een server 2012 R2 met Exchange 2013 sp1.
Alles wat ik er op Google over vind gaat niet over export naar CSV en mijn powershell skills zijn minimaal tot geen :)
Alvast bedankt.
Export naar csv is het minste probleem ;)
| export-csv c:\path\to\file.csv
Het schijnt wel te kunnen, maar zelf heb ik het nooit geprobeerd
http://social.technet.microsoft.com/Forums/exchange/en-US/d1bf41f5-2dd1-4543-8083-717abede9e2a/mailbox-contacts-to-csv?forum=exchange2010
Ik weet niet om hoeveel mailboxen het gaat, maar als het er een paar zijn ben je sneller klaar door een export uit outlook te maken...
Als het puur gaat om de mailadressen gekoppeld aan een mailbox
Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,ServerName,PrimarySmtpAddress, @{Name=“EmailAddresses”;Expression={$_.EmailAd dresses |Where-Object {$_.PrefixString -ceq “smtp”} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV c:\smtp.csv -NoTypeInformation
Export naar csv is het minste probleem ;)
| export-csv c:\path\to\file.csv
Het schijnt wel te kunnen, maar zelf heb ik het nooit geprobeerd
http://social.technet.microsoft.com/Forums/exchange/en-US/d1bf41f5-2dd1-4543-8083-717abede9e2a/mailbox-contacts-to-csv?forum=exchange2010
Ik weet niet om hoeveel mailboxen het gaat, maar als het er een paar zijn ben je sneller klaar door een export uit outlook te maken...
Als het puur gaat om de mailadressen gekoppeld aan een mailbox
Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,ServerName,PrimarySmtpAddress, @{Name=“EmailAddresses”;Expression={$_.EmailAddres ses |Where-Object {$_.PrefixString -ceq “smtp”} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV c:\smtp.csv -NoTypeInformation
Beste Pierce,
Bedankt voor je reactie!
Het gaat om 1 mailbox, en het is de bedoeling dat het dagelijks/wekelijks gebeurd ivm updates. Vandaar dat we het graag willen automatiseren.
We gaan er naar kijken, thanks alvast!
Met hulp van Pierce hebben we nu het volgende script waarmee we gaan testen (mocht iemand het ook willen gebruiken).
ps script:
$mail="email"
$outputfile="c:\locatie.csv"
$dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
[void][Reflection.Assembly]::LoadFile($dllpath)
$service = new-object Microsoft.Exchange.WebServices.Data.ExchangeServic e
$service.credentials = new-object System.Net.NetworkCredential("Gebruikersnaam", "Wachtwoord", "Domein");
$service.Url = new-object Uri("https://autodiscoverURL/EWS/Exchange.asmx");
$view = New-Object Microsoft.Exchange.WebServices.Data.ItemView(10000 ,0)
$findResults = $service.FindItems([Microsoft.Exchange.WebServices.Data.WellKnownFolde rName]::Contacts,$view)
'"FileAs","DisplayName","GivenName","Initials","MiddleName","Surname","NickName","CompanyName","EmailAddress1","EmailAddress2","Address1","Address2","PhoneNumber1","PhoneNumber2","PhoneNumber3","PhoneNumber4","JobTitle"' | Out-File -Encoding ASCII -FilePath $outputfile
foreach ($item in $findResults.Items){ """$($item.FileAs)"",""$($item.DisplayName)"",""$($item.GivenName)"",""$($item.Initials)"",""$($item.MiddleName)"",""$($item.Surname)"",""$($item.NickName)"",""$($item.CompanyName)"",""$($item.EmailAddresses[0].Address)"",""$($item.EmailAddresses[1].Address)"",""$($item.PhysicalAddresses[0].Street), $($item.PhysicalAddresses[0].City), $($item.PhysicalAddresses[0].State), $($item.PhysicalAddresses[0].CountryOrRegion), $($item.PhysicalAddresses[0].PostalCode)"",""$($item.PhysicalAddresses[1].Street), $($item.PhysicalAddresses[1].City), $($item.PhysicalAddresses[1].State), $($item.PhysicalAddresses[1].CountryOrRegion), $($item.PhysicalAddresses[1].PostalCode)"",""$($item.PhoneNumbers[0])"",""$($item.PhoneNumbers[1])"",""$($item.PhoneNumbers[2])"",""$($item.PhoneNumbers[3]),$($item.JobTitle)""" | Out-File -Encoding ASCII -FilePath $outputfile -Append}
CSV bestand:
"FileAs","DisplayName","GivenName","Initials","MiddleName","Surname","NickName","CompanyName","EmailAddress1","EmailAddress2","Address1","Address2","PhoneNumber1","PhoneNumber2","PhoneNumber3","PhoneNumber4","JobTitle"
"gebruiker, Test","Test gebruiker","Test","","","gebruiker","","","test@stric.nl","",", , , , ",", , , , ","","","0123456789",","