Skip to content

A GALSync powershell script

Here is a script I wrote to do a simple GAL synchronization between two Exchange organizations. The script finds the mail-enabled  users in one domain, and creates contacts for them in the other domain. Existing contacts will also be updated and deleted as needed.


There was a bug in the original script where I had forgotten to populate mailNickname. I have now done so, adding a “c-” to the front of it as a completely optional convention to avoid conflicts.

Update 2

Several people have commented below about needing to enable the contacts in Exchange after creation. I have used the modifcations posted by Mark in the comments to make a new version that I hope will work better with 2007 and 2010, though I have only tested it with 2010. Both versions are linked below, and please keep adding your comments and modifications.

The Script

Now I have two versions the scripts have been moved off to seperate pages. Follow the links below.

Version 2 Added the Update-Recipient command for Exchange 2007 (through local powershell) and Exchange 2010 (through remote powershell).
Version 1 Original version that uses the ActiveDirectory powershell module to create the contact objects.

Other people’s versions

Modified for Distribution Lists:

{ 78 } Comments

  1. David Lundell | May 20, 2010 at 4:23 pm | Permalink

    I suppose without an IIFP edition of FIM people have to find another free way to support this need.

  2. Carol | May 20, 2010 at 5:34 pm | Permalink

    Am I becoming repetitive? 😉

  3. Eric | June 10, 2010 at 5:46 pm | Permalink

    Very nice! How would I modify this script for a one-way sync? DOMAIN2 Users –> DOMAIN1 Contacts only?


  4. Carol | June 10, 2010 at 7:31 pm | Permalink

    Hi Eric. That is simple enough – you see at the bottom of the script I have called the SyncContacts function twice – once for each domain? Just call it once.

  5. Eric | June 11, 2010 at 5:21 pm | Permalink

    Great, thank you Carol!

  6. Nigel Harvey | August 23, 2010 at 3:30 pm | Permalink

    Tried running this – nogo on Exchange server – nogo on DC – currently loading Exchange tools to DC and will try again. RSAT tools loaded in all cases … Any thoughts in the mean time much appreciated 😀


  7. Carol | August 23, 2010 at 3:36 pm | Permalink

    I am not running this on an Exchange server or on a DC – just on a regular member server with the AD powershell plugin available.

    Any errors?

  8. Nigel Harvey | August 23, 2010 at 3:50 pm | Permalink

    Sorry :-( any clues? E2k7SP2 on Win2k8StdSp2 returns:

    PS C:\> .\GALScript.ps1
    The term ‘get-module’ is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
    At C:\GALScript.ps1:179 char:16
    + if(@(get-module <<<< | where-object {$_.Name -eq "ActiveDirectory"} ).count -eq 0) {import-module ActiveDirectory}
    The term 'import-module' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
    At C:\GALScript.ps1:179 char:93
    + if(@(get-module | where-object {$_.Name -eq "ActiveDirectory"} ).count -eq 0) {import-module <<< DOMAIN2 Contacts

    DOMAIN2 Users –> DOMAIN1 Contacts
    The term ‘Get-ADObject’ is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
    At C:\GALScript.ps1:64 char:26
    + $colUsers = Get-ADObject <<< stop-transcript
    Transcription has not been started. Use the start-transcript command to start transcription.
    Stop-Transcript : An error occurred stopping transcription: The console host is not currently transcribing.
    At line:1 char:15
    + stop-transcript <<<

  9. Nigel Harvey | August 23, 2010 at 3:52 pm | Permalink

    Bit of overlap there — which AD plugin please, the QAD one?


  10. Nigel Harvey | August 23, 2010 at 4:05 pm | Permalink

    Ah … You mean the Windows2k8R2/Windows7 one that loads with the RSAT tools …

    try and try again … :-)

  11. Nigel Harvey | August 23, 2010 at 4:16 pm | Permalink

    It now thinks source user password is Null and finds no users in the source domain – this from a Windows7x64 pc on domain using either domain access account set up when I get a 2-box challenge come up when I run it. I’m trying to find a Win2k8 server with ADWeb services running on it …


    PS D:\scripts> .\GALScript.ps1
    DOMAIN1 Users –> DOMAIN2 Contacts

    DOMAIN2 Users –> DOMAIN1 Contacts
    ConvertTo-SecureString : Key not valid for use in specified state.
    At D:\scripts\GALScript.ps1:61 char:64
    + $password = get-content $sourcePWFile | convertto-securestring <<<<
    + CategoryInfo : InvalidArgument: (:) [ConvertTo-SecureString], CryptographicException
    + FullyQualifiedErrorId : ImportSecureString_InvalidArgument_CryptographicError,Microsoft.PowerShell.Commands.Conv

    New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process argument because the value of argument "pa
    ssword" is null. Change the value of argument "password" to a non-null value."
    At D:\scripts\GALScript.ps1:62 char:27
    + $sourceCred = New-Object <<<< -Typename System.Management.Automation.PSCredential -Argumentlist $sourceUser,$pa
    + CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

    Get-ADObject : Unable to contact the server. This may be because this server does not exist, it is currently down, or i
    t does not have the Active Directory Web Services running.
    At D:\scripts\GALScript.ps1:64 char:26
    + $colUsers = Get-ADObject <<<

  12. Carol | August 23, 2010 at 4:29 pm | Permalink

    You need to create the secure files as descibed in the comments at the top of the script, and also they must be secured with the account that you then run the script with. The idea is that you can store the password in a secure file rather than hardcoding it in the script.

    I suggest you create your cred file and then try and run some of the cmdlets manually using it – such as get-adobject. Once you can do that successfully with the cred file and with the account you mean to run the script with, then the script should work.

  13. Nigel Harvey | August 24, 2010 at 1:16 pm | Permalink

    You also need AD Web Services on a Win2k8R2 DC to target the ActiveDirectory module so this script only seems to work for two Windows 2008 R2 controlled domains.

    Any thoughts/comments?

  14. Nigel Harvey | August 24, 2010 at 1:20 pm | Permalink

    … and of course ‘import-module activedirectory’ needs to work 😉

  15. Nigel Harvey | August 24, 2010 at 1:29 pm | Permalink

    PS Storming work here by the way! Despite the fact I can’t get it to run, it’s the first time I’ve found anyone take on anything like this!! It would seem that despite Microsft lauding the programmability of AD/Exchange using Powershell that they don’t want us to use it for anything worthwhile. It remains the realm of die-hards and technical staff from other areas to even try and come up with a solution like this.

    Now to see if I can get to something similar in QAD Powershell for pre-2k8R2 bodies …

  16. Carol | August 24, 2010 at 2:06 pm | Permalink

    It’s possible. The two domains I’m running it against have Windows 2008r2 DCs in them. It doesn’t mention such a requirement in that Scripting Guys page I linked to, but of course that doesn’t mean it’s not there.

    You could probably re-write the script using the Quest AD cmdlets. Alternatively it is possible to create AD objects with powershell using ADSI – just not as neat as with this plugin.

    And thanks! :)

  17. Nigel Harvey | August 27, 2010 at 12:29 pm | Permalink

    Getting there slowly … QAD command set is a bit twisty and I had to filter using LDAP rather than OLAP so someone will have an opportunity to clean some things up.

    Most of the commands are transferring ok but I’m restricted to doing it in my lunchtime hance the phenominal speed (ha…)

    PS why use target address instead of mail when working with Contacts?

  18. Tom | September 23, 2010 at 5:23 am | Permalink

    Hello Guys,

    I have a situation where Forest 1: Windows 2008 SP2 w/Exchange 2010 and Forest 2:Windows 2003 R2 w/Exchange 2003. Cross forest migration. Ran into a problem with native tool support on GAL Sync and F/B. IIFP does not work and same goes to InterOrg. Decided to try this script. But unfortunately, it requires Windows 2008 R2 DC. With above problem, is there a chance that 3rd forest promoted and link with transitive forest trust and this script is executable?

  19. Carol | September 23, 2010 at 7:25 am | Permalink

    If you can’t get a 2008r2 DC into the 2003 forest (doesn’t require a functional level upgrade or anything) then the only thing I can suggest is re-writing the script so it uses the powershell v1 ADSI methods instead. They’re a bit more long winded but the result should be the same.

  20. Nigel Harvey | October 1, 2010 at 1:23 pm | Permalink

    Hi Tom/Carol … This shouldn’t need a 3rd forest as long as the (unfortunately re-written in Powershell) script can hit both domains using LDAP from the Windows 2008 SP2 end. MIISFP doesn’t work against W2k8 and FIM GalSynch process is chewy. Good luck.

  21. Ron | November 19, 2010 at 9:00 pm | Permalink

    Hi Carol. Awesome script! Thanks for sharing it!

    You don’t need Server 2008 R2 in both forests. You can download Active Directory Management Gateway Service for Server 2003 and 2008 from Microsoft ( Read the entire article because there are prerequisites and it may require a reboot.

    The script creates Active Directory contacts. If you want them to show up in the Global Address List and Offline Address Book, you need to mail enable the contacts. To do that I added this line after the New-ADObject command in the ADDS loop.

    Get-Contact $user.displayName | foreach {Enable-MailContact $_ -externalEmailAddress $_.windowsEmailAddress.toString()}

    Then I ran the script from the Exchange Management Shell. It worked perfectly between a Server 2003 forest and a Server 2008 R2 forest. The only thing I am not sure about yet is the updating part.

  22. Carol | November 20, 2010 at 7:16 am | Permalink

    Hi Ron – thanks that’s great! I’m glad it works with 2003 after all.

  23. Rob | December 13, 2010 at 9:30 pm | Permalink

    Has anyone tried this for use with Live@edu or outlook online?

    I am looking for an alternative to ILM 2007 or FIM for syncing on site AD with outlook online. I want it to create mailboxes and sync passwords.

  24. Arne Verstraete | March 3, 2011 at 2:40 pm | Permalink

    We have two forest that has an two way trust. In both forest the domain controllers are allwindows 2008 R2 servers. The syncs users -> contacts from domain1 to domain2 works. But when users want to send an email to the contact that they find in the GAL they get an error. Unable to relay. When i look into the contact details even with adsi edit everthing looks ok. Have this in two place’s a freshly setup test enviroment and our live “production” enviroment. Are there other people who has the same issue and what can i do against it. I want to make the contacts usable in outlook and not only viewable in “active directory users and computers”.

  25. Carol | March 3, 2011 at 7:06 pm | Permalink

    To start with make sure the contacts appear in the Exchange management console. If they do then the contacts are created correcty and you need to look to your Exchange settings.

  26. Arne Verstraete | March 4, 2011 at 6:48 am | Permalink

    they appear in the exchange management console. What settings can this be?

  27. Arne Verstraete | March 4, 2011 at 7:50 am | Permalink

    I get this failure message back when i send a test mail to an imported contact.

    Diagnostische gegevens voor beheerders:

    #550 5.1.1 RESOLVER.ADR.ExRecipNotFound; not found ##

    Oorspronkelijke berichtkoppen:

    Received: from ([]) by ([]) with mapi; Fri, 4 Mar 2011
    08:32:05 +0100
    Content-Type: application/ms-tnef; name=”winmail.dat”
    Content-Transfer-Encoding: binary
    From: Arne Verstraete
    To: ipmonitor
    Subject: test
    Thread-Topic: test
    Thread-Index: AcvaPj5da7PNA7qdTj2Gx7Q9hT/n8A==
    Date: Fri, 4 Mar 2011 08:32:03 +0100
    Accept-Language: nl-BE, en-US
    Content-Language: en-US
    MIME-Version: 1.0

  28. Carol | March 4, 2011 at 11:44 am | Permalink

    I suggest you create a contact manually through Exchange and see if you get the same problem. If it works then inspect both contacts (the one created manually and the one created with this script) using ADSIEdit to see what the differences are. It’s possible you may need to modify the script to either add some extra attributes, or to run an update-recipient after the contact creation. I haven’t found that necessary but I’ve only run this in one environment. The script is posted here as an example only and you need to adjust it for your own environment.

  29. Arne Verstraete | March 4, 2011 at 2:42 pm | Permalink

    When i create a contact through Exchange I do not have the same problem. But i will test with the update-recipient cmdlet. I keep you informed. Thanks for the help in advance

  30. Jon | March 8, 2011 at 10:02 pm | Permalink

    awesome script! Any reason why I couldn’t lose the credentials portion of this script so that they are not stored in a text file, but stored with the task service? I know there are a few things *cough* that need to be done to enable PS1 files to be ran from EMS as a scheduled task, but I am pretty sure that would work, no?

  31. Carol | March 9, 2011 at 6:34 am | Permalink

    I’m sure you could. The script only uses AD methods deliberately to try and simplify the permission side of things, though a couple of people have commented that they needed to run enable-mailcontact afterwards, which would need the exchange plugins as well as exchange recipient admin, so I guess it depends on the environment. All you can do is try!

  32. Guruprasad | March 10, 2011 at 8:47 am | Permalink

    what explicity exchange permisssion is required to run this script?

  33. Carol | March 10, 2011 at 9:29 am | Permalink

    The script as written requires no exchange admin permission because it is only creating AD objects. However some people have mentioned needing to run enable-mailcontact after the contact has been created. If you find you need to do this then you will also need to load the Exchange powershell snapin and the account will need Recipient Admin permissions.

  34. Arne Verstraete | March 10, 2011 at 1:01 pm | Permalink

    I solved my problem just added the two lines below in the ADDS loop just after New-ADObject

    Get-MailContact $User.displayname | foreach {Disable-Mailcontact $_ -Confirm:$false}
    Get-Contact $user.displayName | foreach {Enable-MailContact $_ -externalEmailAddress $_.windowsEmailAddress.toString()}

  35. Guruprasad | March 11, 2011 at 12:45 pm | Permalink

    Thank you Carol for clarification.

    I am trying to create contacts in my domain (target) of users who are residing from one particular OU only in the remote domain (source) How I can achieve this? Currently the script is creating contacts of all users from the source domain.

    Thanking you,

  36. Carol | March 11, 2011 at 1:07 pm | Permalink

    You need to modify the line that starts “$colUsers =Get-ADObject…” to add a -SearchBase to the Get-ADObject command. See for more info about Get-ADObject.

  37. Guruprasad | March 11, 2011 at 1:28 pm | Permalink

    Thanks Carol, but when i added -SearchBase as below
    $colUsers = Get-ADObject -Filter $strSelectUsers -SearchBase ‘OU=Test,DC=xyz,DC=com’ -Properties * -Server $sourceDC -Credential $sourceCred

    I am getting error as it is only works for and not

    please clarify.

    thanking you, guruprasad.

  38. Carol | March 11, 2011 at 1:43 pm | Permalink

    Then you need to modify the SyncContacts function so you can pass the searchbase as a parameter.

  39. Guruprasad | March 11, 2011 at 2:33 pm | Permalink

    Finally Carol I am running individual scripts respective to each domain.

    Thank you for all the replies and the great work.

    Allow me to get back to you in case if I require your help.

    Thanking you, Guru.

  40. Krishna | March 17, 2011 at 8:24 am | Permalink

    Hi Carol,

    As Guruprasad said the script will find the users in Domain A and create the contacts for the users in Domain B. We can modify the script and allow to find users in only one OU and create the contacts for users only in the OU. My question is I have a dynamic distribution list which contain some users as member. The script need to find all the dynamic distribution list members and create contacts only for those users. How to achieve this. If I directly went to EMC I am able to get all members using the below command.

    $group = Get-DynamicDistributionGroup –identity “AllStaff”

    Get-Recipient –RecipientPreviewFilter $group.RecipientFilter

    How to insert the above commands in script?


  41. Mark | March 23, 2011 at 2:59 pm | Permalink

    Great Script Carol!

    I’m working in test environment to find the best solution for our company merger and came accross your script.

    I have an Exchange 2010 server in each forest.

    FIM2010 had been attempted, but I didn’t get far with it before I found your script and decided to try it out.

    When I ran the GALSync script the contacts were created, but not mail enabled (As Ron stated.. Unfortunately I didn’t see his comments until today)

    I was able to substitue remote Exchange 2010 powershell commands to create mail enabled contacts and wanted to share my tweaks in case anyone was interested. These tweaks only modified the ADD functionality, leaving the DELETE and UPDATE sections alone.

    Added the following two variables to the Global Definitions section:

    I modified the PARAM line of the SyncContacts Function to add $targetURI:
    PARAM($sourceDC, $sourceUser, $sourcePWFile, $targetDC, $targetUser, $targetPWFile, $targetOU, $targetURI)

    The New-ADObject line was commented out in the ADDS line and the following thre lines were added:
    $SO=New-PSSessionOption -SkipCACheck -SkipCNCheck –SkipRevocationCheck –ProxyAccessType None

    $PSSession1=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $targetURI -Credential $targetCred -SessionOption $SO

    invoke-Command -Session $PSSession1 -ScriptBlock{param ($User,$targetOU,$targetaddress) New-MailContact -Name $User.displayname -OrganizationalUnit $targetOU -ExternalEmailAddress $targetAddress} -ArgumentList $User,$targetOU,$targetaddress

    In the MAIN section the SyncContacts lines were modified to add the $targetURI and $sourceURI parameter
    SyncContacts -sourceDC $DOMAIN_1 -sourceUser $USER_1 -sourcePWFile $PWFILE_1 -targetDC $DOMAIN_2 -targetUser $USER_2 -targetPWFile $PWFILE_2 -targetOU $OU_CONTACTS_2 $targetURI

    SyncContacts -sourceDC $DOMAIN_2 -sourceUser $USER_2 -sourcePWFile $PWFILE_2 -targetDC $DOMAIN_1 -targetUser $USER_1 -targetPWFile $PWFILE_1 -targetOU $OU_CONTACTS_1 $sourceURI

    I was also able to get Free/Busy shared between forests using the Microsoft “Configure the Availability Service for Cross-Forest Topologies” technote.

    Who Needs FIM 2010 :)

    Thanks Again Carol

  42. Carol | March 23, 2011 at 3:16 pm | Permalink

    Thanks very much for this Mark. I have merged the two comments you made so that the line you mentioned is correct in your orignial post. I will update the script in the post as soon as I get a chance to test your modifications. I was hoping to get away with not having to load the Exchange plugin and give the account Exchange permissions, but there you go, can’t have everything. Thanks again!

  43. Mark | March 23, 2011 at 5:42 pm | Permalink


    No problem.

    The Exchange module shouldn’t be required locally on the GALSync Server as the commands are run remotely on the Exchange server.

    In order to get the remote Exchange powershell to work I needed to run a couple Exchange Management Shell commands on the Exchange server in the remote forest. These commands will need to be run for the GALSync service account in each forest on the appropriate Exchange server.

    These commands give the GALSync service account in each forest the appropriate permissions

    To add the GALSync service account to the Recipient Management Role Group:
    add-rolegroupmember “Recipient Management” -member GALSync

    To grant the service account permission to use PowerShell remotely on the remote forest Exchange server:
    set-user -identity “GALSYNC” -RemotePowerShellEnabled $True



  44. Mark | March 23, 2011 at 5:59 pm | Permalink


    Windows Authentication also needs to be enabled and Anonymous Authentication needs to be disabled on the PowerShell virtual directory in IIS on the Exchange Servers.

    If you can combind this with the previous post that would be great

  45. Mark | March 24, 2011 at 2:28 pm | Permalink

    I was able to tweak the modified GALSync Script to create X500 addresess for the contacts to mitigate potential issues with replies to old emails. I also changed the ADD section to be more like Carol’s original with the Alias and disabling the automatic application of address policy on the contact.

    Here’s my current ADDS section:

    ### ADDS

    foreach ($user in $colAddContact)
    write-host “ADDING contact for ” $user.mail

    $targetAddress = “SMTP:” + $user.mail

    $X500Address = “X500:” + $user.LegacyExchangeDN

    $alias = “c-” + $user.mail.split(“@”)[0]

    $hashAttribs = @{‘targetAddress’ = $targetAddress}
    $hashAttribs.add(“mailNickname”, $alias)

    foreach ($attrib in $arrAttribs)
    if ($user.$attrib -ne $null) { $hashAttribs.add($attrib, $user.$attrib) }
    ### Original AD Contact Creation
    ### New-ADObject -name $user.displayName -type contact -Path $targetOU -Description $user.description -server $targetDC -credential $targetCred -OtherAttributes $hashAttribs

    # Create Remote PowerShell Session
    $SO=New-PSSessionOption -SkipCACheck -SkipCNCheck –SkipRevocationCheck –ProxyAccessType None
    $PSSession1=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $targetURI -Credential $targetCred -SessionOption $SO

    # Create Contact through the Remote PowerShell Session
    invoke-Command -Session $PSSession1 -ScriptBlock{param ($User,$alias,$targetOU,$targetaddress) New-MailContact -Name $User.displayname -Alias $alias -OrganizationalUnit $targetOU -ExternalEmailAddress $targetAddress -PrimarySmtpAddress $user.mail} -ArgumentList $User,$alias,$targetOU,$targetaddress

    # Add X500 Addressing
    $CurrentContact=invoke-Command -Session $PSSession1 -ScriptBlock{param ($User) Get-MailContact -identity $User.displayname} -ArgumentList $User
    $CurrentContact.EmailAddresses += $X500Address
    invoke-Command -Session $PSSession1 -ScriptBlock{param ($CurrentContact,$User) Set-MailContact -EmailAddresses $CurrentContact.EmailAddresses -identity $User.displayname} -ArgumentList $CurrentContact,$User

    # Close Remote PowerShell Session
    Remove-PSSession $PSSession1



  46. Guruprasad | April 6, 2011 at 12:42 pm | Permalink

    Hi Carol,

    The script is working just fantastic.

    When we enumerated 16000+ users it took 4 hours. Does the script behaviour remains same everytime it executes or it reads only delta changes and update the contacts which should reduce the executing time from 4 hours?

    If it does not update delta changes what is the work around.

    first time execution for 16000 user objects – took 4 hours
    second time only 100 existing user objects’ attributes changed – will it take 4 hours or less time?

    Rgds, Guruprasad.

  47. Carol | April 6, 2011 at 2:16 pm | Permalink

    Wow so many users! I haven’t run it on such large numbers myself. The script will check through every contact the next time but should only update it if there’s a change to be made. I don’t know what the time difference will be but maybe you could report back.

  48. Rick | April 11, 2011 at 11:31 pm | Permalink

    I’m having a tricky time creating the secure files..

    running “read-host -assecurestring | convertfrom-securestring | out-file C:\scripts\filename.txt”

    gets me this:

    ConvertFrom-SecureString : Cannot process argument because the value of argument “SecureString” is invalid. Change the value of the “SecureString” argument and run the operation again.
    At line:1 char:53
    + read-host -assecurestring | convertfrom-securestring <<<< | out-file C:\scripts\filename.txt
    + CategoryInfo : InvalidArgument: (:) [ConvertFrom-SecureString], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.ConvertFr omSecureStringCommand

    Any assistance?

  49. Rick | April 12, 2011 at 1:02 am | Permalink

    Now I’ve got

    Get-ADObject : Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.
    At C:\ittools\GALSYNC.PS1:79 char:26
    + $colUsers = Get-ADObject <<<< -Filter $strSelectUsers -Properties * -Server $sourceDC -Credential $sourceCred
    + CategoryInfo : ResourceUnavailable: (:) [Get-ADObject], ADServe rDownException
    + FullyQualifiedErrorId : Unable to contact the server. This may be becaus e this server does not exist, it is currently down, or it does not have th e Active Directory Web Services running.,Microsoft.ActiveDirectory.Management.Commands.GetADObject

    No users found in source domain!

    But there is that service there.. Any clues?

  50. Carol | April 12, 2011 at 5:29 am | Permalink

    Make sure that you have everything working on the powershell side before trying to run the script. Run a powershell session as the user you will use to run the script, import the module (import-module ActiveDirectory), and then make sure you can run Get-ADObject correctly. Note also that the script uses the domain name to find a DC so DNS has to be working properly.

  51. Rick | April 13, 2011 at 12:45 am | Permalink

    Ah, it turned out it was using a 2008 GC for DNS that wasn’t updated with the relevant patches.

    Now that it is, I’m getting a different error. I’m assuming the “No contact found for” is normal.

    ….. (many more above)
    No contact found for
    No contact found for

    Updating using DC
    ADDING contact for
    New-ADObject : Directory object not found
    At C:\ittools\GALSYNC.PS1:155 char:15
    + New-ADObject <<<< -name $user.displayName -type contact -Path $targetOU -Description $user.description -server $targetDC -credential $targetCred -OtherAttributes $hashAttribs
    + CategoryInfo : ObjectNotFound: (cn=Glenn Opray,…C=apisec,DC=com:String) [New-ADObject], ADIdentityNotFoundException
    + FullyQualifiedErrorId : Directory object not found,Microsoft.ActiveDirectory.Management.Commands.NewADObject

    New-PSSession : Cannot validate argument on parameter 'ConnectionUri'. The argument is null or empty. Supply an argument that is not null or empty and then try the command again.
    At C:\ittools\GALSYNC.PS1:168 char:111
    + if ($PSSession -eq $null) {$PSSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri <<<< $targetURI -Credential $targetCred -SessionOption $SO}
    + CategoryInfo : InvalidData: (:) [New-PSSession], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.NewPSSessionCommand

    Invoke-Command : Cannot validate argument on parameter 'Session'. The argument is null or empty. Supply an argument that is not null or empty and then try the command again.
    At C:\ittools\GALSYNC.PS1:169 char:28
    + Invoke-Command -Session <<<< $PSSession -ScriptBlock{param ($alias,$targetDC) Update-Recipient -Identity $alias -DomainController $targetDC} -ArgumentList $alias,$targetDC
    + CategoryInfo : InvalidData: (:) [Invoke-Command], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.InvokeCommandCommand is Domain_1 is Domain_2

  52. Carol | April 13, 2011 at 5:05 am | Permalink

    It’s probably just that something doesn’t have a value. There isn’t a whole lot of error checking in this script. Try opening it in PowerGUI so you can run one line at a time and check variable values.

  53. Ronnie | April 21, 2011 at 1:07 pm | Permalink

    Whats missing in the V2 script is something to set the $URI_2 variable.

  54. Carol | April 23, 2011 at 1:58 pm | Permalink

    I’ve added the extra declarations. Thanks

  55. cy | May 31, 2011 at 11:26 am | Permalink

    Hi Carol, great script. I got it working between a W2k8DC/E2k7 and a W2k8R2DC/E2010 forest. But I have one little problem.

    Say I already have a contact in E2010, Ext in OU1. A mailbox in E2k7 has smtp address When I run the script and specify the destination OU as OU2, it will create a contact with the same external smtp address.
    If I were to manually create 2 contacts with the same ext email address using EMS, it will fail.
    How can I have the contact creation fail using your script if the same Ext smtp address was detected?

  56. Carol | May 31, 2011 at 11:41 am | Permalink

    The script assumes all contacts are in the OU you specified at the top, and is therefore both searching and provisioning to the same OU. Your options are to put all your contacts from the other forest in that OU (including pre-existing ones), or to rewrite the “Enumerate Contacts” part of the script so it uses a different OU as the search root – eg., the root of the domain. Be careful though – you may also need to modify the “Find Contacts to Delete” section so it doesn’t delete contacts you still wanted.

  57. cy | June 1, 2011 at 3:30 am | Permalink

    Thanks for the reply, I will try that out.
    BTW, why are you appending c- to the alias of the imported contacts?


  58. Carol | June 1, 2011 at 5:09 am | Permalink

    Prefixing, not appending. And I explained that up the top.

  59. Sandy | June 25, 2011 at 5:16 pm | Permalink

    Hi Carol,

    I found very interesting this script.I am new to this. In the video bat is running intead of ps1.Can you please explain me?..

    Also which is the write script to enble the contacts in source domain ie- version1 or version2

  60. Sandy | June 25, 2011 at 5:17 pm | Permalink

    Also which is the right script to enble the contacts in source domain ie- version1 or version2

  61. Carol | June 25, 2011 at 8:49 pm | Permalink

    Version 2 is your best bet for Exch 2007/2010.

  62. Sandy | June 26, 2011 at 4:09 pm | Permalink

    Thanks Carol.Is it possible to get Galsync-curuIT-v3_bat.txt? I am unable to see the files in the mentioned link.

  63. Sandy | June 26, 2011 at 4:26 pm | Permalink

    Sorry for the confusion.. I have got the links from the following site (Gal sync video)

  64. Carol | June 26, 2011 at 5:30 pm | Permalink

    This has nothing to do with my script.

  65. Rick | July 20, 2011 at 12:00 am | Permalink

    Thanks so much for this script, it’s been working like a charm ever since I found it back in April.
    One question, how difficult would it be to adapt it to transfer across mail enabled distribution groups?

  66. Carol | July 20, 2011 at 2:58 am | Permalink

    It shouldn’t be hard. You could try changing the definition for $strSelectUsers so it selects the DLs as well. If that doesn’t work then just define $strSelectDLs with the appropriate lookup string, and loop through again. And if you do post your modified script somewhere be sure to send me the link :-)

  67. Peter | February 7, 2012 at 8:24 am | Permalink

    Just an FYI: in Google Chrome you can only see the comments, not the actual blog article. Thought you’d want to know this.

  68. Scott Hahn | February 13, 2012 at 8:35 pm | Permalink

    I am working on a project that is 3 way

    Before I go too far I want to make sure this script definitely supports Exchange 2003 as both a source and a target?


  69. Mark D | February 17, 2012 at 2:15 am | Permalink

    I’m having problems with the DNS part,

    I can seem to be able to GET-ADDOMAINCONTROLLER from DOMAIN A to DOMAIN B, i tried adding a new zone namely DOMAIN B. but to no avail.

    i can surely ping DOMAIN A to DOMAIN B and vice versa.

    Get-ADDomainController : The specified domain either does not exist or could not be contacted
    At C:\scripts\galsync.ps1:70 char:39
    + $objSourceDC = Get-ADDomainController <<<< -Discover -DomainName $sourceDomain
    + CategoryInfo : ObjectNotFound: (:) [Get-ADDomainController], ADException
    + FullyQualifiedErrorId : GetADDomainController:BeginProcessingOverride:DiscoverDC:1355,Microsoft.ActiveDirectory.

  70. Carol | February 17, 2012 at 2:27 am | Permalink

    You could hard code your domain names. Note I don’t give technical support on these scripts – they’re presented as-is (and FREE) and you will probably need to modify for your environment.

  71. Mark D | February 17, 2012 at 2:30 am | Permalink

    got it.. I really appreciate the code,. thank you! :)

  72. Mitch B | March 1, 2012 at 3:04 am | Permalink


    I want to try to create mailbox instead of contacts. I try to change some of the code to find for existing user instead of contact and changing the -type to “mailbox”. But I cannot get it to work. I am fairly new to powershell scripting and am just experimenting.

    Any suggestions?

  73. John | March 2, 2012 at 7:05 am | Permalink

    Can this work with Exchange 2003 -> 2010?

  74. Rob | May 29, 2012 at 3:53 pm | Permalink

    Will this script (creating the mail enabled contacts in both forests) enable me (in forest A) to see free busy info for those users that are in the remote forest (Forest B). Or does this simply put an entry in the GAL for the users in the remote forest by creating a “dot forward”? thanks

  75. Carol | May 29, 2012 at 10:02 pm | Permalink

    That’s right it’s a GAL sync not a free-busy sync.

  76. Pavel | June 27, 2012 at 3:24 pm | Permalink

    Hi, I got the following error, help to cope with it

    Both controllers domera running Windows Server 2008 r2

    PS C:\Scripts> C:\Scripts\GalSync.ps1
    You must provide a value expression on the right-hand side of the ‘-‘ operator.
    At C:\Scripts\GalSync.ps1:89 char:14
    + $targetCred – <<<< Properties targetAddress
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpectedValueExpression

  77. Pavel | June 27, 2012 at 4:13 pm | Permalink

    *domera = domain

  78. Bill Z | August 1, 2012 at 1:19 pm | Permalink

    Any thoughts on enabling this to do the same for Linked Accounts in an Account forest? My environment has a mixture of user accounts in an Exchange Resource Forest and linked accounts from a trusted forest.


buy maxalt 5 mg online canada premarin discount can you buy zovirax over the counter in australia buy amoxil premarin 1.25 reviews can i buy premarin in canada dapoxetine original buy buy inderal australia where can i buy ampicillin doxycycline hydrochloride buy buy amoxicillin 500mg canada maxalt 5 mg overnight without prescription finasteride 1 mg without rx no prescription cytotec 200 mcg requip 1 mg purchase cheap generic cytotec 200 mcg no prescription prednisone 20 mg online purchase cytotec 200 mcg online cheap online pharmacy for maxalt 5 mg i need to order premarin 0.625 mg without a prescription buy lisinopril 5 mg online with no prescription where can i get premarin 0.625 mg without a prescription buy prednisone 20 mg online made in america buy finpecia 1 mg without a prescription in the united states premarin 0.625 mg available canada buy lisinopril 5 mg no prescription ordering seroquel 200 100 50 300 mg online ordering prednisone 20 mg online without a precription requip 1 mg sale no prescription do you need a prescription for cytotec 200 mcg in mexico requip 1 mg online purchase online pharmacy no prescription premarin 0.625 mg getting maxalt 5 mg without doctor seroquel 200 100 50 300 mg no prescription revia no prescription buy erythromycin tablets online how much does premarin cream cost buy cheap dapoxetine can i buy doxycycline online uk can i get lisinopril 5 mg without a prescription? purchase generic finasteride 1 mg online pay finasteride 1 mg buy finpecia 1 mg over the counter prednisone buy cheap arimidex online buy saturday delivery buy generic cytotec online no prescription quick delivery where can i get orlistat purchase generic finpecia maxalt online perscription online arimidex purchase buy maxalt no r x cheap finasteride online buy saturday delivery buy premarin without a prescription overnight delivery how to get a to prescript maxalt comprare arimidex generico buy metformin with a visa order rx free arimidex ordering orlistat online buy finasteride amex online without rx indian lisinopril 5 mg maxalt 5 mg no perscription required fincar buy online without rx maxalt without persription where to buy cytotec in manila ph accord arimidex trt buy cytotec in cebu order maxalt no prescription best trustedtabs order cytotec online how to get finasteride cheaper requip uk sales purchase amoxil maxalt fedex without a perscription where to buy prednisolone eye drops finpecia tabletten cheap finasteride metformin no prescription to buy where we can buy cytotec in dubai order maxalt no visa best lisinopril no prescription canada buy generic metformin orlistat froom china atarax 50 mg where to buy cytotec in manila 2013 prednisone purchase canada ic lisinopril orlistat 60 for sale premarin 0.625mg benicar 5mg without prescription orlistat no prescription nice beauty buy abortion pills misoprostol cytotec buy dapoxetine forum buy avodart cheap where can i buy zovirax tablets order doxycycline uk can i buy erythromycin over the counter uk buy dapoxetine in the uk can you buy ventolin in italy pedir cita previa itv online extremadura buy generic neurontin online do i need a prescription to buy zoloft buy celebrex 200 mg online buy fluoxetine for cats premarin buy online uk order finasteride cash on delivery best arimidex online pill arimidex without doctor prescription order buy arimidex online cheapest place to buy requip buy seroquel online no prescription buying finasteride over the counter wholesale arimidex cheap buy finpecia canada purchase cheap requip buy lisinopril visa arimidex free consultation fedex overnight delivery uk buy arimidex seroquel purchased online without prescription buy prednisone cheap without perscription where to buy seroquel how to buy orlistat without a prescription buy metformin doctor prescription prescription metformin buy metformin online with a debit card where to buy metformin without a prescription prescription requip seroquel bestellen where to buy maxalt no prescription no fees buy arimidex without a perscription purchasing cytotec buying seroquel online requip buy online maxalt without prescription mexico buy seroquel from india buy maxalt online no membership uk order requip buying orlistat online buy premarin uk buy finpecia online canada prednisone purchase without prescription finpecia online 1mg requip bestellen orlistat online cheap metformin rezept canada finasteride no prescription buy arimidex shipped cod how to order prednisone finasteride shipped c.o.d. no script finasteride finpecia generic online buy seroquel on line without a rx metformin capsule purchase maxalt paypal without prescription canadian prescriptions finasteride cheap finasteride by money order xenical buy online premarin buying cytotec with no rx buy finasteride online without prescription purchase maxalt without prescription arimidex espana maxalt no rx foreign purchase premarin without a prescription overnight shipping buy propecia with mastercard order strattera online cheapest place to buy femara where to buy nolvadex and clomid uk buy propecia in ireland where can i buy prednisolone for dogs in uk zovirax 5 cream buy online buy propecia canada pharmacy cheap diflucan online can i buy doxycycline over the counter in thailand where can i purchase bactrim average cost of arimidex maxalto online shop pedir cita previa itv coslada online where to buy arimidex in canada acheter cytotec online what does seroquel do for bipolar disorder weaning off seroquel side effects where i can buy cytotec in dubai cuanto sale la pastilla cytotec en chile buy finasteride india how much does cytotec cost sale cytotec seroquel generic review finpecia generic finasteride online shop viacom orlistat diet pill seroquel off label usage price finasteride uk metformin for sale can you buy finasteride at boots where to purchase orlistat finasteride sans prescription seroquel reviews anxiety price of requip price of maxalt mlt 10 mg generic finasteride cost reviews of requip how to get metformin do you need a prescription for arimidex finasteride without prescription australia taking arimidex off cycle can you get high off premarin buy prednisone australia seroquel reviews insomnia how much maxalt to get high where to buy orlistat online where can i buy finasteride where to buy seroquel xr seroquel cheap online canadanizoral cytotec price in philippines seroquel get you high requip xl price comparison metformin xr 500mg price in india finasteride no prescription uk trusted finpecia seller buy revia online uk where can i buy cytotec in bahrain finpecia online maxalt without a perscription canadian bactrim 400 80 mg buy maxalt without a perscription to ship overnight orlistat diet pill mexico maxalt cod online orders buy xenical orlistat generic maxalt buy 10 mg buy mail order metformin augmentin 875 125 mg dosage cost of bactrim without insurance best maxalt online pill orlistat precio maxalt 10 mg online buy cytotec online usa buy rx maxalt without buy pfizer cytotec online baclofen mglur maxalt mastercard order orlistat otc canadian pharmacy where to buy bactrim antibiotic buy orlistat no prescription where we can buy cytotec in dubai bactrim roche buy bactrim online no prescription augmentin 500 mg price cheap version of propecia gsk augmentin online 500 mg motrin buy cod metformin premarin generic equivalent where to buy prednisone steroid going off requip buy prednisone mexico where can i buy cytotec in johannesburg orlistat usa viagra tablet in saudi arabia calis cialis most reliable generic viagra buy requip 1 mg how to buy premarin without a prescription buying orlistat online online overnight shipping maxalt where to buy generic maxalt online without a prescription purchase cheap prescription premarin cytotec buy cheap comprar arimidex generico buy cheap lisinopril line where can i buy lisinopril online without a prescription cytotec order on line buy arimidex pills in toronto orlistat ordering premarin pharmacy buy premarin without a rx where can i buy prednisone without a perscription? buy metformin and metformin buy cytotec cavite area lisinopril 10 mg tablet atarax where to buy cytotec in metro manila buy prednisone premarin mgs 75 mg seroquel xr benicar hct 20 mg metformin without prescription maxalt no physician approval buy maxalt amex online without prescription lisinopril hctz 12.5 no persription where can i order finasteride seroquel 900 mg buy finpecia buy cheapest metforminbuy no prior prescription metformin no rx compazine fincar from mexico buy compazine in the uk order lioresal without a prescription from us buy robaxin without a prescription order proscar overnight cheap buy proscar no r x cheap order lioresal without a rx overnight shipping buy fluconazole fed ex price of diflucan buy prednisone without a rx overnight shipping how to buy maxalt online without a prescription buy cheap fedex proscar generic baclofen cost buy finasteride 1mg no rx cod priligy buy cytotec online with no prescription order fluconazole usa buy prednisone online prescription robaxin fedex buy discount glucophage maxalt no physicisn consult order prednisone for cash on delivery online overnight shipping robaxin generic lioresal fedex buy diflucan online with a debit card order diflucan without a prescription pay cytotec prednisone fast delivery no doctors cheap purchase proscar buy lioresal amex online without prescription prednisone on line no prescription where to buy baclofen online maxalt with free fedex overnight order prednisone no visa buy robaxin no r x cheap is it legal to buy cytotec online purchase priligy cod delivery buy antabuse generic maxalt no prescription buy requip on line without a rx buying maxalt without a prescription buy metformin 850 mg uk where to buy cheap finasteride seroquel 800 mg where i can buy cytotec online seroquel mg size buy cytotec hong kong a doctors order is .125g of ampicillin where to purchase cheap requip no rx where can i buy maxalt online where to buy cytotec in cebu buy prednisolone 5mg tablets buy prednisone mastercard where to buy cytotec in dumaguete cheap lisinopril hctz cheap cytotec uk maxalt fedex shipping maxalt online no rx overnight buy prednisone for my dog buy prednisolone australia orlistat diet pills buy bactrim for dogs cheapest place to buy requip purchase maxalt over the counter cod overnight seroquel 200 mg dosage purchase rx maxalt without where can you buy cytotec in the philippines where can i buy metformin over the counter purchase ampicillin online buy maxalt cod next day delivery buy finpecia tablets in usa buy arimidex where can you buy cytotec in south africa purchase cheap prescription maxalt seroquel xr 150 mg purchase cheap requip ebay orlistat metformin cheap price is estrace cheaper than premarin buy finasteride tablets uk premarin 0.3 reviews nizoral cream hair loss study how do i get a prescription for finasteride price of arimidex in india finasteride 5mg buy finpecia cipla does seroquel xr get you high cita previa online medico cabecera madrid premarin sales 2011 cytotec for sale how much does arimidex cost in ireland cipla finpecia finasteride hair loss treatment reviews where to buy finasteride in canada finasteride how much does it cost uk buy seroquel xr canada buy deltasone prednisone where to buy prednisolone online get prednisone without prescription buy apo prednisone buy prednisone 5 mg online where can i buy prednisone without a prescription buy prednisone for ferrets prednisone order online prednisolone acetate buy online where can i buy prednisolone for my dog indian prednisone prednisone online no prescription 20 mg purchase prednisone online prednisone online purchase prednisone 10mg buy online where to buy prednisone 5mg buy prednisolone 5mg for dogs in uk buy prednisone online with no perscription buy prednisone over the counter prednisolone purchase uk buy online prednisone 40 mg generic prednisone online no prescription where to order prednisone prednisone 40mg purchase prednisolone tablets prednisone prescription cost prednisone no script can you buy prednisone over the counter in canada weaning off anafranil premarin pharmacy coupon nizoral shampoo singapore prescription assistance for premarin buy premarin cream online without prescription cost of finasteride per month where to buy original cytotec in quiapo how to get premarin metformin price weaning off requip selling cytotec cebu getting off seroquel safely how to wean off tenormin seroquel alternatives bipolar disorder buy finasteride online australia buy finasteride france finasteride cost in australia order doxycycline canada buy nolvadex online how to order lisinopril purchase doxycycline online uk buy cheap valtrex order phenergan with codeine syrup purchase robaxin online buy erythromycin 250mg buy lisinopril online order prednisone online canada is it safe to order propecia online order synthroid canada buy valtrex cheap buy erythromycin online australia can i buy cytotec over the counter in the philippines arimidex mexico buy online premarin without rx buy no online rx valacyclovir purchase premarin without a rx online online pharmacy premarin where can i buy prednisone cheap orlistat no prescription purchase arimidex amex online without rx buy arimidex on line cheap premarin by money order requip online prescription arimidex cheap mexican purchase synthroid no visa without prescription where can i buy requip synthroid overnight no consult buy finasteride without buy cheap metformin with dr. prescription buy prednisone without a percsription buy cheap seroquel online buy metformin in the uk order cheap overnight finasteride premarin delivered overnight synthroid no dr synthroid without a prescription or membership buy premarin where order buy requip online premarin mexico buy finpecia online paypal buy seroquel money buy premarin buy fedex c.o.d synthroid no prescription cytotec canada cytotec fincar overnight without prescription purchase lioresal without a rx online 200 mg cytotec order cheap fluconazole online where buy fluconazole buy maxalt daily use purchase prednisone pay pal online without rx purchase lioresal without prescription pay cod best buy antabuse buy brand fluconazole buy fincar online with no perscription purchase generic diflucan online proscar xr online glucophage espana canadian pharmacy seroquel 200 100 50 300 mg finpecia fast delivery overnight generic fincar canada india cytotec 200 mcg cytotec 200 mcg online without a prescription order requip 1 mg no prescription generic lisinopril 5 mg online no prescription generic compazine usa buy celebrex no prescription low cost order fluconazole order prednisone order antabuse without a prescription online prednisone where can i buy cytotec without a perscription? where can i get fincar robaxin mastercard order order proscar online no membership overnight shipping order priligy usa cod next day delivery prednisone with no script cheap maxalt by money order prednisone 20 mg online sale without prescription generic seroquel 200 100 50 300 mg canada buy orlistat 120 mg australia ordering maxalt 5 mg online canadian pharmacy metformin 500 mg seroquel 200 100 50 300 mg overnight delivery buy generic lioresal online purchase priligy without prescription from us pharmacy where can i buy erythromycin cream buy propecia online pharmacy can you buy diflucan over the counter in canada best place to buy celebrex buy propecia at walmart buy atarax australia can you buy metformin over the counter in dubai buy metformin xr online where can i buy cytotec here in cebu where to buy propecia in canada buy prednisone in the uk where can i buy doxycycline in the uk buy finasteride online japan buy finasteride toronto seroquel 800 mg buy bactrim no script maxalt where to buy metformin tablets where to buy metformin 500 mg premarin 0.625 mg finasteride msd order where do you buy finasteride requip purchased online without prescription seroquel 300 mg street value prednisolone for dogs buy online uk ampicillin without prescrition online cialis 40 mg purchase duree des effets du viagra periactin weight gain pills online valtrex no prescription how much does singulair cost allegra 120 mg is for what nexium buy finasteride chemist warehouse where can i buy metformin from buy prednisone for cats purchase metformin online how to get a prescription for finasteride online cost of requip cuanto sale el cytotec en chile where can you buy cytotec in the philippines getting off seroquel and losing weight how to buy anafranil buy finasteride europe arimidex for sale uk will arimidex get rid of my gyno effectiveness of seroquel for bipolar disorder finasteride retail price where can i buy tenormin buy metformin sr buy cheap premarin cream requip online pharmacy orlistat online cheapest seroquel xr 300 mg buy metformin nz buy prednisone without cheap lisinopril 40 mg requip suppliers seroquel 400 mgs finasteride cheap price where can i buy atarax buy amoxicillin for dogs acheter orlistat orlistat capsules maxalt online without prescription buy metformin online canada where to buy prednisolone in uk how to order fincar online without a prescription buy prednisone 20mg tablets buy finpecia canada order maxalt pay pal online without rx online pharmacy fincar purchase finasteride disgrasil orlistat 120 mg seroquel medication mail order buy real finasteride generic orlistat 120mg order metformin xr weight loss buy prednisone online now lisinopril for sale seroquel xr testimonials anafranil patient reviews buy finasteride nz cytotec en cvs pharmacy orlistat no prescription usa finasteride discount com finasteride international shipping canadian cheap anafranil asda pharmacy finasteride price of metformin in philippines i want to buy arimidex guardian pharmacy singapore finasteride finpecia 1 mg generic online orlistat 120 mg cheap online cytotec 200 mcg buy online without rx buy lisinopril 5 mg without a prescription in the united states lisinopril 5 mg ordered without a perscription mail order cytotec 200 mcg buy seroquel 200 100 50 300 mg no prescription orlistat 120 mg buy no prescription premarin 0.625 mg online no prescription mail order maxalt 5 mg premarin 0.625 mg in canada seroquel 200 100 50 300 mg no prescription with mastercard 120 mg maxalt seroquel 200 100 50 300 mg generic buy generic cytotec 200 mcg online no prescription real cytotec 200 mcg without prescription can you buy doxycycline at walmart buy zovirax cream uk buy nolvadex research buy real propecia online cheap fluoxetine buy doxycycline in india where to buy nolvadex for pct cheapest pharmacy for propecia cheapest price for lexapro buy zovirax pills online buy femara online india where to buy diflucan in uk where can i buy erythromycin eye ointment can you buy ventolin over the counter in the usa help with cost of premarin finasteride price bangkok cytotec costo en farmacias mexico premarin cream price can i get finasteride over the counter cost of premarin vs. estrace maxalt purchase buy finasteride pharmacy proscar vs finasteride price finasteride propak cost can you order finasteride online finasteride get worse before it gets better where to buy lisinopril best place to buy prednisone where can i buy prednisone online can you buy prednisone over the counter in canada where to buy prednisolone 5mg for dogs buy generic prednisone buy prednisone 10mg can i buy prednisone online in uk where to buy prednisolone 5mg where can i buy prednisolone online buy prednisone online cheap buy prednisone how to buy prednisone buy prednisone uk can you buy prednisone in spain buy prednisone overnight delivery order prednisolone for dogs is it safe to order prednisone online can you buy prednisone over the counter for dogs buy cheap prednisone faut il une ordonnance pour le viagra priligy taiwan canadian pharma companies lipitor generic viagra livraison rapide cialis or generic credit card can women take cialis or viagra buy arimidex online canada buying cialis in malaysia hair loss propecia from canada cialis without prescription prednisone generic comment acheter viagra en pharmacie viagra soft tabs review where can i buy cytotec in lucky plaza buy prednisone australia where do i buy nolvadex buy motilium boots buy diflucan online india buy cytotec in malaysia can you buy fluoxetine online can you buy diflucan over the counter buy doxycycline for pets buy generic propranolol online buy lexapro in thailand purchase bactrim revia online kopen where to buy cytotec in oman cheapest pharmacy to buy finasteride where to buy finasteride uk forum buy xenical orlistat canada canada orlistat otc order maxalt without prescription to ship overnight orlistat froom china purchasing maxalt without a script buy orlistat order maxalt pharmacy buy lisinopril 30 no prescription buy orlistat 120mg online how to find orlistat 120 mg 93551 zip cheap maxalt no rx metformin online prescription where to buy original cytotec in manila buy phenergan usa how can i buy synthroid dapoxetine for cheap maxalt with free fedex overnight metformin rezept purchase requip el lisinopril generico online pharmacy no prescription prednisone purchase cheap arimidex online cytotec with no rx buy requip uk buy lisinopril now how to buy finasteride online without a prescription no prescription metformin finasteride without a prescription cytotec purchase canada arimidex cod next day delivery buy cheap fedex maxalt overnight no prescription prednisone where can i order prednisone online getting premarin 0.625 mg without doctor cytotec 200 mcg buy online without rx buy real orlistat 120 mg buy generic premarin 0.625 mg no prescription generic requip 1 mg no prescription non prescription fincar generic prednisone 20 mg without a precsriptions where to purchase finasteride 1 mg oral cheap premarin 0.625 mg no script order finasteride 1 mg online consultation fincar without prescriptions getting fincar without doctor order seroquel 200 100 50 300 mg mastercard cipla finpecia where can i buy erythromycin tablets buy antabuse uk where to buy erythromycin benzoyl peroxide topical gel where can i buy ventolin inhaler buy doxycycline tesco buy zoloft online usa purchase neurontin erythromycin ointment order purchase inderal order zovirax cream online order amoxil buy ventolin tablets online buy doxycycline capsules buy inderal tablets avodart cost to purchase is acyclovir cheaper than valtrex online purchase of dapoxetine pharmacy no prescription seroquel maxalt no doctors consult buy valtrex at walmart cheapest fincar purchase orlistat pills order ampicillin buy finasteride safely online buy maxalt online pharmacy buy amoxicillin antibiotics online uk how to buy propranolol cheap finasteride forum requip precio get fincar without prescription buy stromectol europe buy cytotec in usa online order misoprostol cytotec where can i buy prednisone buy xenical orlistat orlistat mg buy orlistat usa no prescription donde puedo comprar redustat orlistat orlistat sky pharmacy orlistat 60 xenical orlistat 120 mg orlistat 60 mg canada generic orlistat 120mg buy orlistat buy orlistat online uk vasdecom orlistat orlistat in colorado co doctor purchase orlistat how to find orlistat 120 mg 93551 zip orlistat xenical 120 mg buy finasteride online no prescription where to buy metformin by cod maxalt online no prescription overnight buying orlistat with no rx buy finasteride online without a script next day delivery on lisinopril saturday want to buy arimidex in malaysia maxalt no prior script online pharmacies no prescription maxalt cytotec purchase without perscripotion finpecia costco pharmacy el arimidex generico finasteride without a prescription buy cheap lisinopril finasteride without a persription how to buy cytotec online orlistat supplies buy prednisone dogs purchase requip online without rx buy prednisolone eye drops online buy maxalt online consultation us buy requip american express buy valtrex online europe orlistat tablets uk seroquel 900 mg buy amoxicillin online for humans order proscar europe where can i buy real finasteride online what stores sell finasteride order lisinopril no prescription where to buy cytotec in singapore finasteride discount can you get finasteride from walk in clinic cytotec canada pharmacy order metformin 1 gm every am. available metformin 500 mg tablets buy orlistat diet pills buy prednisolone for dogs uk arimidex get buy arimidex online no prescription how to order finasteride online finasteride online india where to buy orlistat finasteride cost comparison costo del cytotec en ecuador buy premarin online uk can you buy phenergan online buy erythromycin buy celebrex acyclovir cream buy online uk buy antabuse online safely buy acyclovir 800 mg cita previa online seguridad social tenerife erythromycin cheap online how much does premarin cream cost can i purchase doxycycline over the counter finasteride pharmacy seroquel xr discount coupon finasteride pro pak cost cost arimidex generic finasteride sale cochrane review cytotec scared to try finasteride finasteride private prescription cost reviews on seroquel finasteride offer finasteride private prescription buy cytotec per pill buy generic seroquel coming off seroquel for sleep premarin patch cost maxalto store miami off label uses of revia metformin price ireland how do i taper off seroquel lisinopril 20 mg tablet photo cheap seroquel xr venda sale buy mifepristone cytotec ru486 misoprostol) finasteride side effects reviews where can i buy finasteride in canada buy finpecia usa how to order cytotec order misoprostol cytotec finasteride buy us where to buy finasteride online uk maxalto store miami finasteride cheap what happens when you go off arimidex cytotec online uk best price seroquel xr review of seroquel xr buy merck finasteride price cytotec philippines how much is a prescription of maxalt seroquel price usa purchase anafranil online how to store seroquel maxalt mlts online price for metformin how much does finasteride cost per month cost of finasteride at boots how much does seroquel xr cost without insurance lisinopril buy online buy prednisone cream generic orlistat 120mg generic metformin usa purchase maxalt online with overnight delivery purchase metformin amex online without prescription requip prescription information buy cheap metformin free fedex orlistat 60 buy prednisone 10mg finasteride cheap with prescription lisinopril usa seroquel xr 300 mg where can i buy finasteride in the us lisinopril 2.5 mg tablets generic orlistat 60 mg lisinopril hctz benicar 40 mg tablet maxalt online doctors where to buy generic premarin online without a rx orlistat 120mg buy discount metformin online premarin tabletten finasteride online doctors buy finasteride pill buy finasteride no visa online without rx buy prednisone without a prescription in the united states no prescription finasteride with fedex where to purchase cytotec oral cheap order no prescription premarin arimidex for sale purchase cheap premarin cod free fedex canadian pharmacy prednisone prednisone premarin delivered overnight arimidex pills for sale cytotec abortion cost where can you purchase finasteride cytotec for sale without prescription do i need a prescription for cytotec maxalt discount coupons finasteride purchase canada cheap finasteride online canada do you need a prescription for premarin where i can buy cytotec in dubai finpecia fast delivery overnight effective cytotec for sale premarin 0.3 mg buy can you buy prednisone in mexico cost of arimidex generic lisinopril price without insurance metformin order where to buy cytotec in pampanga is it safe to buy diflucan online buy nolvadex mastercard purchase proscar online where can i buy accutane from where to buy lasix for horses i want to buy aciclovir buy doxycycline vietnam buy prednisolone tablets 5mg can you buy propecia in the uk buy prednisone steroids buy cheap accutane online how to buy cytotec in cebu buy brand proscar buy nolvadex us cialis ankara meclizine 12.5 mg tab cialis price thailand legitimate sublingual viagra viagra in delhi levaquin sale where to order ampicillin phenergan without persc buying viagra online uk how do i get seroquel price for maxalt-mlt price of generic seroquel buy finasteride with paypal cost of finasteride at costco cytotec apteka online is it safe to buy generic finasteride online tenormin patient reviews canadian pharmacy orlistat ordering finasteride online atorvastatin 10mg generic lipitor can you really order cialis online 149 viagra a vendre cialis chile buy metformin online cytotec online australia cytotec costo peru astrazeneca seroquel discount lisinopril no prescription canada lisinopril 15 mg cita previa online seguridad social mostoles premarin cost comparison how do i order finasteride maxalt 5 mg oral tablet no prescription discount where can i buy some prednisone 20 mg online only using cash or money orders canadian pharmacy metformin 500 mg getting premarin 0.625 mg without doctor cheapest lisinopril 5 mg getting finpecia 1 mg without doctor buy maxalt 5 mg online uk how much does a year supply of finasteride cost anafranil anxiety review finasteride purchase canada cytotec price in sa cost of finasteride generic cheapest premarin cream anafranil bipolar disorder finasteride price in rupees finasteride price in uae where can i buy cytotec in lucky plaza cheap generic arimidex where to go to get finasteride seroquel thyroid disorder buy cytotec canada seroquel for sale online going off finasteride orlistat 120 mg with out a prescription cytotec 200 mcg online no prescriptions required from the us buy maxalt 5 mg online without a prescription overnight no prescription premarin 0.625 mg metformin 500 mg online no prescription premarin 0.625 mg order overnight buy prednisone 20 mg next day delivery getting finasteride 1 mg without doctor overnight shipping on generic metformin 500 mg where can i buy zovirax buy motilium purchase doxycycline online uk can you buy avodart over the counter purchase fluoxetine cheapest place to buy doxycycline uk revia review premarin for sale tenormin 50mg price can you buy ventolin over the counter in italy purchase ventolin inhaler online buy antabuse in uk can you buy ventolin at sainsburys buy inderal 10mg how to buy cytotec in dubai can u get high on requip cheap bactrim for sale buy revia uk average cost of metformin where to buy orlistat best place to buy finasteride online forum cost of cytotec in ghana side effects of coming off arimidex does seroquel work for borderline personality disorder cytotec online dose cytotec buy metformin cost without insurance where can i buy tenormin can i buy prednisone online in uk arimidex off patent where to buy genuine cytotec anafranil premature ejaculation reviews buy cytotec malaysia cita previa online itv extremadura can you get high from seroquel buy orlistat canada revia hair dye reviews how long until finasteride wears off can you get high off seroquel 200 mg buy cytotec no prescription online order finasteride finasteride online canadian pharmacy arimidex positive reviews do you have to taper off seroquel purchase maxalt online cytotec price philippines cheap seroquel for sale reviews on metformin metformin helps getting pregnant how does seroquel help bipolar disorder alli orlistat best price buy cheap celexa online where can i buy lasix online how to buy augmentin can you buy nolvadex online buy valtrex generic online buy dapoxetine priligy online buy zovirax cream online canada buy flomax tamsulosin buy motilium 10mg femara high order multiples buy inderal online australia purchase propecia uk buy bactrim where to buy genuine cytotec in manila pastillas abortivas cytotec costo order maxalt mlt pedir cita previa itv online extremadura le metformin et la grossesse costo del cytotec en mexico buy generic finpecia finasteride reviews singapore finasteride positive reviews where can you buy cytotec arimidex discount duphaston clomid et metformin maxalt off label use arimidex purchase peptides finasteride for sale in ireland arimidex where to buy cita previa online seguridad social andalucia lisinopril 20 mg no prescription maxalt mlt price per pill hair loss forum finasteride online order misoprostol cytotec online off label use of arimidex finasteride yearly cost orlistat online nizoral 2 shampoo where can i buy prednisone discount coupon for premarin cita previa online itv la palma canarias premarin pills reviews price for finasteride 6 weeks off finasteride maxalt doctor consult purchase requip generic seroquel online canadian rx orlistat maxalt without prescriptions orlistat generic uk buy premarin no prescription finasteride finasteride 1mg buy can i buy valtrex at cvs order propranolol where can i buy finasteride in bangalore do you need prescription buy propranolol buy bactrim online canada buy requip on line where can i buy cytotec here in cebu buy lisinopril 20 mg requip from india is it safe buy prednisone mexico prednisone 20 mg no prescription with mastercard lisinopril 5 mg without prescription premarin 0.625 mg express online buy prednisone 20 mg without prescription pharmacy where you can purchasr cytotec 200 mcg without prescription getting cytotec 200 mcg without doctor prednisone 20 mg no prescription needed 200mcg order metformin 500 mg online buy cytotec 200 mcg online no prescription generic metformin 500 mg from india orlistat 120 mg ordered without a perscription orlistat 120 mg from mexico india cytotec 200 mcg where to buy orlistat 120 mg buy cytotec 200 mcg india arimidex dosage on cycle seroquel xr prescription card buy finasteride no prescription uk rui arimidex review finasteride where to buy premarin price this drug best way to come off finasteride seroquel dosage for bipolar disorder how much does seroquel cost in australia how to come off seroquel safely scared to try seroquel where to buy cytotec quickly anafranil testimonials order maxalt mlt buy maxalt wafers cheap fincar no prescription isotretinoin online no prescription cheap online pharmacy for fincar indian fincar fincar no rx in us cheap fincar online no prescription problems with buying fincar without rx no prescription fincar on line pharmacy order fincar online no prescription pharma life buy generic fincar online no prescription quick delivery buy generic fincar online no prescription where to buy fincar no prescription 200 mg fincar fincar no prescription needed 20mg cheap generic fincar no prescription finpecia uk isotretinoin purchase buy generic fincar without perscription finpecia for sale order fincar without rx finpecia 1 mg for sale fincar buy no prescription cheap fincar where can i order fincar online fincar with no rx buy celebrex canada where to buy celebrex online buy nolvadex in south africa is it illegal to buy phenergan online where can i purchase lexapro buy dapoxetine in south africa can you buy celebrex over the counter best place to buy nolvadex online were to buy metformin where to buy prednisolone in uk buy nolvadex 20mg buy motilium in canada nolvadex purchase canada where can i buy doxycycline hyclate where to buy nolvadex uk where to buy cytotec in kenya where can i buy prednisone for dogs cost of finasteride without insurance maxalto simplex sofa price overnight delivery of cytotec cost for cytotec coming off arimidex after 5 years finpecia 1mg cipla can metformin help me get pregnant lisinopril side effects urine odor how to get insurance to pay for finasteride cheapest place to buy finasteride in uk no script lisinopril finasteride going off patent where to buy dapoxetine order metformin 500 mg online can i buy diflucan over the counter in ireland where to buy dapoxetine in nigeria cheap cytotec pills online buy authentic propecia can you buy furosemide tablets is it safe to buy lexapro online best place to buy motilium buy propranolol inderal online where can i buy cytotec in oman buy propecia london where can i buy generic cytotec buy cheap propecia tablets where can i buy nolvadex from buy propecia cheap online premarin 0.625 mg order online orlistat 120 mg cost generic 200mg fincar online cheap finasteride 1 mg without a prescription buy discounted finasteride 1 mg online cytotec 200 mcg no rx in us maxalt 5 mg purchase where can i buy premarin 0.625 mg without a prescription premarin 0.625 mg from mexico buy seroquel 200 100 50 300 mg online without prescription from canada buy metformin 500 mg pills no prescription cheap fincar online no prescription how to buy requip 1 mg without a prescription getting fincar without doctor where to buy fincar no prescription generic lisinopril 5 mg without a precsriptions cytotec 200 mcg no rx mail order seroquel seroquel pills cost street price seroquel metformin 850 mg twice a day cost how to get off tenormin cheapest premarin cream do u need a prescription for finasteride get finasteride singapore how to buy finasteride uk revia prescription arimidex cost walmart buy rogaine and finasteride does smoking seroquel get you high non prescription premarin seroquel reviews for schizophrenia metformin cost without insurance how much does finasteride cost monthly procerin vs finasteride reviews buy finasteride new zealand maxalt without a perscription shipped overnight express buy seroquel 200 mg where to buy finasteride forum buy maxalt on line without a perscription where to buy cytotec in the philippines us maxalt fedex order generic finasteride online generic metformin uk arimidex 1 mg tablet pharmacy maxalt no prescrption maxalt without a presciption buy arimidex acheter orlistat atarax available in australia where to buy bactrim ds online cheap zovirax uk buy phenergan boots erythromycin zinc acetate buy buy levitra with dapoxetine buy ventolin inhaler online uk buy ventolin nebules 5mg online buy doxycycline buy doxycycline in kuala lumpur where to buy dapoxetine purchase doxycycline online how to buy bactrim online order ventolin hfa online buy ventolin pills online buy ampicillin uk buy ventolin in italy buy amoxil uk buy zovirax tesco cheap augmentin when does maxalt come off patent where to buy cytotec in bahrain canadanizoral finasteride 1mg cost cheapest place to get finasteride lisinopril usp 20 mg seroquel xr costco how to wean off seroquel xr 50 mg pil cytotec online cheap genuine finasteride where can i get cytotec in the uk where can i buy orlistat maxalt rpd review side effects coming off seroquel xr finpecia online finasteride hair loss price buy finasteride at walmart 012 cita previa canarias online buy metformin buy arimidex with amex generic metformin online purchase online prescription premarin buy lisinopril in mo cytotec without a perscription online us finasteride arimidex shipped cash on want to buy arimidex in malaysia buy metformin no prescription purchase cheap lisinopril finpecia generic names buy lisinopril in the uk cytotec online no prescription 100 mg buying maxalt online without rx cytotec selling can you buy cytotec over the counter at walgreens finasteride prescription ireland finasteride patient reviews cytotec user reviews arimidex price in uk buy cheap cytotec in usa where can i buy arimidex online how much will generic finasteride cost retail price finasteride is it safe to take finasteride while trying to conceive buy orlistat 120 mg without a prescription in the united states where can i get prednisone 20 mg without a prescription buy maxalt 5 mg australia no prescription 1 mg finpecia where can i buy seroquel 200 100 50 300 mg over the counter 10 mg lisinopril orlistat 120 mg with no rx requip 1 mg in canada order requip 1 mg online pharmacy no prescription finasteride 1 mg lisinopril 5 mg without script orlistat 120 mg no prescription buy finpecia 1 mg 200mcg prednisone 20 mg purchase without perscripotion healthy male viagra scam cheap tenormin classification where can i buy herbal metformin free fedex delivery maxalt requip online pharmacy purchase maxalt amex online without rx can i buy prednisone in mexico lisinopril over the counter requip cost buy lisinopril online india buy prednisone online cheap no presciption maxalt lisinopril mg day buy prednisone uk lisinopril 20 mg. order cheap overnight maxalt want to buy metformin in usa amsa orlistat fincar prescription cost buy prednisone in the uk buy cytotec in london overnight delivery of maxalt order valtrex generic online lisinopril order online no pres needed premarin mg side effects buy requip money buy generic fincar no prescription maxalt in mexico without prescription buying maxalt over the counter buy finasteride thailand cheap generic finasteride finasteride requip overnight cod arimidex 1 mg buy lisinopril 5 mg next day delivery buying lisinopril 5 mg with no rx buy metformin 500 mg online uk order finasteride 1 mg online finpecia 1 mg no perscription required order premarin 0.625 mg without rx finasteride 1 mg for sale without prescription metformin 500 mg generic no prescription metformin 500 mg from mexico buy augmentin 875 mg buy avian doxycycline where can i buy dapoxetine in singapore where can i buy aciclovir cream can you buy zovirax at the supermarket order antabuse online uk can i buy ventolin at boots can you buy fluoxetine cheapest place buy acyclovir where to purchase bactrim buy generic levitra with dapoxetine buy augmentin online uk where to buy ampicillin india prednisone 20 mg buy cytotec 200 mcg india prednisone 20 mg online without a prescription buy generic finpecia 1 mg no prescription seroquel 200 100 50 300 mg for sale without prescription uk compazine generic glucophage mexico buy maxalt online overnight purchase prednisone without a prescription overnight shipping buy cytotec online with no perscription buy maxalt online cod buy maxalt online overseas baclofen buy cod fincar buy no prescription cheap generic baclofen priligy xr buy online cheap buying fluconazole online buy robaxin daily use order maxalt free next day airmaxalt on line prednisone purchase overnight delivery buy prednisolone sodium phosphate order prednisone for dogs how to order a prednisone taper prednisone buy from uk problems with buying prednisone without rx prednisolone backorder can i buy prednisolone in spain buy prednisone online overnight where to buy prednisolone acetate ophthalmic suspension prednisone oral tablet no prescription discount buy prednisone oral how to buy prednisone from canada order prednisone without rx can you buy prednisone over the counter for dogs where to buy prednisone where to buy prednisone uk where can i buy prednisone for my cat generic prednisone canada prednisone no prescription can i get prednisone without a prescription? buy generic prednisone buy prednisolone acetate ophthalmic suspension usp 1 prednisone online purchase order prednisone no prescription buy prednisone for dogs online buy generic prednisone no prescription where can i buy prednisolone