<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>MM</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/mm/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/mm/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:45:48 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Exchange 2010 Cross-Forest Migration Step by Step Guide – Part III</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/exchange-2010-cross-forest-migration-step-by-step-guide-part-iii</link>
      <pubDate>Mon, 09 Feb 2015 09:37:21 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/exchange-2010-cross-forest-migration-step-by-step-guide-part-iii/</guid>
      <description><![CDATA[In this part of Cross-Forest Migration Guide we will solve the second challenge but before that...]]></description>
      <content:encoded><![CDATA[<p align="justify"><font size="3" face="Calibri">In this part of Cross-Forest Migration Guide we will solve the second challenge but before that let’s take a look again on the current environment:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7356.Diagram_2BD9648D.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7356.Diagram_5F00_2BD9648D.jpg"><img title="Diagram" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" border="0" alt="Diagram" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5102.Diagram_thumb_04129CC9.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5102.Diagram_5F00_thumb_5F00_04129CC9.jpg" width="541" height="277" /></a></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="4" face="Calibri">&nbsp;</font></b></p> <p align="justify"><b><font size="4" face="Calibri">Second Challenge: Move Mailbox Error:</font></b></p> <p align="justify"><font size="3" face="Calibri">As explained in Part II, we will use ADMT first to migrate SID History, Password and other AD attributes then we will use Prepare-MoveRequest, the idea of these steps is to get healthy Mail Enabled User (MEU) that will be used later to move the mailbox from the source forest to the target forest, after finishing Part II now we have the healthy MEU and we can check the LDAP properties for the mandatory attributes required for the move to succeed.</font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">The following snapshot shows the LDAP attributes:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0336.Yahya05_556C6E19.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0336.Yahya05_5F00_556C6E19.jpg"><img title="Yahya05" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="Yahya05" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2330.Yahya05_thumb_4D24D05D.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2330.Yahya05_5F00_thumb_5F00_4D24D05D.jpg" width="812" height="635" /></a></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">Now this is the time to run New-MoveRequest to migrate the mailbox from the source forest to the target forest.</font></p> <p align="justify"><font size="3" face="Calibri">The following snapshot shows the result of running New-MoveRequest:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5875.clip_image006_4BCEADFA.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5875.clip_5F00_image006_5F00_4BCEADFA.jpg"><font size="3" face="Calibri"></font><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7127.clip_image006_2BFF8898.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7127.clip_5F00_image006_5F00_2BFF8898.jpg"><img title="clip_image006" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5100.clip_image006_thumb_1883B27B.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5100.clip_5F00_image006_5F00_thumb_5F00_1883B27B.jpg" width="812" height="196" /></a></a></p> <p align="justify"><font face="Calibri"><font size="3"></font></font></p> <p align="justify"><font face="Calibri"><font size="3">The error is: <b>Cannot find a recipient that has mailbox GUID</b></font></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">The error is clearly saying that there is no MEU with the mandatory attribute msexchmailboxguid, however when we check the MEU LDAP property:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2335.clip_image008_0882E433.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2335.clip_5F00_image008_5F00_0882E433.jpg"><font size="3" face="Calibri"></font><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4401.clip_image008_5EBF693F.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4401.clip_5F00_image008_5F00_5EBF693F.jpg"><img title="clip_image008" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4442.clip_image008_thumb_6F8877A4.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4442.clip_5F00_image008_5F00_thumb_5F00_6F8877A4.jpg" width="799" height="143" /></a></a></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">The mailbox GUID is there (of course it’s there because Prepare-MoveRequest migrated this attribute, check Part II), so what’s the problem?!</font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">We have MEU with the required msexchmailboxguid and each time we try to migrate the mailbox we will get the same error: Cannot find a recipient that has the mailbox GUID.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">The problem here that when the remote forest implies a child name relationship, Exchange 2010 will think that this is a child domain and then the strange error will be returned. In our case the source forest name is <strong>egypt.tailspin.com</strong> and the target forest name is <strong>tailspin.com</strong> so Exchange will think that the target is child domain from the source forest and it will fail.</font></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="4" face="Calibri">&nbsp;</font></b></p> <p align="justify"><b><font size="4" face="Calibri">So what’s the solution?</font></b></p> <p align="justify"><font size="3" face="Calibri">We have two painful options:</font></p> <p align="justify"><font size="3" face="Calibri">1. Export all mailboxes as PST files from the source forest and then import it in the target forest: this option is based on big bang approach where there is no co-existence. This option might be considered in small companies where we can disconnect the source forest, export the PSTs and import it to the target forest in reasonable downtime.</font></p> <p align="justify"><font size="3" face="Calibri">2. Co-Existence: when co-existence is required in enterprise companies with thousands of users the only option will be creating Intermediate Forest.</font></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="4" face="Calibri">&nbsp;</font></b></p> <p align="justify"><b><font size="4" face="Calibri">Intermediate Forest:</font></b></p> <p align="justify"><font size="3" face="Calibri">As you might guess this will be our option as co-existence is required, in this option we will do the migration on two steps.</font></p> <p align="justify"><font size="3" face="Calibri">First we will need to create a new Active Directory Forest with a different name in our scenario we will use <b>nwtraders.com</b>. This forest will contain Exchange 2010 server we can use single server with HUB/CAS/MBX installed on the same server, as this forest will be intermediate and will not serve any users you may decide that high availability is not required.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">Now the migration will be done on two steps as following:</font></p> <p align="justify"><font size="3" face="Calibri">1. Move the mailbox of the user (batch of users) from the source forest <b>egypt.tailspin.com</b> to the intermediate forest <b>nwtraders.com</b>.</font></p> <p align="justify"><font size="3" face="Calibri">2. Move the mailbox of the user (batch of users) from the intermediate forest <b>nwtraders.com</b> to the target forest <b>tailspin.com</b>.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">After implementing the intermediate forest it’s very important to complete the following tasks before starting the migration:</font></p> <p align="justify"><font size="3" face="Calibri">1. Apply SSL certificate on the intermediate forest that can is trusted and can be validated from the target forest. If Exchange 2010 server in the target forest can’t validate the certificate moving mailbox will fail.</font></p> <p align="justify"><font size="3" face="Calibri">2. Enable the MRS Proxy service: this service responsible of moving the mailboxes from/to Exchange 2010, as the intermediate Exchange server will be 2010 then moving mailboxes will not work without enabling the MRS Proxy service.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">The following section contains the detailed steps required to prepare the intermediate forest:</font></p> <p align="justify"><a name="_Toc291571537"><font size="3" face="Calibri"><strong>1. Install SSL Certificate</strong></font></a></p> <p align="justify"><font size="3" face="Calibri">This certificate must be trusted and validated from the CAS servers in the target forest. The certificate could be generated from internal Certification Authority trusted by the CAS servers in Corp forest.</font></p> <p align="justify"><font size="3" face="Calibri">The steps to request to install the certificate as follow (on Intermediate Forest Exchange Server):</font></p> <p align="justify"><font size="3" face="Calibri">a. Request certificate:</font></p> <blockquote> <p align="justify"><font size="3" face="Calibri">I. Open Exchange Management Shell:</font></p> <p align="left"><font size="3" face="Calibri">II. <font style="background-color:#cccccc;">$data = New-ExchangeCertificate -GenerateRequest –domainname mail.nwtraders.com,autodiscover.nwtraders.com,servername.nwtraders.com -FriendlyName Int-CAS</font></font></p></blockquote> <blockquote> <p align="justify"><font size="3" face="Calibri">II. <font style="background-color:#cccccc;">Set-Content -path &quot;C:\CertRequest.req&quot; -Value $Data</font></font></p></blockquote> <p align="justify"><font size="3" face="Calibri">b. Import the Certificate:</font></p> <blockquote> <p align="justify"><font size="3" face="Calibri">I. <font style="background-color:#cccccc;">Import-ExchangeCertificate -PrivateKeyExportable:$true -FileData ([Byte[]]$(Get-Content -Path C:\cert.cer -Encoding Byte -ReadCount 0)) | Enable-ExchangeCertificate -Services IIS</font></font></p></blockquote> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify">&nbsp;</p> <p align="justify"><a name="_Toc291571538"><font size="3" face="Calibri"><strong>2. Enable MRSProxy Service</strong></font></a></p> <p align="justify"><font size="3" face="Calibri">This step should be completed before moving the mailboxes from the Intermediate forest to the target forest.</font></p> <p align="justify"><font size="3" face="Calibri">a. On the Client Access server in the Intermediate Forest (nwtraders.com), open the following file with a text editor such as Notepad:</font></p> <p align="justify"><font size="3" face="Calibri">C:\program files\microsoft\Exchange\V14\ClientAccess\ExchWeb\EWS\web.config</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">b. Locate the following section in the Web.config file:</font></p> <p align="justify"><font style="background-color:#cccccc;" size="3" face="Calibri">&lt;!-- Mailbox Replication Proxy Service configuration --&gt;</font></p> <p align="justify"><font style="background-color:#cccccc;" size="3" face="Calibri">&lt;MRSProxyConfiguration <br />IsEnabled=&quot;false&quot; <br />MaxMRSConnections=&quot;100&quot; <br />DataImportTimeout=&quot;00:01:00&quot; /&gt;</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">c. Change the value of IsEnabled to &quot;<b>true</b>&quot;.</font></p> <p align="justify"><font size="3" face="Calibri">d. Save and close the Web.config file.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">In this part we addressed the second challenge and now we are ready to start the migration, in the next part we will start by configuring co-existence between the three forests.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">&nbsp;</font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2011/06/10/exchange-2010-cross-forest-migration-step-by-step-guide-part-i.aspx">Exchange 2010 Cross-Forest Migration Step by Step Guide – Part I</a></font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/exchange-2010-cross-forest-migration-step-by-step-guide-part-ii.aspx">Exchange 2010 Cross-Forest Migration Step by Step Guide – Part II</a></font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/exchange-2010-cross-forest-migration-step-by-step-guide-part-iii.aspx">Exchange 2010 Cross-Forest Migration Step by Step Guide – Part III</a></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange 2010 Cross-Forest Migration Step by Step Guide – Part II</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/exchange-2010-cross-forest-migration-step-by-step-guide-part-ii</link>
      <pubDate>Mon, 09 Feb 2015 09:34:19 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/exchange-2010-cross-forest-migration-step-by-step-guide-part-ii/</guid>
      <description><![CDATA[In Part I of this guide I’ve explained the process of cross-forest migration and the differences...]]></description>
      <content:encoded><![CDATA[<p align="justify"><font size="3" face="Calibri">In </font><a href="http://blogs.technet.com/b/mm/archive/2011/06/10/exchange-2010-cross-forest-migration-step-by-step-guide-part-i.aspx"><font size="3" face="Calibri">Part I</font></a><font size="3" face="Calibri"> of this guide I’ve explained the process of cross-forest migration and the differences between using ADMT first or using Prepare-MoveReuqest.Ps1 script first, I’ve also explained the migration scenario and the current environment.</font></p> <p align="justify"><font size="3" face="Calibri">Starting from this part we will talk about migration challenges and the best way to address these challenges.</font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">A quick reminder of the current environment:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3007.Diagram_6761FE1E.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3007.Diagram_5F00_6761FE1E.jpg"><font face="Calibri"></font></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2043.Diagram_63F040A9.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2043.Diagram_5F00_63F040A9.jpg"><font size="3"><img title="Diagram" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" border="0" alt="Diagram" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0827.Diagram_thumb_6B15EA4A.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0827.Diagram_5F00_thumb_5F00_6B15EA4A.jpg" width="663" height="339" /></font></a></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="3" face="Calibri">&nbsp;</font></b></p> <p align="justify"><b><font size="3" face="Calibri">First Challenge: ADMT First Then Prepare-MoveRequest.Ps1:</font></b></p> <p align="justify"><font size="3" face="Calibri">As explained in Part I, we need to migrate user accounts and mailboxes from the source forest to the target forest. However in the target forest (tailspin.com) we already have user accounts created manually for users in the source forest (egypt.tailspin.com), so each user in egypt.tailspin.com has two user accounts:</font></p> <ul> <li> <div align="justify"><font face="Calibri"><font size="3"><strong>Primary Account</strong>: AD User in the Egypt forest used for Windows logon, email and everything.</font></font></div> </li><li> <div align="justify"><font face="Calibri"><font size="3"><strong>Secondary Account</strong>: AD user account created in Tailspin.com forest used for other applications hosted in tailspin, this user used to grant permissions and create profiles on Terminal Service servers.</font></font></div></li></ul> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">So the main target is we need to use the existing users in the target forest (tailspin.com), the consequences of this decision as follow:</font></p> <ol> <li> <div align="justify"><font size="3" face="Calibri">We can’t use the script first; the script in this scenario will create a new disabled Mail Enabled User (MEU), and will ignore the existing user account.</font></div> </li><li> <div align="justify"><font size="3" face="Calibri">We will have to run ADMT first to synchronize the password, migrate SID history, and other AD attributes from the source forest to the target forest.</font></div> </li><li> <div align="justify"><font size="3" face="Calibri">We need to provide prepare-moverequest.ps1 with attribute that links the user in the target forest with the user in the source forest, so when the script runs it will merge all the properties from the source account to the target account and will not create a new user.</font></div></li></ol> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp; </font></p> <p align="justify"><font size="3" face="Calibri">Before going to the detailed steps, let’s see the history and the relation between ADMT and Prepare-MoveRequest.Ps1:</font></p> <ul> <li> <div align="justify"><font face="Calibri"><font size="3"><b>ADMT and Exchange Attributes: </b>By default ADMT doesn’t migrate Exchange attributes including “mail”, “proxyAddresses”, anything started by msexch. The reason behind that because when ADMT transfers Exchange attributes (e.g. homeMDB, homeMTA, showInAddressBook, msExch*) that will make the target user looks like a legacy mailbox in the target domain. This leaves the target account in an invalid state (e.g. homeMDB still points to the old forest) which is unexpected for the PrepareMoveRequest.ps1 script. To prevent this, Exchange attributes are excluded from ADMT.</font></font></div> </li><li> <div align="justify"><font face="Calibri"><font size="3"><b>In Exchange RTM</b>, running ADMT first and then running the PrepareMoveRequest script: When a user is created via ADMT, the PrepareMoveRequest script doesn&#39;t work since there are no proxyAddresses for the script to match the source forest user with the target forest user (the script is looking for some attributes in the target account and try to match it with the source account).</font></font></div></li></ul> <blockquote> <p align="justify"><font size="3" face="Calibri">The recommended approach was to copy at least 1 proxy address using ADMT. Even after doing that and using the -UseLocalObject parameter, the script will only copy the 3 mandatory parameters (msExchMailboxGUID, msExchArchiveGUID, msExchArchiveName). This is not very useful as the other mandatory attributes are not copied.</font></p></blockquote> <ul> <li> <div align="justify"><font face="Calibri"><font size="3"><b>In SP1</b>, a new switch has been added <b>–OverwriteLocalObject</b> which mainly designed when running ADMT first scenario. ADMT can copy the SIDhistory, password, and proxyAddresses, and the PrepareMoveRequest script can attach the source account with the target account and sync the other email attributes. In this case, it will copy attributes from source to target, so it&#39;s the opposite of UseLocalObject.</font></font></div></li></ul> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="3" face="Calibri"></font></b></p> <p align="justify"><b><font size="3" face="Calibri">&nbsp;</font></b></p> <p align="justify"><b><font size="3" face="Calibri">PrepareMoverRequest.ps1:</font></b></p> <p align="justify"><font size="3" face="Calibri">The PrepareMoveRequest.ps1 script can identify and match existing accounts in the target forest based on their SMTP address (proxyAddresses attribute).</font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">The script will <b><u>only</u></b> use the existing target accounts if <b><u>all</u> </b>the following are true:</font></p> <ul> <li> <div align="justify"><font size="3" face="Calibri">The target account has a value in proxyAddresses which matches one of the proxyAddresses of the source account. </font></div> </li><li> <div align="justify"><font size="3" face="Calibri">The target account is a mail enabled user (healthy MEU that can be retrieves with Get-MailUser command, which means it must have mail attributes like &#39;mail&#39;, &#39;ExternalEmailAddress&#39;, etc).</font></div> </li><li> <div align="justify"><font size="3" face="Calibri">You need to specify the -UseLocalObject parameter in the script. (and –OverwriteLocalObject)</font></div></li></ul> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">If all these are true, the script will copy further attributes needed (especially msExchMailboxGUID) to the target account so that the move request can process the accounts.</font></p> <p align="justify"><font size="3" face="Calibri">If one of the above items is missing, the script will duplicate by creating a new disabled Mail Enabled User (MEU), and no error will be returned, using the script in verbose mode will let you see the details.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">Based on that the steps to solve this challenge should be:</font></p> <p align="justify"><font size="3" face="Calibri">1. Select the user or patch of users to be migrated.</font></p> <p align="justify"><font size="3" face="Calibri">2. Delete any Mail Contact for the users in the target forest.</font></p> <p align="justify"><font size="3" face="Calibri">3. Use ADMT to migrate the user account (merge) from source forest to target forest, this is required to get SID History and sync the password.</font></p> <p align="justify"><font size="3" face="Calibri">Once ADMT migration is completed we should have normal user accounts with SIDHistory as the following snapshot:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5670.clip_image004_094A0E4B.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5670.clip_5F00_image004_5F00_094A0E4B.jpg"><font face="Calibri"></font></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6165.clip_image004_50AB760B.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6165.clip_5F00_image004_5F00_50AB760B.jpg"><font size="3"><img title="clip_image004" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5621.clip_image004_thumb_3D084BF8.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5621.clip_5F00_image004_5F00_thumb_5F00_3D084BF8.jpg" width="793" height="701" /></font></a></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">4. Make the user (or patch of users) Mail Enabled User (MEU) (by running Enable-MailUser), setting ExternalEmailAddress matches the same email address of the user in the source forest (this will be the anchor to associate the user in the target forest with the user in the source forest).</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">The following snapshot shows how to do it for bulk users using (Import-CSV)</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6574.clip_image006_0282CAFC.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6574.clip_5F00_image006_5F00_0282CAFC.jpg"><font face="Calibri"></font></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/8228.clip_image006_4D757A24.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/8228.clip_5F00_image006_5F00_4D757A24.jpg"><font size="3"><img title="clip_image006" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0830.clip_image006_thumb_3634F6DB.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0830.clip_5F00_image006_5F00_thumb_5F00_3634F6DB.jpg" width="799" height="174" /></font></a></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">We have a very simple csv file that contains two fields as the following snapshot:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6661.clip_image008_1FE43494.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6661.clip_5F00_image008_5F00_1FE43494.jpg"><font face="Calibri"></font></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/1881.clip_image008_644425D3.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/1881.clip_5F00_image008_5F00_644425D3.jpg"><font size="3"><img title="clip_image008" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5633.clip_image008_thumb_6ECF7B1B.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5633.clip_5F00_image008_5F00_thumb_5F00_6ECF7B1B.jpg" width="794" height="211" /></font></a></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">Now we should have a healthy MEU ready for Prepare-MoveRequest, the following snapshot shows the LDAP properties of this user account:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4431.clip_image010_13B294A0.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4431.clip_5F00_image010_5F00_13B294A0.jpg"><font face="Calibri"></font></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/8737.clip_image010_6C68259D.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/8737.clip_5F00_image010_5F00_6C68259D.jpg"><font size="3"><img title="clip_image010" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4544.clip_image010_thumb_568BC526.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4544.clip_5F00_image010_5F00_thumb_5F00_568BC526.jpg" width="815" height="737" /></font></a></p> <p align="justify"><font size="3" face="Calibri">Check the proxyAddresses, mail, and mailNickname.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">5. Use Prepare-MoveRequest.Ps1 with –uselocalobject and –overwritelocalobject, so the script will use the existing user account and overwrite the attributes in the target account by the attributes in the source account and most importantly migrate all the required attributes, so the MEU is ready to move the mailbox.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">Again we can do it for bulk users by using (Import-CSV), the following snapshot shows the command in verbose mode:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4431.clip_image012_6B7F99E6.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4431.clip_5F00_image012_5F00_6B7F99E6.jpg"><font face="Calibri"></font></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5504.clip_image012_40676047.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5504.clip_5F00_image012_5F00_40676047.jpg"><font size="3"><img title="clip_image012" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5658.clip_image012_thumb_6D6682A3.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5658.clip_5F00_image012_5F00_thumb_5F00_6D6682A3.jpg" width="782" height="422" /></font></a></p> <p align="justify"><font size="3" face="Calibri">Check the first two lines, local account has been found and the anchor (proxyAddresses) has been used to identify it, then Merge will be done, last line indicates that the process is successfully completed.</font></p> <p align="justify"><font size="3" face="Calibri">Now we have MEU ready to move the mailbox.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri">&nbsp;</font></p> <p align="justify"><font size="3" face="Calibri">In this part we solved the first challenge, in the next part we will continue with the second challenge before moving to the technical steps of the migration.</font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p align="justify"><font size="3" face="Calibri"></font></p> <p><font size="3"></font>&nbsp;</p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2011/06/10/exchange-2010-cross-forest-migration-step-by-step-guide-part-i.aspx">Exchange 2010 Cross-Forest Migration Step by Step Guide – Part I</a></font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/exchange-2010-cross-forest-migration-step-by-step-guide-part-ii.aspx">Exchange 2010 Cross-Forest Migration Step by Step Guide – Part II</a></font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/exchange-2010-cross-forest-migration-step-by-step-guide-part-iii.aspx">Exchange 2010 Cross-Forest Migration Step by Step Guide – Part III</a></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Outlook 2007, Exchange with Wildcard Certificate</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/outlook-2007-exchange-with-wildcard-certificate</link>
      <pubDate>Mon, 09 Feb 2015 09:25:57 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/outlook-2007-exchange-with-wildcard-certificate/</guid>
      <description><![CDATA[This blog will explain the possible issues that you may face when using wildcard certificate in...]]></description>
      <content:encoded><![CDATA[<p align="justify"><font size="2">This blog will explain the possible issues that you may face when using wildcard certificate in Exchange 2010, especially during the upgrade from Exchange 2007 to Exchange 2010.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">In this scenario we will use tailspin.com domain. The normal upgrade scenario is to implement and configure Exchange 2010 CAS with the wildcard certificate, then import the wildcard certificate on Exchange 2007 CAS, and the following will be applied:</font></p> <blockquote> <p align="justify"><font size="2">1. mail.tailspin.com will point to the CAS 2010 server</font></p> <p align="justify"><font size="2">2. legacy.tailspin.com will point to CAS 2007 server.</font></p> <p align="justify"><font size="2">3. CAS2007 URLs will be changed to legacy.tailspin.com (OWA, ActiveSync, OAB, EWS), including Outlook Anywhere endpoint.</font></p> <p align="justify"><font size="2">4. CAS 2010 URLs will be configured with mail.tailspin.com.</font></p></blockquote> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">The migration process details will not be covered in this blog, so let’s see Outlook problems directly:</font></p> <blockquote> <p align="justify"><font size="2">1. <b>Outlook 2010 on Windows 7:</b> everything will work perfectly fine with no problems.</font></p> <p align="justify"><font size="2">2. <b>Outlook 2007 before SP2:</b> Out Of Office will not work internally using RPC until you apply Service Pack 3 and latest updates.</font></p> <p align="justify"><font size="2">3. <b>Outlook 2007 SP2 with Windows 7:</b> will work internal by RPC and from Internet by Outlook Anywhere.</font></p> <p align="justify"><font size="2">4. <b>Outlook 2007 with Windows XP:</b> Outlook RPC internally will work fine. Outlook Anywhere will keep asking about user name and password repeatedly and will not work.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p></blockquote> <p align="justify"><font size="2">The problem here that Outlook 2007 will check the value of msstd in the configuration of Outlook Anywhere:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2388.clip_image001_188550F4.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2388.clip_5F00_image001_5F00_188550F4.jpg"><font size="2"><img title="clip_image001" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4530.clip_image001_thumb_3AAD36AD.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4530.clip_5F00_image001_5F00_thumb_5F00_3AAD36AD.jpg" width="532" height="475" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">And then Outlook 2007 will compare the msstd value with the common name value in the certificate, as we are using wildcard certificate this value will be <b>*.tailspin.com</b>. and as the value is not the same it will keep asking for credential and Autodiscover will not work.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">The solution as mentioned in this article: </font><a href="http://technet.microsoft.com/en-us/library/cc535023(EXCHG.80).aspx"><font size="2">http://technet.microsoft.com/en-us/library/cc535023(EXCHG.80).aspx</font></a><font size="2"> is to use set-outlookprovider command as the following:</font></p> <p align="justify"><font style="background-color:#cccccc;" size="2">Set-OutlookProvider -Identity EXPR -CertPrincipalName msstd:*.tailspin.com</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">This command will simply change the value of msstd populated by Autodiscover to *.tailspin.com, so Windows XP will find the same value as the common name value in the wildcard certificate.</font></p> <p align="justify"><font size="2">This blog will focus on the client side behavior once applying this command, as explained before:</font></p> <blockquote> <p align="justify"><font size="2">1. Anything on Windows 7 will work fine (Outlook 2007 and Outlook 2010).</font></p> <p align="justify"><font size="2">2. Outlook 2007 with sP3 and Windows XP: Outlook RPC will work fine internally, autodiscover will update the msstd value to *.tailspin.com.</font></p> <p align="justify"><font size="2">3. Outlook 2007 with SP3 and Windows XP: Outlook anywhere was as the above snapshot, and will keep prompting for user name and password, but because now the msstd value is the same as the common name, Autodiscover will work and will fix the profile but in order to have the new settings you will need to restart Outlook.</font></p></blockquote> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">The following snapshot from Outlook using outlook anywhere after putting the user name and password first time, then click cancel after that:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6507.OA2_2B2A24DE.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6507.OA2_5F00_2B2A24DE.jpg"><font size="2"><img title="OA2" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="OA2" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/1212.OA2_thumb_01D2DCE0.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/1212.OA2_5F00_thumb_5F00_01D2DCE0.jpg" width="1121" height="665" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">In the above snapshot note that Autodisover changed msstd to *.tailspin.com, also note that Outlook is still need password.</font></p> <p align="justify"><font size="2">Note also that Autodiscover didn’t update the Outlook Anywhere end point to legacy.tailspin.com (which is the normal behavior of Outlook), Outlook Anywhere will work fine because E2010 CAS will proxy to Exchange 2007.</font></p> <p align="justify"><font size="2">If you want to change the Outlook Anywhere endpoint then you will need to repair the profile, so you will have the right endpoint. In our scenario because we don’t want the users to do any changes and because we will move the mailboxes and at the end all users will mail not legacy we just informed the users to open Outlook, put the username and password, then close Outlook and Open it again.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">Now close Outlook and open it again, you will be asked for username and password (as normal basic authentication in Outlook Anywhere) and everything will work perfectly:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3056.OA3_3E3B2BBD.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3056.OA3_5F00_3E3B2BBD.jpg"><font size="2"><img title="OA3" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="OA3" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0333.OA3_thumb_14E3E3BF.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0333.OA3_5F00_thumb_5F00_14E3E3BF.jpg" width="1134" height="668" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">Note that now Outlook is connected through Outlook Anywhere, and OOF is working fine:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/8233.OA4_3928C841.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/8233.OA4_5F00_3928C841.jpg"><font size="2"><img title="OA4" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="OA4" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5001.OA4_thumb_5726D635.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5001.OA4_5F00_thumb_5F00_5726D635.jpg" width="1128" height="672" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2"></font>&nbsp;</p> <p><font size="2">Last comment on this, if the client connected through RPC (internally) after adding set-outlookprovider command:</font></p> <p><font style="background-color:#cccccc;" size="2">Set-OutlookProvider -Identity EXPR -CertPrincipalName msstd:*.tailspin.com</font></p> <p><font size="2"></font>&nbsp;</p> <p><font size="2">Outlook will get the changes through Autodiscover and will change the msstd value to *.tailsping.com, and next time when the client is accessing from the Internet by OA everything will work fine.</font></p> <p><font size="2">So the expected behavior will be:</font></p> <p><font size="2">1. Start Outlook from Internet (OA) after the changes:</font></p> <blockquote> <p><font size="2">a. Users will be prompted for username and password (Windows XP &amp; Outlook 2007).</font></p> <p><font size="2">b. Autodiscover will update the msstd value with *.tailspin.com.</font></p></blockquote> <blockquote> <p><font size="2">c. Restart Outlook to the new settings to take effect.</font></p></blockquote> <p><font size="2">2. Outlook will be started internally (RPC) after the changes:</font></p> <blockquote> <p><font size="2">a. Outlook will get the new value of msstd through Autodiscover.</font></p> <p><font size="2">b. No user name and password, everything will work fine on RPC.</font></p> <p><font size="2">c. When try OA after that everything will work because the msstd value is updated.</font></p></blockquote> <p><font size="2"></font>&nbsp;</p> <p><font size="2">Having say so it will worth to note that Autodiscover works in the following conditions:</font></p> <ul> <li><font size="2">Every time that the application starts </font> </li><li><font size="2">At intervals on a background thread (every 60 minutes) </font> </li><li><font size="2">Any time that the client&#39;s connection to an Exchange server fails </font></li></ul> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">Which means if Outlook is already running during the changes, Autodiscover will modify the value based on the background thread (maximum 60 minutes after changes).</font></p> <p><font size="2"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange 2010 Disclaimer is not working after upgrading from Exchange 2007</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/exchange-2010-disclaimer-is-not-working-after-upgrading-from-exchange-2007</link>
      <pubDate>Mon, 09 Feb 2015 09:23:37 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/exchange-2010-disclaimer-is-not-working-after-upgrading-from-exchange-2007/</guid>
      <description><![CDATA[You may face this problem after upgrading from Exchange 2007 to Exchange 2010. During Implementation...]]></description>
      <content:encoded><![CDATA[<p><font size="2">You may face this problem after upgrading from Exchange 2007 to Exchange 2010.</font></p> <p><font size="2">During Implementation of Exchange 2010 the old transport rules will be copied from Exchange 2007 to Exchange 2010 new location (the format and location of the transport rules are changed in 2010).</font></p> <p><font size="2">However you may have the disclaimer is working fine from users in Exchange 2007 (because they are using HUB 2007) and not working for the users in Exchange 2010.</font></p> <p><font size="2"></font>&nbsp;</p> <p><font size="2">The problem here that disclaimer in condition “Outside the organization” will not work when not having out of the office and legacy messages allowed to external, the solution is very simple as the following snapshot:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4201.disc_39D51E5C.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4201.disc_5F00_39D51E5C.jpg"><font size="2"><img title="disc" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="disc" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0486.disc_thumb_26F074E5.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0486.disc_5F00_thumb_5F00_26F074E5.jpg" width="1178" height="659" /></font></a></p> <p><font size="2"></font>&nbsp;</p> <p><font size="2">Restart the transport service on all hub servers you have and the disclaimer will be applied.</font></p> <p><font size="2"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Error: Cannot find a recipient that has mailbox GUID in Cross-Forest Migration</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/error-cannot-find-a-recipient-that-has-mailbox-guid-in-cross-forest-migration</link>
      <pubDate>Mon, 09 Feb 2015 09:20:41 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/error-cannot-find-a-recipient-that-has-mailbox-guid-in-cross-forest-migration/</guid>
      <description><![CDATA[Symptoms: Error when moving mailbox: Cannot find a recipient that has mailbox GUID. The following...]]></description>
      <content:encoded><![CDATA[<p><b><font size="2">Symptoms:</font></b></p> <p><font size="2">Error when moving mailbox: Cannot find a recipient that has mailbox GUID.</font></p> <p><font size="2">The following snapshot shows the result of running New-MoveRequest:</font></p> <p><font size="2"></font>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3007.clip_image002_2A97D1F5.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3007.clip_5F00_image002_5F00_2A97D1F5.jpg"><font size="2"><img title="clip_image002" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/1832.clip_image002_thumb_324F9ECA.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/1832.clip_5F00_image002_5F00_thumb_5F00_324F9ECA.jpg" width="905" height="218" /></font></a></p> <p><font size="2">The error is: <b>Cannot find a recipient that has mailbox GUID</b></font></p> <p><b><font size="2"></font></b></p> <p><b><font size="2">Problem:</font></b></p> <p><font size="2">The error is clearly saying that there is no Mail Enabled User (MEU) with the mandatory attribute msexchmailboxguid, however when we check the MEU LDAP property:</font></p> <p><font size="2"></font>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4571.clip_image004_12909F35.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4571.clip_5F00_image004_5F00_12909F35.jpg"><font size="2"><img title="clip_image004" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3581.clip_image004_thumb_29033DBC.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3581.clip_5F00_image004_5F00_thumb_5F00_29033DBC.jpg" width="919" height="164" /></font></a></p> <p><font size="2"></font>&nbsp;</p> <p><font size="2">The problem here that when the remote forest implies a child name relationship, Exchange 2010 will think that this is a child domain and then the strange error will be returned. In our case the source forest name is egypt.tailspin.com and the target forest name is tailspin.com so Exchange will think that the target is child domain from the source forest and it will fail.</font></p> <p><font size="2">The following KB2598985 (which just released from 3 days) is talking about this scenario. </font><a href="http://support.microsoft.com/kb/2598985"><font size="2">http://support.microsoft.com/kb/2598985</font></a></p> <p><b><font size="2"></font></b></p> <p><b><font size="2">Solution:</font></b></p> <p><font size="2">Before the release of </font><a href="http://www.microsoft.com/download/en/details.aspx?id=28809"><font size="2">Exchange 2010 SP2 Rollup Update 1</font></a><font size="2"> the solution one of the following painful options:</font></p> <ol> <li><font size="2">Export all mailboxes as PST files from the source forest and then import it in the target forest: this option is based on big bang approach where there is no co-existence. This option might be considered in small companies where we can disconnect the source forest, export the PSTs and import it to the target forest in reasonable downtime. </font> </li><li><font size="2">Co-Existence: when co-existence is required in enterprise companies with thousands of users the only option will be creating Intermediate Forest: Create new forest with different name (ex: intermediate.local), move mailboxes from source forest to the intermediate forest, then move the mailboxes again from the intermediate forest to the target forest, this option explained in details in my earlier blog post: </font><a href="http://blogs.technet.com/b/meamcs/archive/2011/10/25/exchange-2010-cross-forest-migration-step-by-step-guide-part-iii.aspx"><font size="2">Exchange 2010 Cross-Forest Migration Step by Step Guide – Part III</font></a><font size="2"> (</font><a href="http://blogs.technet.com/b/meamcs/archive/2011/10/25/exchange-2010-cross-forest-migration-step-by-step-guide-part-iii.aspx"><font size="2">http://blogs.technet.com/b/meamcs/archive/2011/10/25/exchange-2010-cross-forest-migration-step-by-step-guide-part-iii.aspx</font></a><font size="2">) </font></li></ol> <p><font size="2"></font>&nbsp;</p> <p><font size="2">Note: This problem has been solved with Exchange 2010 SP2 RU1 which you can get from the following URL: </font><a href="http://www.microsoft.com/download/en/details.aspx?id=28809"><font size="2">http://www.microsoft.com/download/en/details.aspx?id=28809</font></a><font size="2"> .</font></p> <p><font size="2"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>PST Capture Tool Error 401 with Office 365</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/pst-capture-tool-error-401-with-office-365</link>
      <pubDate>Mon, 09 Feb 2015 09:16:54 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/pst-capture-tool-error-401-with-office-365/</guid>
      <description><![CDATA[This blog post will focus only on specific problem when using Microsoft Exchange PST Capture Tool...]]></description>
      <content:encoded><![CDATA[<p align="left"><font size="2">This blog post will focus only on specific problem when using Microsoft Exchange PST Capture Tool with Office 365.</font></p> <p align="left"><font size="2">So if you need more information about PST Capture Tool, check the following URLs:</font></p> <ol> <li> <div align="left"><font size="2">Download the PST Capture Tool: </font><a href="http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;id=28767"><font size="2">http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&amp;id=28767</font></a></div> </li><li> <div align="left"><font size="2">PST Capture Tool Documentation: </font><a href="http://technet.microsoft.com/en-us/library/hh781036"><font size="2">http://technet.microsoft.com/en-us/library/hh781036</font></a></div></li></ol> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><font size="2">As a quick review on how to configure PST Capture Tool with Office 365, you will need first to configure:</font></p> <ol> <li> <div align="left"><font size="2">PST Search: and select the computers where you will search for PSTs: </font><a href="http://technet.microsoft.com/en-us/library/hh781034"><font size="2">http://technet.microsoft.com/en-us/library/hh781034</font></a></div> </li><li> <div align="left"><font size="2">Create Import List: contains the list of PSTs to be imported to the cloud.</font></div> </li><li> <div align="left"><font size="2">Then configure the tool settings for Office 365 as the following snapshot:</font></div></li></ol> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4477.pst00_6F480D8A.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4477.pst00_5F00_6F480D8A.jpg"><font size="2"><img title="pst00" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="pst00" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/8664.pst00_thumb_196795A6.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/8664.pst00_5F00_thumb_5F00_196795A6.jpg" width="782" height="587" /></font></a></p> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><font size="2">As the above snapshot, you will need to enter:</font></p> <blockquote> <p align="left"><font size="2">1. User Name: this account should be Global Administrator on your tenant. (In this article the tenant will be domain.onmicrosoft.com).</font></p> <p align="left"><font size="2">2. Select: Grant delegate access to this mailbox.</font></p> <p align="left"><font size="2">3. Enter the server name: you can get the server name for your account from OWA:</font></p> <p align="left"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Click options, then see all options</font></p> <p align="left"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Under “My Accounts” click on “<b>Settings for POP, IMAP, and SMTP access... </b>“</font></p> <p align="left"><font size="2">4. Select: The above is an Office 365 Server.</font></p></blockquote> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><font size="2">Then click <strong>check</strong> to check password and connectivity. And you will receive the following error:</font></p> <p align="left"><font size="2">Cannot connect to user </font><a href="mailto:pst@domain.onmicrosoft.com"><font size="2">pst@domain.onmicrosoft.com</font></a><font size="2"> inbox on server <b>servername.</b> Error is request failed. The remote server returned an error: (401) Unauthorized.</font></p> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><font size="2">The following snapshot shows the error:</font></p> <p align="left"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7103.clip_image002_608D3BD8.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7103.clip_5F00_image002_5F00_608D3BD8.png"><font size="2"><img title="clip_image002" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0576.clip_image002_thumb_450839D5.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0576.clip_5F00_image002_5F00_thumb_5F00_450839D5.png" width="798" height="599" /></font></a></p> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><font size="2">Very clear!! <img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3487.wlEmoticon-smile_4DC81C54.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3487.wlEmoticon_2D00_smile_5F00_4DC81C54.png" />, this error will happen if you didn’t logon with this account on Outlook before. So the simple solution will be:</font></p> <ol> <li> <div align="left"><font size="2">As the tool prerequisites, you should have Outlook installed on the same server.</font></div> </li><li> <div align="left"><font size="2">Configure Outlook profile for the user you are using in the tool (</font><a href="mailto:pst@domain.onmicrosoft.com"><font size="2">pst@domain.onmicrosoft.com</font></a><font size="2">).</font></div> </li><li> <div align="left"><font size="2">Open Outlook and logon to the account.</font></div></li></ol> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><font size="2">Go back to the PST Capture Tools, click <b>Check</b> and voila:</font></p> <p align="left"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0741.clip_image003_25B56D35.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0741.clip_5F00_image003_5F00_25B56D35.jpg"><font size="2"><img title="clip_image003" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5047.clip_image003_thumb_01CC95DB.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5047.clip_5F00_image003_5F00_thumb_5F00_01CC95DB.jpg" width="804" height="602" /></font></a></p> <p align="left"><font size="2"></font>&nbsp;</p> <p align="left"><font size="2">As you can see in the above snapshot you are successfully connected to Exchange Online. Now you can continue the steps to upload the PST to the cloud.</font></p> <p><font size="2"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Challenges of Migration from GroupWise to Exchange 2010: Meeting Request</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/challenges-of-migration-from-groupwise-to-exchange-2010-meeting-request</link>
      <pubDate>Mon, 09 Feb 2015 09:14:21 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/challenges-of-migration-from-groupwise-to-exchange-2010-meeting-request/</guid>
      <description><![CDATA[The previous article explained the first challenge which is co-existence: Challenges of Migration...]]></description>
      <content:encoded><![CDATA[<p align="justify"><font size="2">The previous article explained the first challenge which is co-existence:</font></p> <p align="justify"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/challenges-of-migration-from-groupwise-to-exchange-2010-co-existence.aspx"><font size="2">Challenges of Migration from GroupWise to Exchange 2010: Co-Existence</font></a></p> <p align="justify"><font size="2">In this article I will talk about one of the most annoying problems that may affect the migration which is meeting request between Exchange and GroupWise.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><b><font size="2">Symptoms:</font></b></p> <p align="justify"><font size="2">Meeting requests from GroupWise to Exchange working fine. However meeting requests from Exchange to GroupWise delivered as normal email without Accept/Deny buttons.</font></p> <p align="justify"><font size="2">The following snapshot shows how GroupWise client receive the meeting request from Exchange:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6471.02-MR1_6ECAEDEB.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6471.02_2D00_MR1_5F00_6ECAEDEB.jpg"><font size="2"><img title="02-MR1" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="02-MR1" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6471.02-MR1_thumb_17DE4C5E.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6471.02_2D00_MR1_5F00_thumb_5F00_17DE4C5E.jpg" width="818" height="486" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">As in the previous snapshot, meeting requests appear as normal email to the recipient.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><b><font size="2">Solution:</font></b></p> <p align="justify"><font size="2">From Exchange Management Console (EMC), open the properties of the mail contact created for GroupWise recipient and for Use MAPI rich text format select “Never”, as the following snapshot</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5618.clip_image003_27C8AB33.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5618.clip_5F00_image003_5F00_27C8AB33.jpg"><font size="2"><img title="clip_image003" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7268.clip_image003_thumb_0373A0E4.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7268.clip_5F00_image003_5F00_thumb_5F00_0373A0E4.jpg" width="462" height="535" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">As expected GroupWise will never understand the MAPI format and will treat the meeting request as normal email.</font></p> <p align="justify"><font size="2">This can be done for bulk users by simply execute the following cmdlet:</font></p> <p align="justify"><font size="2">Get-MailContact |Set-MailContact -UseMapiRichTextFormat:never</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">After executing the cmdlet now the meeting request is a meeting request in GroupWise client:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/1488.02-MR3_71D3904B.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/1488.02_2D00_MR3_5F00_71D3904B.jpg"><font size="2"><img title="02-MR3" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="02-MR3" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4150.02-MR3_thumb_64C98A6D.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4150.02_2D00_MR3_5F00_thumb_5F00_64C98A6D.jpg" width="831" height="497" /></font></a></p> <p><font size="2"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Challenges of Migration from GroupWise to Exchange 2010: Co-Existence</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/challenges-of-migration-from-groupwise-to-exchange-2010-co-existence</link>
      <pubDate>Mon, 09 Feb 2015 09:13:21 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/challenges-of-migration-from-groupwise-to-exchange-2010-co-existence/</guid>
      <description><![CDATA[This article will discuss a high level overview about the migration from GroupWise to Exchange 2010....]]></description>
      <content:encoded><![CDATA[<p align="justify"><font size="2">This article will discuss a high level overview about the migration from GroupWise to Exchange 2010.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">The following steps summarize the migration process from GroupWise to Exchange 2010:</font></p> <p align="justify"><font size="2">1. Design Exchange 2010.</font></p> <p align="justify"><font size="2">2. Implement and configure Exchange 2010.</font></p> <p align="justify"><font size="2">3. Select the migration software (3<sup>rd</sup> party).</font></p> <p align="justify"><font size="2">4. Setup Co-Existence between GroupWise and Exchange.</font></p> <p align="justify"><font size="2">5. Migrate the users’ mailboxes.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">In this article I will concentrate on Step 4. In my environment I will use Quest tools for the migration. Reading most of Quest guidance they covered the implementation of the tool and step 5 only, while the most important step (Step 4) is not covered.</font></p> <p align="justify"><font size="2">Simply co-existence including mail flow is product configuration and not relevant to the migration software. In this article I will explain how to have mail flow between both systems and also will cover share SMTP namespace.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">There are three options to for mail co-existence:</font></p> <p align="justify"><font size="2">1. <strong>Single Namespace</strong>: in this scenario we will have one domain to cover both systems. As example tailspin.com domain will be used in both systems, each system will forward the emails to the other if there is no recipient locally as follows:</font></p> <p align="justify"><font size="2">When users in GroupWise send email to one of Exchange users, GroupWise will not find a mailbox for the recipient locally and will forward the email to Exchange, same from Exchange side.</font></p> <p align="justify"><font size="2">Problem: while this is easy to configure from Exchange side, I couldn’t find a way to do it from GroupWise side that will not result in loop. To avoid loops we must have one side responsible on sending NDR if it can’t find the user.</font></p> <p align="justify"><font size="2">2. <strong>Different Domains</strong>: in this scenario we will have two different domains, one for each system:</font></p> <blockquote> <p align="justify"><font size="2">a. groupwise.tailspin.com: for GroupWise users. Exchange users&nbsp; will send to users in GroupWise using this address.</font></p> <p align="justify"><font size="2">b. exchange.tailspin.com: users in GroupWise will send emails to Exchange users using this address.</font></p></blockquote> <p align="justify"><font size="2">3. <strong>Hybrid</strong>: to mix both approaches as follow:</font></p> <blockquote> <p align="justify"><font size="2">a. <strong>Exchange Side</strong>: will use single namespace, Exchange will have mail contacts for all users in GroupWise, when mailbox in Exchange is sending to one of the GroupWise users (contacts in Exchange), Exchange will forward the email to GroupWise server. This will maintain GroupWise as the owner of the domain, which means if the user is not exist in GroupWise, GroupWise will issue Non Delivery Report (NDR).</font></p> <p align="justify"><font size="2">b. <strong>GroupWise Side</strong>: for users planned to be&nbsp; migrated from GroupWise to Exchange, Quest tool will configure forwarding rule that will forward all emails sent to </font><a href="mailto:user1@contoso.com"><font size="2">user1@tailspin.com</font></a><font size="2"> to </font><a href="mailto:user1@exchange.contoso.com"><font size="2">user1@exchange.tailspin.com</font></a><font size="2"> which reside on Exchange servers.</font></p> <p align="justify"><font size="2">I’ve selected option 3 in my environment and the following steps explain the steps of how to configure in both environments:</font></p> <p align="justify"><font size="2"></font>&nbsp;</p></blockquote> <p align="justify"><b><font size="2">Step 1: Configure Exchange with tailspin.com as shared namespace:</font></b></p> <p align="justify"><font size="2">In Exchange we will need to configure the following:</font></p> <p align="justify"><font size="2"><strong>1. Internal Relay Domain</strong>: the internal relay simply means that Exchange is not Authoritative (owner) of this domain, which means if the recipient email is not exist on Exchange it may be exist on another system (so no NDR will be generated).</font></p> <p align="justify"><font size="2">The following article contains more information about the accepted domain: </font><a href="http://technet.microsoft.com/en-us/library/bb124423.aspx?ocid=moham"><font size="2">http://technet.microsoft.com/en-us/library/bb124423.aspx</font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">The following snapshot shows how to configure Internal Relay Domain:</font></p> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5238.01-IR_2990E53A.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5238.01_2D00_IR_5F00_2990E53A.jpg"><font size="2"><img title="01-IR" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="01-IR" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5635.01-IR_thumb_718EF156.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5635.01_2D00_IR_5F00_thumb_5F00_718EF156.jpg" width="507" height="566" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><strong><font size="2">2. Create and configure Send Connector:</font></strong></p> <p align="justify"><font size="2">Create custom send connector with domain tailspin.com, make sure that the source server is the HUB servers (not Edge) and select “Route mail through Smart Host” this is should be the IP of the GroupWise server, if you will use CMG (Quest Co-existence Manage for GroupWise) then the IP should be the CMG’s IP.</font></p> <p align="justify"><font size="2">3. Make sure that you have mail contact created for all users on GroupWise side, this is a mandatory step for the migration later, and can be done using Quest CMG (Co-existence Manage for GroupWise) Directory Connector or by import users to Active Directory using CSV file.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><b><font size="2">Step 2: Configure GroupWise Side:</font></b></p> <p align="justify"><font size="2">When migrating a user from GroupWise to Exchange, one of the steps when using Quest tool “GroupWise Migration for Exchange” is to forward emails to Exchange account which should be </font><a href="mailto:user@exchange.tailspin.com"><font size="2">user@exchange.tailspin.com</font></a><font size="2">.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">So the steps to configure GroupWise as follow:</font></p> <p align="justify"><font size="2">1. <strong>Configure Smart Host</strong>: this step will configure GroupWise to send all emails send to particular domain (exchange.tailspin.com) to a specific IP, again if you will use CMG then this is the IP of the CMG server.</font></p> <p align="justify"><font size="2">This configuration should be done through route.cfg file on the GroupWise server, this file location is <font color="#0000ff">domain\qpgate\gwia,</font> create the file if it’s not there.</font></p> <p align="justify"><font size="2">Open the file in text editor and add the following line:</font></p> <p align="justify"><font size="2">exchange.tailspin.com xxx.xxx.xxx.xxx</font></p> <p align="justify"><font size="2">Where the IP is CMG IP or Exchange 2010 HUB. And restart the GWIA service (this is the service responsible of send/receive SMTP, similar to Exchange Transport Service)</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">2. <strong>Enable Flat Forwarding</strong>: in GroupWise the forward rule will send the email with from field from the user, example: user1 send email to user2, there is forward rule to forward all emails sent to </font><a href="mailto:user2@tailspin.com"><font size="2">user2@tailspin.com</font></a><font size="2"> to </font><a href="mailto:user2@exchange.tailspin.com"><font size="2">user2@exchange.tailspin.com</font></a><font size="2">, all emails will go to Exchange side with from field from </font><a href="mailto:user2@tailspin.com"><font size="2">user2@tailspin.com</font></a><font size="2"> (very strange to Exchange guys like me :)). To present from field as the real sender of the message we will need to enable flat forwarding.</font></p> <p align="justify"><font size="2">The following steps show how to do it:</font></p> <blockquote> <p align="justify"><font size="2">a. Open ConsoleOne &gt; Browse to GWIA &gt; open properties.</font></p> <p align="justify"><font size="2">b. Select SMTP tab &gt; check to enable flat forwarding. As the following snapshot:</font></p></blockquote> <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6787.01-FF_2339E8DF.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6787.01_2D00_FF_5F00_2339E8DF.jpg"><font size="2"><img title="01-FF" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="01-FF" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7444.01-FF_thumb_112DA552.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7444.01_2D00_FF_5F00_thumb_5F00_112DA552.jpg" width="675" height="508" /></font></a></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">3. When migrating the user’s mailbox using Quest GME (GroupWise Migration for Exchange) you will select GroupWise Administrative functions &gt; select set forwarding from GroupWise to Exchange.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2"><b>4. </b><b>Step 3: Testing:</b></font></p> <p align="justify"><font size="2">Send emails from Exchange to GroupWise and vice versa.</font></p> <p align="justify"><font size="2"></font>&nbsp;</p> <p align="justify"><font size="2">This article explained the main challenge which is co-existence, in the next articles we will discuss some of the migration problems that may happen during Step 5: The migration.</font></p> <p><font size="2"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Azure – Remove Virtual Disks</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/windows-azure-remove-virtual-disks</link>
      <pubDate>Mon, 09 Feb 2015 09:07:58 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/windows-azure-remove-virtual-disks/</guid>
      <description><![CDATA[This is very famous issue when you create many Virtual Machines on Windows Azure, after deleting...]]></description>
      <content:encoded><![CDATA[<p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">This is very famous issue when you create many Virtual Machines on Windows Azure, after deleting the VMs the virtual disks (VHD files) are still there.</font></p> <p><font size="3" face="Calibri">So far there is no way to remove these VHD files using the GUI interface, so I started to search how can I do it through PowerShell. The challenge of Azure PowerShell is that most of the resources available for developers using Visual Studio, for me any thing starts with Visual Studio is sort of mystery (The nice story that one of my developer friends identify SharePoint Site Collection: is a site contains collections is true story) that should be left to wisdom men (like this friend) who can understand it <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5531.wlEmoticon-smile_298E1037.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5531.wlEmoticon_2D00_smile_5F00_298E1037.png" />.</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">For Infrastructure guys like me, the following are step by step of how to use PowerShell to connect to Azure and then delete the VHDs:</font></p> <p><strong><font size="3" face="Calibri">Step 1: Management Certificate:</font></strong></p> <p><font size="3" face="Calibri">In simple words we will need a certificate to connect with PowerShell to Azure, this certificate should be 2048 bits at least, self signed certificate is good option for testing and labs.</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Creating Self Signed Certificate can be done by many ways, the easiest way is using the normal PowerShell:</font></p> <blockquote> <p><font size="3" face="Calibri">1. Open PowerShell (as an Administrator).</font></p> <p><font size="3" face="Calibri">2. Type the following cmdlet:</font></p></blockquote> <p><font size="3" face="Calibri">New-SelfSignedCertificate -DnsName azure -CertStoreLocation cert:\LocalMachine\My</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">This cmdlet will create new self signed certificate and place it in the local machine store, check the following snapshots:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2703.image_555E6426.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2703.image_5F00_555E6426.png"><font size="3" face="Calibri"><img title="image" style="background-image:none;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6330.image_thumb_2C071C28.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6330.image_5F00_thumb_5F00_2C071C28.png" width="817" height="163" /></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Let’s make sure that the certificate is created:</font></p> <blockquote> <p><font size="3" face="Calibri">1. From Run &gt; Type mmc.</font></p> <p><font size="3" face="Calibri">2. Click File &gt; Add/Remove Snap-in.</font></p> <p><font size="3" face="Calibri">3. Select Certificate and Click Add.</font></p> <p><font size="3" face="Calibri">4. Select Computer Account &gt; Finish.</font></p> <p><font size="3" face="Calibri">5. Under Personal &gt; Certificate &gt; you should find the new certificate “azure”:</font></p></blockquote> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/8182.image_65A663BA.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/8182.image_5F00_65A663BA.png"><font size="3" face="Calibri"><img title="image" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2313.image_thumb_2CEB93E0.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2313.image_5F00_thumb_5F00_2CEB93E0.png" width="679" height="620" /></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">The next step is to upload this certificate with private key (the PFX file) to Windows Azure, in order to do that you will need to export the PFX file (the certificate with the Private Key) first:</font></p> <blockquote> <p><font size="3" face="Calibri">1. From the same Snap-in.</font></p> <p><font size="3" face="Calibri">2. Right click the certificate &gt; All Tasks &gt; Export.</font></p> <p><font size="3" face="Calibri">3. Click Next &gt; Select “Yes Export the Private Key” &gt; Click Next.</font></p> <p><font size="3" face="Calibri">4. On Export File Format click next &gt; Then provide the password.</font></p> <p><font size="3" face="Calibri">5. Browse to the location where you will save the certificate.</font></p></blockquote> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">From Azure Management Portal create a new Cloud Service to use it with the certificate:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7418.image_63D54C4C.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7418.image_5F00_63D54C4C.png"><font size="3" face="Calibri"><img title="image" style="background-image:none;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2438.image_thumb_238F0D05.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2438.image_5F00_thumb_5F00_238F0D05.png" width="809" height="209" /></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">After having the PFX file we will need to upload it to Windows Azure:</font></p> <ol> <li> <p><font size="3" face="Calibri">Log into the </font><a href="http://manage.windowsazure.com/"><font size="3" face="Calibri">Management Portal</font></a><font size="3" face="Calibri">.</font></p> </li><li> <p><font size="3" face="Calibri">In the navigation pane, click <strong>Cloud Services</strong>, and then click the service for which you want to add a new certificate.</font></p> </li><li> <p><font size="3" face="Calibri">On the ribbon, click <strong>Certificates</strong>, and then click <strong>Upload a Certificate</strong>.</font></p> </li><li> <p><font size="3" face="Calibri">In the <strong>Upload certificate</strong> dialog, click <strong>Browse For File</strong>, go to the directory containing your certificate, and select the .pfx&nbsp; file to upload.</font></p> </li><li> <p><font size="3" face="Calibri">Type the password of the private key for the certificate.</font></p> </li><li> <p><font size="3" face="Calibri">Click <strong>OK</strong>.</font></p></li></ol> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/8738.image_2DFFBB58.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/8738.image_5F00_2DFFBB58.png"><font size="3" face="Calibri"><img title="image" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3581.image_thumb_77426053.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3581.image_5F00_thumb_5F00_77426053.png" width="513" height="341" /></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"><strong>Step 2: Install Azure PowerShell</strong></font></p> <p><font size="3" face="Calibri">To install Windows Azure PowerShell:</font></p> <ol> <li><font size="3" face="Calibri">Download Windows Azure PowerShell: </font><a title="http://go.microsoft.com/?linkid=9811175&amp;clcid=0x409" href="http://go.microsoft.com/?linkid=9811175&amp;clcid=0x409"><font size="3" face="Calibri">http://go.microsoft.com/?linkid=9811175&amp;clcid=0x409</font></a><font size="3" face="Calibri">&nbsp;</font>  </li><li><font size="3" face="Calibri">Install Windows Azure PowerShell.</font> </li></ol> <p><font size="3" face="Calibri"></font></p> <p><strong><font size="3" face="Calibri">Step 3: Connect to Azure:</font></strong></p> <p><font size="3" face="Calibri">Before we start using the Windows Azure cmdlets to remove the VHDs or anything else, we will need to configure connectivity between the workstation and Windows Azure. This can be done by downloading the PublishSettings file (this file will setup the PowerShell environment to use Windows Azure) from Windows Azure and importing it. The settings for Windows Azure PowerShell are stored in: <strong>&lt;user&gt;\AppData\Roaming\Windows Azure PowerShell</strong>. </font></p> <p><font size="3" face="Calibri"></font></p> <ol> <li><font size="3" face="Calibri">From Windows Azure PowerShell type the following cmdlet:</font>  <p><font size="3" face="Calibri">Get-AzurePublishSettingsFile </font></p> <p><font size="3" face="Calibri">A browser window opens at </font><a href="https://windows.azure.com/download/publishprofile.aspx"><font size="3" face="Calibri">https://windows.azure.com/download/publishprofile.aspx</font></a><font size="3" face="Calibri">, where you can sign in to Windows Azure.</font></p> </li><li><font size="3" face="Calibri">Sign in to the Windows Azure Management Portal, and then follow the instructions to download your Windows Azure publishing settings. Use your browser to save the file as a .publishsettings file to your local computer. Note the location of the file.</font>  </li><li><font size="3" face="Calibri">In the Windows Azure PowerShell window, run the following command:</font>  <p><font size="3" face="Calibri">Import-AzurePublishSettingsFile FileName.publishsettings </font></p></li></ol> <p><font size="3" face="Calibri"></font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0564.image_6E725807.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0564.image_5F00_6E725807.png"><font size="3" face="Calibri"><img title="image" style="background-image:none;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6574.image_thumb_36DBD572.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6574.image_5F00_thumb_5F00_36DBD572.png" width="832" height="159" /></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><strong><font size="3" face="Calibri">Step 4: Remove the VHDs (Finally)</font></strong></p> <p><font size="3" face="Calibri">Once we are connected now to Azure, we can manage Azure with PowerShell and do anything we need, if you forgot what was the purpose of this article this is the time you will need to scroll up and read it again <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5531.wlEmoticon-smile_298E1037.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5531.wlEmoticon_2D00_smile_5F00_298E1037.png" /></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Run the following cmdlet to see all the virtual disks (the VHD file):</font></p> <p><font size="3" face="Calibri">Get-Azuredisk</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3348.disk_2101C748.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3348.disk_5F00_2101C748.jpg"><font size="3" face="Calibri"><img title="disk" style="background-image:none;display:inline;" border="0" alt="disk" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3122.disk_thumb_120A7261.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3122.disk_5F00_thumb_5F00_120A7261.jpg" width="839" height="213" /></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">In the above snapshot this is the disk that I want to remove (you will need to make sure that is not connected to any Virtual Machine), then run the following cmdlet:</font></p> <p><font size="3" face="Calibri">Remove-AzureDisk &lt;DiskName&gt;</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7367.image_50CC433C.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7367.image_5F00_50CC433C.png"><font size="3" face="Calibri"><img title="image" style="background-image:none;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7510.image_thumb_0B474311.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7510.image_5F00_thumb_5F00_0B474311.png" width="848" height="124" /></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Now you will probably decide to leave the VHDs and not delete them which is easier <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5531.wlEmoticon-smile_298E1037.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5531.wlEmoticon_2D00_smile_5F00_298E1037.png" />, I don’t blame you for that. But you will have this article as reference in case one day someone asked you the question: How can I remove the unused VHD file.</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">for more details about Azure PowerShell: </font><a title="http://msdn.microsoft.com/en-us/library/windowsazure/jj156055.aspx" href="http://msdn.microsoft.com/en-us/library/windowsazure/jj156055.aspx"><font size="3" face="Calibri">http://msdn.microsoft.com/en-us/library/windowsazure/jj156055.aspx</font></a></p> <p><font size="3" face="Calibri">for more information about Azure Management Certificate: </font><a title="http://msdn.microsoft.com/en-us/library/windowsazure/gg981929.aspx" href="http://msdn.microsoft.com/en-us/library/windowsazure/gg981929.aspx"><font size="3" face="Calibri">http://msdn.microsoft.com/en-us/library/windowsazure/gg981929.aspx</font></a><font size="3" face="Calibri">&nbsp;</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><a title="-Windows AzurePowerShellLast updated March 2013" href="http://go.microsoft.com/?linkid=9811175&amp;clcid=0x409"><font size="3" face="Calibri">&nbsp;</font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Office 365 in Arabic - Arabization – Part V</title>
      <link>https://docs.microsoft.com/archive/blogs/mm/office-365-arabization-part-v</link>
      <pubDate>Mon, 09 Feb 2015 08:39:54 GMT</pubDate>
      <dc:creator><![CDATA[Mohamed Marzouk [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mm/2015/02/09/office-365-arabization-part-v/</guid>
      <description><![CDATA[In the previous part I’ve explained the Arabic dynamic distribution groups, in this part we will...]]></description>
      <content:encoded><![CDATA[<p><font size="3" face="Calibri">In the previous part I’ve explained the Arabic dynamic distribution groups, in this part we will discuss the reporting.</font></p> <p><font size="3" face="Calibri"></font></p> <p><b><font size="3" face="Calibri">Reporting</font></b></p> <p><font size="3" face="Calibri">First question you will get after setting up the tenant and create the users will be: I need list of all users with a specific parameter.</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">The main cmdlet here is Export-Csv this cmdlet can be used to export the result to the CSV file:</font></p> <p><b><font size="3" face="Calibri">I need list of all licensed users</font></b></p> <p><font size="3" face="Calibri">Get-MsolUser | Where-Object {$_.isLicensed -eq &quot;TRUE&quot;} | Export-Csv d:\licensedUsers.csv</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">In the above cmdlet:</font></p> <blockquote> <p><font size="3" face="Calibri">1. First part we are getting all users.</font></p> <p><font size="3" face="Calibri">2. Second part is to filter users with parameter islicensed=true</font></p> <p><font size="3" face="Calibri">3. Export the list of users to the CSV file.</font></p></blockquote> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Let’s open the result file in notepad:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6545.clip_image002_22BB8B88.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6545.clip_5F00_image002_5F00_22BB8B88.jpg"><font size="3" face="Calibri"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/2158.clip_image002_02049C16.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/2158.clip_5F00_image002_5F00_02049C16.jpg"><img title="clip_image002" style="background-image:none;display:inline;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0246.clip_image002_thumb_653B0133.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0246.clip_5F00_image002_5F00_thumb_5F00_653B0133.jpg" width="828" height="209" /></a></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">We have a lot of problems:</font></p> <blockquote> <p><font size="3" face="Calibri">1. Arabic is “?????” so the file isn’t useful. The default format is ASCII so we need to make it Unicode.</font></p> <p><font size="3" face="Calibri">2. The first line is listing the .Net Object Type.</font></p> <p><font size="3" face="Calibri">3. Also there a lot of not needed values like the first column.</font></p></blockquote> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">So let’ make some modification to the cmdlet:</font></p> <p><font size="3" face="Calibri">Get-MsolUser | Where-Object {$_.isLicensed -eq &quot;TRUE&quot;} | Select-Object -property &quot;UserPrincipalName&quot; | Export-Csv -Encoding unicode d:\licensedUsers.csv -NoTypeInformation</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">In the above cmdlet:</font></p> <blockquote> <p><font size="3" face="Calibri">1. The third part is added for the filtered users we select the following properties: UserPrincipalName and Department.</font></p> <p><font size="3" face="Calibri">2. In the last part for the exported CSV file we set the encoding to Unicode instead of ASCII (the default value).</font></p> <p><font size="3" face="Calibri">3. And to remove the .Net value we have added –NoTypeInformation</font></p></blockquote> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">And the result as follows:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/6165.clip_image004_556B4662.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/6165.clip_5F00_image004_5F00_556B4662.jpg"><font size="3" face="Calibri"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0654.clip_image004_37A9BBA3.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0654.clip_5F00_image004_5F00_37A9BBA3.jpg"><img title="clip_image004" style="background-image:none;display:inline;" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0045.clip_image004_thumb_358CBCDA.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0045.clip_5F00_image004_5F00_thumb_5F00_358CBCDA.jpg" width="820" height="194" /></a></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Now the file can be useful for reporting, so let’s see more examples:</font></p> <p><font face="Calibri"><font size="3"><b>I need List of all users with department “</b><b>?????</b><b>”:</b></font></font></p> <p><font size="3" face="Calibri">Don’t forget that you will need PowerShell ISE for Arabic support (review the previous parts).</font></p> <p><font size="3" face="Calibri"><font>Get-MsolUser -Department &quot;?????&quot; -all | Select-Object -Property &quot;*princip*&quot;,displayname,department |Export-Csv -Encoding unicode -Path d:\?????.csv -NoTypeInformation</font> </font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">All the attributes can be used in Select-Object so we can decide what will be exported.</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4375.clip_image005_67A3E757.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4375.clip_5F00_image005_5F00_67A3E757.png"><font size="3" face="Calibri"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5314.clip_image005_3F913838.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5314.clip_5F00_image005_5F00_3F913838.png"><img title="clip_image005" style="background-image:none;display:inline;" border="0" alt="clip_image005" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/5557.clip_image005_thumb_73592E89.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/5557.clip_5F00_image005_5F00_thumb_5F00_73592E89.png" width="821" height="171" /></a></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Let’s add Exchange to the equation:</font></p> <p><font face="Calibri"><font size="3"><b>I need list of users with department “</b><b>?????</b><b>” and with mailbox size for each one:</b><b> </b></font></font></p> <p><font size="3" face="Calibri">First we will need to connect to Exchange Online as explained in the previous part (</font><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/office-365-arabization-part-iv.aspx"><font size="3" face="Calibri">Part IV: Dynamic Distribution Group</font></a><font face="Calibri"><font size="3">)<u></u></font></font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Let’s try the following cmdlet:</font></p> <p><font size="3" face="Calibri">Get-MsolUser -Department &quot;?????&quot; -all | ForEach-Object {Get-MailboxStatistics -Identity $_.userprincipalname} | Select-Object -Property displayname,&quot;lastlogo*&quot;,totalitemsize,storagelimit* | Export-Csv -Path d:\?????.csv -NoTypeInformation -Encoding unicode</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Note the following:</font></p> <blockquote> <p><font size="3" face="Calibri">1. –all in the first part to get all users, when you have large number of users.</font></p> <p><font size="3" face="Calibri">2. Second part we executed get-mailboxstatistics which will return a lot of information.</font></p> <p><font size="3" face="Calibri">3. Third part we will select from the returned result only lastlogon and totatitemsize and storagelimit.</font></p></blockquote> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Let’s check the result:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/7242.clip_image007_20AA9E8D.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/7242.clip_5F00_image007_5F00_20AA9E8D.jpg"><font size="3" face="Calibri"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/1258.clip_image007_37897009.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/1258.clip_5F00_image007_5F00_37897009.jpg"><img title="clip_image007" style="background-image:none;display:inline;" border="0" alt="clip_image007" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3704.clip_image007_thumb_7C55943D.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3704.clip_5F00_image007_5F00_thumb_5F00_7C55943D.jpg" width="830" height="210" /></a></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Last thing that of course you can open the CSV file in Excel so you have more control:</font></p> <blockquote> <p><font size="3" face="Calibri">1. Open Excel first.</font></p> <p><font size="3" face="Calibri">2. Open&gt; browse to the file.</font></p> <p><font size="3" face="Calibri">3. Select “Delimited”</font></p> <p><font size="3" face="Calibri">4. Under Delimiters &gt; select Comma &gt; then Finish.</font></p></blockquote> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/0407.clip_image009_6B21B69A.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/0407.clip_5F00_image009_5F00_6B21B69A.jpg"><font size="3" face="Calibri"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3301.clip_image009_4738DF40.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3301.clip_5F00_image009_5F00_4738DF40.jpg"><img title="clip_image009" style="background-image:none;float:none;margin-left:auto;display:block;margin-right:auto;" border="0" alt="clip_image009" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/4745.clip_image009_thumb_3E8860E7.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/4745.clip_5F00_image009_5F00_thumb_5F00_3E8860E7.jpg" width="537" height="373" /></a></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Now you can check the CSV file in Excel:</font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3644.clip_image011_46BC867E.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3644.clip_5F00_image011_5F00_46BC867E.jpg"><font size="3" face="Calibri"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/8802.clip_image011_0B1C77BE.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/8802.clip_5F00_image011_5F00_0B1C77BE.jpg"><img title="clip_image011" style="background-image:none;display:inline;" border="0" alt="clip_image011" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/79/57/metablogapi/3808.clip_image011_thumb_01E03C7D.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57-metablogapi/3808.clip_5F00_image011_5F00_thumb_5F00_01E03C7D.jpg" width="811" height="164" /></a></font></a></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">In this part I’ve explained how to export specific list of users with specific attributes.</font></p> <p><font size="3" face="Calibri"></font></p> <p><font size="3" face="Calibri">Previous Parts:</font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/office-365-arabization-part-i.aspx">Part I</a></font><font size="3" face="Calibri">: Arabic Problems</font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/office-365-arabization-part-ii.aspx">Part II</a></font><font size="3" face="Calibri">: Users Bulk Creation</font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/office-365-arabization-part-iii.aspx">Part III</a></font><font size="3" face="Calibri">: Users Bulk Modification</font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/office-365-arabization-part-iv.aspx">Part IV: Dynamic Distribution Group</a></font></p> <p><font size="3" face="Calibri"><a href="http://blogs.technet.com/b/mm/archive/2015/02/09/office-365-arabization-part-v.aspx">Part V: Reporting</a></font></p>]]></content:encoded>
    </item>
  </channel>
</rss>