Némi Import-Export

Nemrégiben két esetben is szükségem volt arra, hogy két Exchange között vigyek át AD adatokat. Ezekhez írtam néhány pici scriptet. Ezek nem általánosan használhatóak, szóval, akinek kell, az mindenképp ésszel kezelje őket. Mindkét esetben szeparált tartományokról volt szó, tehát még trust sincs köztük.

Az első páros Exchange 2003-ból visz át felhasználókat Exchange 2007-be:

Export (ezt csak úgy parancssorból):

csvde -u -r “(objectCategory=user)” -l “cn,sAMAccountName,sn,givenName,displayName,mail,proxyAddresses,company,department” -f c:\work\users.csv

Import (PowerShell, vagyhívjam EMS-nek?):

Import-Csv c:\work\users.csv | foreach -process
 {
  New-Mailbox -Name ($_.cn) -OrganizationalUnit $_.ou -UserPrincipalName ($_.cn + ‘@domain.local’) -Alias $_.cn -SamAccountName $_.samAccountName -FirstName $_.givenName -LastName $_.sn -Password (ConvertTo-SecureString -string $_.Password -asPlainText -force) -ResetPasswordOnNextLogon $false  -Database ‘Server\Mailbox Database’
  Set-User -Identity $_.cn -Company $_.Company -Department $_.Department -DisplayName $_.displayName
  Set-CASMailbox -Identity $_.cn -EmailAddresses $_.proxyAddresses
 }

A második csomag jóval egyszerűbb. Kontaktokat visz át két Exchange 2007 között:

Export (EMS):

Get-MailContact | Export-Csv c:\work\contacts.csv –NoTypeInformation –encoding UTF8

Imprt (EMS):

Import-Csv c:\work\contacts.csv | foreach -process { New-MailContact -Name ($_.Name) -ExternalEMailAddress ($_.ExternalEMailAddress) }

1 Comment

  1. …halas koszonetem itt is uldoz 🙂

Leave a Reply