• Part 4: Step-by-Step Exchange 2007 to 2013 Migration

    In part 1 we covered the deployments steps for Exchange 2013, in Part 2 of this series we covered Exchange 2013 configurations and testing, in part 3 started our migration process. In this final post we will walk through the final steps in migration, then remove our legacy server.

    8.Public Folder Migration

    This phase is very well documented online, accordingly we will walk through the steps with minimum explanations, to understand the whole processes check this Link.

    Before you begin Download all four of the Microsoft Exchange 2013 public folder migration scripts.

    Preparation (take a snapshot from current Public Folders)

    Open Exchange 2007 Management Shell and run the following commands:

    Get-PublicFolder -Recurse | Export-CliXML C:\PFMigration\Legacy_PFStructure.xml

    Capture1

    Get-PublicFolderStatistics | Export-CliXML C:\PFMigration\Legacy_PFStatistics.xml

    Capture2

    Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\PFMigration\Legacy_PFPerms.xml

    Capture3

    Rename Folders with backslash

    If the name of a public folder contains a backslash \, the public folders will be created in the parent public folder when migration occurs. You have to rename any public folders that have a backslash in the name.

    To get Public folders with backslash, run the following command:

    Get-PublicFolderDatabase | ForEach {Get-PublicFolderStatistics -Server $_.Server | Where {$_.Name -like "*\*"}}

    Capture4.1

    Change the public folder name as shown below:

    Set-PublicFolder -Identity 000000001A447390AA6611CD9BC800AA002FC45A0300D13A87259D34A142BB480F3E89AA82BF00004FD5389E0000 -name "MCS TF2"

    Capture5

    Make sure there is no previous record of a successful migration

    Get-OrganizationConfig | Format-List PublicFoldersLockedforMigration, PublicFolderMigrationComplete

    Capture6

    Generate the CSV files

    On Exchange 2007 run the below script to create the folder name-to-folder size mapping file, the file will create the folders and its sizes

    .\Export-PublicFolderStatistics.ps1 PFStat.csv e12-01

    Capture7

    image

    Copy this file to Exchange 2013 and run the below script to create the second CSV, which will let you know how many mailboxes will be required for your folders based on the mailbox you will set as show below:

    .\PublicFolderToMailboxMapGenerator.ps1 1GB PFStat.csv FolderToMailbox.csv

    Capture8

    As I have a very small PF only one Mailbox is required as below:

    image

    Create the required mailbox/s as shown below:

    New-Mailbox -PublicFolder Mailbox1 –Database DB01 –HoldForMigration: $true

    Capture10

    Start the Migration Request

    New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server e12-01.contoso.local) -CSVData (Get-Content FolderToMailbox.csv -Encoding Byte)

    Capture11

    Check the status

    Once the migration reached the AutoSuspended state as shown below, proceed to the next steps, otherwise you must wait as this may take some time based on your PF size.

    Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics

    Capture12

    Lock Down PF for Migration (Down time is required, as during this phase PF will bot be accessible for all users)

    Set-OrganizationConfig -PublicFoldersLockedForMigration:$true

    Capture13.1

    Set-PublicFolderMigrationRequest -Identity \PublicFolderMigration -PreventCompletion:$false
    Capture14

    Resume-PublicFolderMigrationRequest -Identity \PublicFolderMigration

    Capture15

    Test and Unlock the PF Migration

    I will configure a test user to use the new PF using the following command:

    Set-Mailbox -Identity mohsaeed -DefaultPublicFolderMailbox mailbox1

    Capture16

    Open the test user mailbox and run some tests: Create new post, view old posts, check permissions

    If all tests passed successful proceed to next step.

    Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
    Capture17

    Set-OrganizationConfig -PublicFolderMigrationComplete:$true

    Capture18

     

    Decommissioning Exchange 2007

    Remove Mailbox Databases, open Exchange 2007 management shell, and run the following command:

    Get-MailboxDatabase | Remove-MailboxDatabase

    Capture

    Remove your PF Databse using guidelines in this link.

    Open cmd, navigate to bin directory and run the below command:

    Setup.com /mode:uninstall

    Capture4

    Regards,

    Mohammad

  • Windows Server 2012 Direct Access – Part 1 What’s New

    Direct Access feature was introduced with Windows Server 2008 R2 and Windows 7 Client computers. Direct Access overcomes the limitations of VPNs by automatically establishing a bi-directional connection from client computers to the corporate network so users never have to think about connecting to the enterprise network and IT administrators can manage remote computers outside the office, even when the computers are not connected to the VPN.

    In this blog post series I’ll cover Direct Access Feature in Windows Server 2012 and design a complex Windows Server 2012 lab to implement Direct Access feature. In my next post I will outline the lab requirements and design considerations. With 3rd post we will be able to install direct access feature and then cover details and troubleshooting steps.

    In this first post, let’s look at the Direct Access feature on Windows 7 /2008 R2 and compare with Windows Server 2012.

    Direct Access feature in Windows Server 2008 R2 had following goals for organizations;

    • Direct Access enhances the productivity of mobile workers by connecting their computers automatically and seamlessly to their intranet any time Internet access is available
    • With Direct Access, IT staff can manage mobile computers by updating Group Policy settings and distributing software updates any time the mobile computer has Internet connectivity
    • Direct Access separates intranet from Internet traffic.
    • When an application on a Direct Access client attempts to resolve a name, it first compares the name with the rules in the NRPT (Name Resolution Policy Table )
      If there are no matches, the Direct Access client uses Internet DNS servers to resolve the name

    From connectivity perspective;

    Direct Access clients create two tunnels to the Direct Access server. The first tunnel, the infrastructure tunnel, provides access to intranet Domain Name System (DNS) servers, Active Directory Domain Services (AD DS) domain controllers, and other infrastructure and management servers. The second tunnel, the intranet tunnel, provides access to intranet resources such as Web sites, file shares, and other application servers.

    Direct Access feature relies on IPv6 network infrastructure. For those who have not a native IPv6 network infrastructure, ISATAP can be used to make intranet servers and applications reachable by tunneling IPv6 traffic over your IPv4-only intranet. Computers running Windows 7 or Windows Server 2008 R2 support ISATAP host functionality.

    To configure ISATAP you have to put ISATAP host ( A ) record in your DNS and all machines can then resolve this name to configure their ISATAP adapters.

    By default, Windows 2003 SP2 and above DNS servers do not answer queries for the names WPAD and ISATAP. That means you will need to enable queries for the ISATAP name on these servers.

    Here is a simple diagram that shows how direct access feature works on Windows Server 2008 R2;

    image

    Notice that the Direct Access client establishes two IPsec tunnels:

          IPsec Encapsulating Security Payload (ESP) tunnel with IP-TLS (Transport Layer Security) encryption using the machine certificate. This tunnel provides access to the DNS server and domain controller, allowing the computer to download Group Policy objects and to request authentication on the user’s behalf.

          IPsec ESP tunnel with IP-TLS encryption using both the machine certificate and user credentials. This tunnel authenticates the user and provides access to internal resources and application servers. For example, this tunnel would need to be established before Microsoft Outlook could download e-mail from the internal Microsoft Exchange Server.

    Also Direct Access servers running Windows Server 2008 R2 requires two network adapters, one that is connected directly to the Internet and one that is connected to the intranet. Also this server should have two consecutive and public IPv4 addresses.

    One another major challenges for IT administrators to deploy Direct Access in Windows Server 2008 R2 was the need of a PKI environment to issue computer certificates.

    And if you have not Forefront UAG, an optional NAT64 device is a requirement to provide access to IPv4-only resources for Direct Access clients.

    image

    As you noticed with above complex requirements, implementing Direct Access feature was not a easy task for IT Departments.

    Direct Access feature has been designed again with Windows Server 2012 and now  addresses better connectivity with better manageability.

    In brief, Windows Server 2012 includes following improvements over Windows Server 2008 Direct Access and RRAS features;

    • Direct Access and RRAS coexistence

    In Windows Server 2008 R2, combining RRAS and Direct Access might cause some conflicts for the remote client connectivity. Since Direct Access relies on IPv6 and RRAS implements IKEv2 IPSEC, this results in Direct Access traffic being blocked if RRAS is installed and VPN access is deployed with IKEv2. Now in Window Server 2012, Direct Access and RRAS are combined within a new unified server role.

    • Simplified Direct Access management for small and medium organization administrators

    One of the most important simplicity in Windows Server 2012 is removal of the need for a full PKI deployment. As you know that one major deployment blocker for Windows 7 Direct Access is the requirement of a Public Key Infrastructure (PKI) for server and client certificate-based authentication. Now in Windows Server 2012, client authentication requests are sent to a Kerberos proxy service running on the DA server. Then Kerberos proxy sends requests to domain controllers on behalf of the client.

    And also new getting started wizard which will be covered on next posts allows for an automated setup in a few simple steps.

    • Built-in NAT64 and DNS64 support for accessing IPv4-only resources

    In Windows Server 2008 R2, UAG might be used for NAT64 and DNS64 translations;

    image

    Now Windows Server 2012 Direct Access server includes native support for NAT64 and DNS64 translations that convert IPv6 communication from the client to IPv4 internal resources.

    • Support for Direct Access server behind a NAT device

    The Teredo IPv6 transition technology is used typically when the client system is assigned a private IP address (and for modern Windows clients, will be used when the client is assigned a public IP address and 6to4 isn’t available). A Windows Server 2008 R2 Direct Access server requires two network interfaces with two consecutive public IPv4 addresses assigned to the external interface. This is required so that it can act as a Teredo server.

    Now in Windows Server 2012 direct access server can be deployed behind a NAT device with support for only one single network interface and removes the public IPv4 address prerequisite.

    • Load balancing support

    One of the most important  enhancement is the chance to design a fully high available direct access solution. Now in Windows Server 2012, Direct Access has  built-in Windows Network Load Balancing support to achieve high availability and scalability. And this configuration can be configured within new deployment wizard interface with a couple of clicks.

    • Support for multiple domains

    Now you can configure Direct access server to allow remote clients located in different domains.

    • Support for OTP (token based authentication)

    For organizations that needs a security level with OTP vendor solutions such as RSA SecurID, Windows Server 2012 supports two factor authentication with smart cards or OTP token based solutions.

    • Automated support for force tunneling

    image

    http://blogs.technet.com/b/tomshinder/archive/2011/04/19/url-and-antivirus-filtering-for-directaccess-clients.aspx

    By default only specific network traffic (defined by DNS records) will go through direct access tunnel. But if you want to route all traffic from client computer to the intranet resources over Direct Access tunnel, you can configure it with Force Tunneling.

    Force tunneling is a feature in Windows Server 2008 R2 that forces all network traffic to be routed over Direct Access IPSEC tunnel. But it requires manual steps to enable via group policy. In Windows Server 2012, direct access has integrated force tunneling with the setup wizard.

    • Multisite support

    Now in Windows Server 2012, you can configure multiple Direct Access  entry points across remote locations. This makes sure the client locates the closest IP-HTTPS server, Teredo Server, DNS Server etc. regardless of their physical location.

    • Windows PowerShell support

    Direct Access in Windows Server 2008 R2 lacks a complete scripting and command line interface for configuration options. Windows Server 2012 provides full Windows PowerShell support for the setup, configuration, management, monitoring and troubleshooting of the Remote Access Server Role.

    • User and server health monitoring

    The Monitoring Dashboard shows a summary of remote client connectivity status for the following items. The information is generated from the relevant Performance Monitor counters and accounting data.

    • Total number of active remote clients connected – includes both Direct Access and VPN remote clients
    • Total number of active Direct Access clients connected – only the total number of clients connected using Direct Access
    • Total number of active VPN clients connected – only the total number of clients connected using VPN
    • Total unique users connected – includes both Direct Access and VPN users, based on the active connections
    • Total number of cumulative sessions – the total number of connections serviced by the Remote Access Server since the last server restart
    • Maximum number of remote clients connected – the maximum concurrent remote users connected to the Remote Access Server since the last server restart
    • Total data transferred – the total inbound and outbound traffic from the Remote Access Server for both Direct Access and VPN since the last server restart

    With the above enhancements, it’s now much easier to implement this great remote access feature in your organization.

    In second blog post of this series, I will discuss to design a Windows Server 2012 Direct Access lab that will guide us for next posts.

  • SharePoint 2010/2013 user profile synchronization

     

    The User Profile Synchronization service is the core of the synchronization architecture in SharePoint Server 2013. When you start the User Profile Synchronization service on the synchronization server, SharePoint Server 2013 provisions a version of Microsoft Forefront Identity Manager (FIM) to participate in synchronization. A User Profile service application can only have one User Profile Synchronization service. A User Profile Synchronization service is associated with connections and mappings.

    image

     

     

    clip_image001

    Plan profile synchronization for SharePoint Server 2013

    Profile synchronization (also known as "profile sync") allows you to create user profiles by importing information from other systems that are used in your organization.

    You can only run one instance of the User Profile Synchronization service on a farm,The computer on which the User Profile Synchronization service runs is called the synchronization

    You specify the synchronization server when you create the User Profile service application. SharePoint Server provisions a version of Microsoft Forefront Identity Manager (FIM) on this computer to participate in synchronization.

    When you create the User Profile service application, you can specify the synchronization server (also known as the profile synchronization instance), which is the computer that will be used to synchronize profile information. Creating the User Profile service application creates several databases, such as the profile database.

    Important consideration to guarantee successful setup for User Profile Synchronization service

    • User profiles service application should be created before starting the synchronization service
    • MySite should be setup before starting the synchronization service
    • User Profile service application can only have one User Profile Synchronization service that can be defined from the users profiles service application properties (Central administration – manage service applications

                   image

    image

     

    • The farm account (which runs the timer job) should be added during the setup to local administrators group on the server where synchronization service is going to be run (you can remove the user from the administrators group once the synchronization service is provisioned successfully) .

                         image

    Note: After making changes to the farm account, e.g. add admin to administrators (make sure to restart the timer service or restart the server) in order for this change to take effect.

    • The farm account (that runs SharePoint timer service) should has Log On Locally permission to the server on which you are trying to start the User Profile Synchronization service., this can check "allow log on locally" from administrative tools -- local security -- local policies -- user rights assignment.

     

    • Plan account permissions
      • The User Profile Synchronization service runs under the farm account. The farm account requires specific permissions to configure profile synchronization, The Farm account must be a member of the Administrators group on the synchronization server. You can remove this permission after you have configured the User Profile Synchronization service.
      • The Farm account must be able to log on locally to the synchronization server
      • The synchronization account for a connection to Active Directory Domain Services (AD DS) must have the following permissions:

     

    • One of the most important tools for monitoring and troubleshooting the synchronization process is a tool called miisclient.exe located under ..\Program Files\Microsoft Office Servers\15.0\Synchronization Service\UIShell

    Now after setting all of the above you can start the User Profile Synchronization Service which might display the status of Starting. When you start the User Profile synchronization service, SharePoint Server provisions FIM to participate in synchronization. This may take 10 minutes.

     

    Missing one of the above might cause one of the two below behaviors:

    • User profiles synchronization hang on starting
    • User profiles synchronization stop after starting it.

     

    References

    Synchronize user and group profiles in SharePoint Server 2013

    http://technet.microsoft.com/en-us/library/ee721049.aspx#UPSAProc

    Plan profile synchronization for SharePoint Server 2013

    http://technet.microsoft.com/en-us/library/ff182925.aspx

    Overview of profile synchronization in SharePoint Server 2013

    http://technet.microsoft.com/en-us/library/gg188041.aspx

    Troubleshoot User profile synchronization issues

    http://technet.microsoft.com/en-us/library/gg750257.aspx

    Harbar site - User Profile Synchronization

    http://www.harbar.net/articles/sp2010ups.aspx

  • Part 3: Step-by-Step Exchange 2007 to 2013 Migration

    In part 1 we covered the deployments steps for Exchange 2013, in Part 2 of this series we covered Exchange 2013 configurations and testing, in this part we will start our migration. Make sure to start these configuration outside business hours, also plan a proper downtime to complete these steps and test them.

    6.Move Client Access from Exchange 2007 to Exchange 2013

    Virtual Directories

    Open Exchange 2007 management shell and run the following commands.

    OWA:

    Set-OwaVirtualDirectory -Identity "e12-01\OWA (Default Web Site)" -ExternalUrl https://legacy.contoso.com/owa

    Capture1

    OAB:

    Set-OabVirtualDirectory -Identity "e12-01\OAB (Default Web Site)" -InternalUrl https://legacy.contoso.com/oab -ExternalUrl https://legacy.contoso.com/oab

    Capture2

    ActiveSync

    Set-ActiveSyncVirtualDirectory –Identity “e12-01\Microsoft-Server-ActiveSync (Default Web Site)” –ExternalUrl $Null –InternalUrl https://legacy.contoso.com/Microsoft-Server-ActiveSync

    Capture3

    Web Services:

    Set-WebServicesVirtualDirectory –Identity “e12-01\EWS (Default Web Site)” -InternalUrl https://legacy.contoso.com/ews/exchange.asmx –ExternalUrl https://legacy.contoso.com/EWS/Exchange.asmx

    Capture4

    Unified Messaging:

    Set-UMVirtualDirectory -Identity "UnifiedMessaging (Default Web Site)" –InternalUrl https://legacy.contoso.com/UnifiedMessaging/services.asmx –ExternalUrl https://legacy.contoso.com/UnifiedMessaging/services.asmx
    Capture5

    Outlook Anywhere:

    Set-OutlookAnywhere -Identity "E12-01\Rpc (Default WebSite)" -IISAuthenticationMethods Basic,Ntlm

    Capture6

    TMG Rules:

    Create/update your TMG publish rules

    For Exchange 2007 update your publish rules to accept connections for Legacy name space:

    CaptureCapture1

    Follow the steps in this link to publish Exchange 2013.

    DNS Configurations:

    Update your DNS records as follows

    Internal DNS

    Record/Type

    Comment

    mail.contoso.com

    Point to Exchange 2013 server

    autodiscover.contoso.com

    Point to Exchange 2013 server

    Legacy.contoso.com

    New record points to Exchange 2007 Server

    Public DNS

    Record

    Comment

    mail.contoso.com

    Point to TMG Listener

    autodiscover.contoso.com

    Point to TMG Listener

    Legacy.contoso.com

    New record Point to TMG Listener

    Testing

    Apply all your test scenarios for both internal and External client types; once again you can use Microsoft Remote Connectivity Analyzer

    7.Move Mailboxes:

    Once you complete your tests successfully, its time to start moving mailboxes. you can do this using EAC or Shell.

    New-MoveRequest -Identity 'mohsaeed@contoso.com' -TargetDatabase "DB01"

    Capture1

    You can create Batch moves as described in this link. Once you complete your mailboxes migration let us move to the final steps in this migration process (PF Migration and Exchange 2007 Decommissioning).

  • Exchange 2010 Cross-Forest Migration Step by Step Guide – Part I

     

    This Guide will explain the detailed steps required to do cross forest migration from source forest running Exchange 2003 to target forest running Exchange 2010.

    Active Directory Migration Tool (ADMT) will be used to migrate user accounts as well as computer accounts. There are two scenarios when using ADMT to migrate user accounts with Exchange:

    1. Run Prepare-MoveRequest.ps1 script first then ADMT: in this scenario the steps will be in the following order:

    a. Prepare-MoveREquest.ps1: The script will be used to create Mail Enabled Users (MEU) in the target forest; the MEUs will be disabled and will contain the following attributes: legacyExchangeDN, mail, mailnickname, msExchmailboxGuid, proxyAddresses, X500, targetAddress, userAccountControl, userprincipalName.

    b. ADMT to migrate user accounts: the main target is to get the old SID from the source domain (SID History), and to synchronize the password from the source domain to the new user account in the target domain, of course other AD attributes could be migrated like phone, address, title…

    c. Move Mailbox: using new-move request from the source forest to the target forest.

    d. ADMT to migrate the computer account: this will mainly disjoin the client machine from the source domain and join the new domain, also will add (or replace) the SID of the new user in the target forest on the same profile used by the old user account, other options available like local group, profiles…..

    2. Run ADMT first then Prepare-MoveRequest.ps1: in this scenario the steps will be in the following orders:

    a. ADMT to migrate the user accounts from the source forest to the target forest, users will be created or merged by ADMT not the script, SID history and password synchronization along with other AD attributes could be merged from the source forest to the target forest. By default ADMT is excluding all Exchange attributes.

    b. Convert the user accounts created or merged by ADMT to Mail Enabled User (MEU) accounts with proxy address as the source forest user account.

    c. Prepare-moverequest.ps1: the script will be used with –localobject and –overwritelocalobject switches, so the script will use the existing user accounted and will not create new account.

    d. New-MoveRequest: to move the mailbox from the source forest to the target forest.

     

    Choosing which scenario will be based on the customer environment, the selection of the scenario should consider:

    1. First Scenario: This is the easy and straight forward scenario, should be used if the target forest (domain) is newly created, no users from the source domain exist in the target domain.
    2. Second Scenario: As this is more complicated scenario, it should be used if ADMT must run first before prepare-moverequest, and this will be needed in case of there are already users from the source forest in the target forest.

     

    This series of articles will focus on the second scenario. Before going on the detailed steps, let’s first explain the environment and the requirements.

    The current environment includes the following:

    1. Source forest running Windows 2003, and Exchange 2003 (egypt.tailspin.com), email address of all user accounts @egypt.tailspin.com
    2. Target forest running Windows 2008 R2 and Exchange 2010 (tailspin.com), email address for all users @tailspin.com.
    3. There are already user accounts for the source forest in the target forest, created manually and used by many applications, and they must be used.

     

    The following diagram shows the details of the current environment:

    image

     

    As the migration will take time, the co-existence period should be considered, so this guide will cover the following:

    1. Addressing the migration challenges.
    2. Configure Mail Flow between the two forests.
    3. Migration of user and computer accounts using ADMT.
    4. Exchange Mailbox migration using native tools.
    5. Enable sharing Free/Busy information between the two forests, so when the user is migrated to the target forest, he will still be able to check the free/busy information of other users in the source forest and vice versa.

     

    The second part of this guide will address the migration challenges and setting up the mail flow between the two forests.

     

    Exchange 2010 Cross-Forest Migration Step by Step Guide – Part I

    Exchange 2010 Cross-Forest Migration Step by Step Guide – Part II

    Exchange 2010 Cross-Forest Migration Step by Step Guide – Part III