locked
Exporting large amount of users from on-premise to Office 365 one daatbase at a time RRS feed

  • Question

  • Hi

    I am looking for some help on exporting a large number of Mailboxes from our Exchange 2010 to Office 365 in our hybrid environment. Internet connection upload speed is around 90mb so should be OK with that.

    There are around 3,500 mailboxes to move but they are all 50mb or under
    They are split into 10 different mailbos databases, so I was thinking it would be best to do one database at a time?

    I have read a MS article about the requirements for the CSV file that I will need to use. But looking for some help in the creating this with the idea of doing it one database at a time.

    I know if I run 
    Get-mailbox -resultsize unlimited | select alias -expandproperty emailaddresses | export-csv C:\emailaddresses.csv

    this will give me roughly what I need for the CSV file for migrating to O365, but cant see how I separate this for each local database?

    Thank you.

    Tuesday, May 22, 2018 9:20 AM

All replies

  • You cannot export email to a CSV.  It will not work.

    You can use third party tools to export mail fromO365.


    \_(ツ)_/

    Tuesday, May 22, 2018 9:25 AM
  • Hi,

    You may take a look into script in below links:-

    https://gallery.technet.microsoft.com/scriptcenter/Generate-Mailbox-Size-and-3f408172

    https://practical365.com/exchange-server/powershell-script-create-mailbox-size-report-exchange-server-2010/

    Regards,

    Deepak

    Tuesday, May 22, 2018 9:35 AM
  • Use the Get-MailboxDatabase cmdlet. Add the "Name" value from the database object to your Get-Mailbox cmdlet. For each mailbox database create a different CSV file

    Get-MailboxDatabase | Foreach {Get-Mailbox -Database $_.Name | Select . . .}


    --- Rich Matheisen MCSE&I, Exchange Ex-MVP (16 years)

    Wednesday, May 23, 2018 2:33 AM
  • He's not going to export the contents of the mailboxes (i.e. 'mail') to a CSV, just the information about the mailboxes that'll be used to control the migration.

    --- Rich Matheisen MCSE&I, Exchange Ex-MVP (16 years)

    Wednesday, May 23, 2018 2:36 AM
  • Use the Get-MailboxDatabase cmdlet. Add the "Name" value from the database object to your Get-Mailbox cmdlet. For each mailbox database create a different CSV file

    Get-MailboxDatabase | Foreach {Get-Mailbox -Database $_.Name | Select . . .}


    --- Rich Matheisen MCSE&I, Exchange Ex-MVP (16 years)

    I would expand a bit more to add the REsultsize unlimited to the mix

    get-mailboxdatabase |%{ get-mailbox  Database $_name `
    -ResultSize unlimited | Select Name,Email | `
    Convertto-csv -Notypeinformation | `
    out-file bunch$($_.Name).csv }




    if you want to know what goes after the Select, you just need to do this:

    Get-Mailbox administrator | gm

    Wednesday, May 23, 2018 4:20 AM