{"id":381,"date":"2022-04-02T12:33:59","date_gmt":"2022-04-01T23:33:59","guid":{"rendered":"https:\/\/www.howdoiuseacomputer.com\/?p=381"},"modified":"2022-10-04T11:00:36","modified_gmt":"2022-10-03T22:00:36","slug":"microsoft-365-cross-tenant-migration","status":"publish","type":"post","link":"https:\/\/www.howdoiuseacomputer.com\/index.php\/2022\/04\/02\/microsoft-365-cross-tenant-migration\/","title":{"rendered":"Microsoft 365 cross-tenant migration"},"content":{"rendered":"\n<p>Hello! Long time no\u2026 &#x1f37b;&#x1f60a;&#x1f37b;<\/p>\n\n\n\n<p><strong>I thought I would share<\/strong> some PowerShell I used during a recent cross-tenant migration.  Firstly, the Microsoft documentation is really good and got the journey off to a good start:<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoft-365\/enterprise\/cross-tenant-mailbox-migration?view=o365-worldwide\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/en-us\/microsoft-365\/enterprise\/cross-tenant-mailbox-migration?view=o365-worldwide<\/a><\/p>\n\n\n\n<p><strong>PLEASE NOTE:<\/strong> Following is some fairly raw PowerShell.  You can&#8217;t just press Go!  You&#8217;ll need to understand and update the bits required and run accordingly!  Hopefully everything that requires updating is in <strong><em>bold-italics<\/em><\/strong>.  If not please punish me via comment! =)<\/p>\n\n\n\n<p>That said&#8230; let&#8217;s continue &#x1f603;:<\/p>\n\n\n\n<p><strong>Firstly, let&#8217;s create a mail-enabled security group <\/strong>in the <em>source<\/em> tenant Exchange Admin console, &#8216;zzMigUsers@<em><strong>sourcedomain<\/strong><\/em>.com&#8217; should do the trick! ..then add the users (mailboxes) you will migrate (the migration endpoint is scoped to a group, anyone not in the group will fail to migrate).  <\/p>\n\n\n\n<p><strong>Now load PowerShell ISE <\/strong>and paste all of the below code bits in, then save it for later.  First, we need our commands to be able to switch quickly between tenants (disconnect before connecting each time):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Source tenant\nConnect-ExchangeOnline -UserPrincipalName <strong><em>migadmin@sourcedomain.com<\/em><\/strong>\n# Target tenant\nConnect-ExchangeOnline -UserPrincipalName <strong><em>migadmin@targetdomain.com<\/em><\/strong>\n# Disconnect from tenant\nDisconnect-ExchangeOnline -Confirm:$false\n<\/code><\/pre>\n\n\n\n<p>Now we can connect to the target tenant and create the Org Relationship and Migration Endpoint &#8211; you&#8217;ll need the &#8216;<strong><em>sourcedomain<\/em><\/strong>&#8216;, <strong><em>app ID<\/em><\/strong> and <strong><em>secret<\/em><\/strong> to paste in here where the bold italics are (follow the MS article to set up the App Registration and Enterprise App, easy as!): <a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoft-365\/enterprise\/cross-tenant-mailbox-migration?view=o365-worldwide#prepare-the-target-destination-tenant-by-creating-the-migration-application-and-secret\">Target tenant app setup<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># connect to target tenant here\n# Enable customization if tenant is dehydrated\n  $dehy = Get-OrganizationConfig | fl isdehydrated\n  if ($dehy -eq $true) {Enable-OrganizationCustomization}\n\n# Create Migration Endpoint in target tenant\n$AppId = \"<em><strong>paste the app id here<\/strong><\/em>\"\n$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $AppId, (ConvertTo-SecureString -String \"<em><strong>paste the app secret here<\/strong><\/em>\" -AsPlainText -Force)\nNew-MigrationEndpoint -RemoteServer outlook.office.com -RemoteTenant \"<em><strong>sourcedomain<\/strong><\/em>.onmicrosoft.com\" -Credentials $Credential -ExchangeRemoteMove:$true -Name \"<em><strong>SourceDomain<\/strong><\/em>MigEndpoint\" -ApplicationId $AppId\n\n# Create Org Relationship in target tenant\n$sourceTenantId=\"<em><strong>paste source tenant id here<\/strong><\/em>\"\n$orgrels=Get-OrganizationRelationship\n$existingOrgRel = $orgrels | ?{$_.DomainNames -like $sourceTenantId}\nIf ($null -ne $existingOrgRel)\n{\n    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound\n}\nIf ($null -eq $existingOrgRel)\n{\n    New-OrganizationRelationship \"<em><strong>SourceDomain<\/strong><\/em>OrgRel\" -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability Inbound -DomainNames $sourceTenantId\n}<\/code><\/pre>\n\n\n\n<p><strong>Let&#8217;s use our disconnect \/ connect<\/strong> commands above to disconnect from the <em>target <\/em>tenant and connect to the <em>source <\/em>tenant to set up the other side: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># connect to source tenant here\n\n# Configure OrgRel in source tenant\n$targetTenantId=\"<strong><em>insert the target tenant ID here<\/em><\/strong>\"\n$appId=\"<strong><em>insert the app id here<\/em><\/strong>\"\n$scope=\"zzMigUsers@<em><strong>sourcedomain<\/strong><\/em>.com\"\n$orgrels=Get-OrganizationRelationship\n$existingOrgRel = $orgrels | ?{$_.DomainNames -like $targetTenantId}\nIf ($null -ne $existingOrgRel)\n{\n    Set-OrganizationRelationship $existingOrgRel.Name -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability RemoteOutbound -OAuthApplicationId $appId -MailboxMovePublishedScopes $scope\n}\nIf ($null -eq $existingOrgRel)\n{\n    New-OrganizationRelationship \"<strong><em>targetdomain<\/em><\/strong>OrgRel\" -Enabled:$true -MailboxMoveEnabled:$true -MailboxMoveCapability RemoteOutbound -DomainNames $targetTenantId -OAuthApplicationId $appId -MailboxMovePublishedScopes $scope\n}<\/code><\/pre>\n\n\n\n<p><strong>Hopefully you got to this point without issue <\/strong>&#8211; if not let me know in the comments section and I&#8217;ll try to help!  Next, we should be getting a successful test of what we have set up.  Run this command since you are still connected to the source tenant &#8211; you should see the expected values returned:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Confirm OrgRel in Source tenant\nGet-OrganizationRelationship | fl name, DomainNames, MailboxMoveEnabled, MailboxMoveCapability<\/code><\/pre>\n\n\n\n<p><strong>Now, disconnect and connect <\/strong>to the <em>target<\/em> tenant again, and run this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Confirm OrgRel and MigEndpoint in Target tenant\nGet-MigrationEndpoint\nGet-OrganizationRelationship | fl name, DomainNames, MailboxMoveEnabled, MailboxMoveCapability\nTest-MigrationServerAvailability -Endpoint \"<strong><em>SourceDomain<\/em><\/strong>MigEndpoint\"<\/code><\/pre>\n\n\n\n<p><strong>Awesome, green lights!? <\/strong> The tenants are configured.  Now disconnect \/ connect to the <em>source <\/em>tenant, we&#8217;ll need to get the following details out into a CSV file so we can create the MailUser objects in the target tenant (yes I know we could have done that earlier =)).  Limit this if required based on the group we created earlier, scoped to your migration users.  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># get source mailbox details\nGet-Mailbox | select DisplayName, UserPrincipalName, PrimarySMTPAddress, ExchangeGUID, ArchiveGUID, LegacyExchangeDN | Export-Csv C:\\temp\\sourceusers.csv -NoTypeInformation\n<\/code><\/pre>\n\n\n\n<p>Disconnect \/ connect to the <em>target <\/em>tenant again.  We want to test one user first, so I used these commands (replace bold italic with values for one user from the CSV output):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># create MailUsers in target tenant - ONE AT A TIME HERE OR BELOW FOR BATCHES\n$originalalias = '<strong><em>sales<\/em><\/strong>'\n$newalias = '<em><strong>sourcedomain<\/strong><\/em>.sales'\n$userdisplayname = '<strong><em>sourcedomain <\/em><\/strong>Sales Department'\n$exchguid = '<em><strong>80ddefd4-26cb-7621-c497-g6c044b04dd9<\/strong><\/em>'\n$archguid = '<em><strong>70edegc5-36f8-8639-b287-f6g035408ec2<\/strong><\/em>'\n$x500address = 'x500:<strong><em>\/o=ExchangeLabs\/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)\/cn=Recipients\/cn=ce04185c5ff841f885d660e46e6c8bc5-sourcedomain SAL<\/em><\/strong>'\n$usersourceaddress = $originalalias + \"@<strong><em>sourcedomain<\/em><\/strong>.onmicrosoft.com\"\n$usertargetaddress = $newalias + \"@<strong><em>targetdomain<\/em><\/strong>.com\"\n$usertargettenantaddress = $newalias + \"@<strong><em>targetdomain<\/em><\/strong>.onmicrosoft.com\"\nNew-MailUser -Name $newalias -DisplayName $userdisplayname -ExternalEmailAddress $usersourceaddress -MicrosoftOnlineServicesID $usertargetaddress -Password (ConvertTo-SecureString -String '<strong><em>Hellosourcedomain2099<\/em><\/strong>' -AsPlainText -Force)\nSet-MailUser $usertargetaddress -ExchangeGuid $exchguid -ArchiveGuid $archguid -PrimarySmtpAddress $usertargetaddress\nSet-MailUser $usertargetaddress -EmailAddresses @{Add=\"$x500address\",\"$usertargettenantaddress\"}\nSet-MailUser $usertargetaddress -EmailAddresses @{Remove=\"smtp:$usersourceaddress\"}<\/code><\/pre>\n\n\n\n<p>Then we can migrate the user:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>New-MigrationBatch -Name testbatch -SourceEndpoint '<strong><em>sourcedomain<\/em><\/strong>MigEndpoint' -UserIds $usertargetaddress -Autostart -TargetDeliveryDomain '<strong><em>targetdomain<\/em><\/strong>.onmicrosoft.com'<\/code><\/pre>\n\n\n\n<p><strong>NOTE:<\/strong>  Recently I found this command was not working and I had to use a one-liner copy of the batch1-users.csv mentioned below.  After the test user is successfully migrated, reference your original file with all the mailboxes in it.  Just in case you get this issue in your scenario &#x1f603;   <\/p>\n\n\n\n<p><strong>Okay!  When this is working<\/strong> and we are confident all is well, copy the sourceusers.csv to a new file named batch1-detail.csv. Open the file and add three columns before DisplayName as below. &#8216;originalalias&#8217; (the bit before the UPN), &#8216;newalias&#8217; (set as needed for the target tenant) and &#8216;newupn&#8217; (new UPN in the target tenant):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1367\" height=\"121\" src=\"https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-1.png\" alt=\"\" class=\"wp-image-408\" srcset=\"https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-1.png 1367w, https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-1-300x27.png 300w, https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-1-768x68.png 768w\" sizes=\"(max-width: 1367px) 100vw, 1367px\" \/><\/figure>\n\n\n\n<p>Assuming the file is called <strong>batch1-detail.csv<\/strong>, create another CSV called <strong>batch1-users.csv<\/strong>.  This is the input for the migration batch command (very simple and worked well for me), just copy the target UPNs from <strong>batch1-detail.csv<\/strong> into the EmailAddress column and populate the other columns as below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1331\" height=\"115\" src=\"https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-2.png\" alt=\"\" class=\"wp-image-410\" srcset=\"https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-2.png 1331w, https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-2-300x26.png 300w, https:\/\/www.howdoiuseacomputer.com\/wp-content\/uploads\/2022\/07\/image-2-768x66.png 768w\" sizes=\"(max-width: 1331px) 100vw, 1331px\" \/><\/figure>\n\n\n\n<p>Now you can use this code to create the MailUser objects with the batch1-detail.csv file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># TO DO BATCHES\n# UPDATE THESE CORRECTLY - set variables and import csv\n$csv = Import-Csv C:\\temp\\<em><strong>sourcedomain<\/strong><\/em><strong><em>\\batch1-detail.csv<\/em><\/strong>\n\nforeach ( $line in $csv ) {\n\n$originalalias = $line.OriginalAlias\n$newalias = $line.NewAlias\n$newupn = $line.NewUPN\n$userdisplayname = $line.DisplayName\n$exchguid = $line.ExchangeGuid\n$archguid = $line.ArchiveGuid\n$x500address = \"X500:\" + $line.LegacyExchangeDN\n$usersourceaddress = $originalalias + \"@<strong><em>sourcedomain<\/em><\/strong>.onmicrosoft.com\"\n$usertargetaddress = $newupn\n$usertargettenantaddress = $newalias + \"@<strong><em>targetdomain<\/em><\/strong>.onmicrosoft.com\"\n\nWrite-Host\nWrite-Host -ForegroundColor Green \"Processing $usertargetaddress...\"\nWrite-Host\n\nNew-MailUser -Name $newalias -DisplayName $userdisplayname -PrimarySmtpAddress $usertargetaddress -ExternalEmailAddress $usersourceaddress -MicrosoftOnlineServicesID $usertargetaddress -Password (ConvertTo-SecureString -String '<strong><em>Hellosourcedomain2099<\/em><\/strong>' -AsPlainText -Force)\nSet-MailUser $usertargetaddress -ExchangeGuid $exchguid -ArchiveGuid $archguid -PrimarySmtpAddress $usertargetaddress\nSet-MailUser $usertargetaddress -EmailAddresses @{Add=\"$x500address\",\"$usertargettenantaddress\"}\nSet-MailUser $usertargetaddress -EmailAddresses @{Remove=\"smtp:$usersourceaddress\"}\nGet-MailUser $usertargetaddress | fl DisplayName,PrimarySMTPAddress,ExchangeGuid,ArchiveGuid\n}<\/code><\/pre>\n\n\n\n<p>Now we&#8217;ve created the MailUser objects for our batch, we can migrate them using the second file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># create migrationbatch using csv\n$batchfile = 'C:\\temp\\<strong><em>sourcedomain\\batch1-users.csv<\/em><\/strong>'\n\nNew-MigrationBatch -Name $batchname -SourceEndpoint '<strong><em>sourcedomain<\/em><\/strong>MigEndpoint' -CSVData (&#91;System.IO.File]::ReadAllBytes(\"$batchfile\")) -Autostart -TargetDeliveryDomain '<strong><em>targetdomain<\/em><\/strong>.onmicrosoft.com'<\/code><\/pre>\n\n\n\n<p><strong>NOTE:<\/strong> At this point you are migrating the mailboxes because of the &#8220;-Autostart&#8221; switch.  Users in the batch will have &#8216;Syncing&#8217; status.  When ready to complete they will be &#8216;Synced&#8217;.  <\/p>\n\n\n\n<p>You can run this command to check the status of a batch:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Get status of a migration batch:\nGet-MigrationBatch $batchname | fl<\/code><\/pre>\n\n\n\n<p> Or this to check status of a single user:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Get details for a single mailbox\nGet-MigrationUser 'insertupnhere' | Get-MigrationUserStatistics | fl<\/code><\/pre>\n\n\n\n<p>Or this to get the status of all migration users, updated every 5 minutes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># output progress of all users every 5 mins\n$x = 0\nDo{\n$x = $x + 1\nGet-MigrationUser | Get-MigrationUserStatistics\n\nStart-Sleep -Seconds 300\n}\nUntil ( $x -eq 480 )<\/code><\/pre>\n\n\n\n<p>When the mailboxes in a batch have &#8216;Synced&#8217; status, go ahead and complete the batch using this command: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Complete a Synced batch\nComplete-MigrationBatch $batchname -Confirm:$false<\/code><\/pre>\n\n\n\n<p>This can take a bit of time so have a beer or cup of tea then come back &#8211; done!  Once completed the mailuser you created in the target tenant will become a mailbox, and the mailbox in the source tenant will become a mailuser with a forwarding address set to the users target onmicrosoft.com address &#x1f44d; <\/p>\n\n\n\n<p>Some other commands I used are:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Restart a failed batch\n## Start-MigrationBatch $batchname\n\n# remove a completed batch\n## Remove-MigrationBatch $batchname -Confirm:$false\n\n# Remove failed users from batches due to failure\n## Get-MigrationUser | ? { $_.status -eq 'failed' } | Remove-MigrationUser -Confirm:$false<\/code><\/pre>\n\n\n\n<p>This migration went really smoothly&#8230; once the user was migrated, the forwarding was set correctly in the source tenant, and permissions were intact for access to Shared Mailboxes etc.  Now we are planning to tidy up and move additional email aliases, the accepted domains and MX records across to the new tenant&#8230; I&#8217;m impressed with how relatively easy this was!<\/p>\n\n\n\n<p>Until next time&#8230; &#8216;Hei kone ra&#8217; from New Zealand Aotearoa! &#x1f37b;&#x1f61c;<\/p>\n\n\n\n<p> <\/p>\n<div class=\"pvc_clear\"><\/div><p id=\"pvc_stats_381\" class=\"pvc_stats all  \" data-element-id=\"381\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewBox=\"0 0 502 315\" preserveAspectRatio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.howdoiuseacomputer.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p><div class=\"pvc_clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Hello! Long time no\u2026 &#x1f37b;&#x1f60a;&#x1f37b; I thought I would share some PowerShell I used during a recent cross-tenant migration. Firstly, the Microsoft documentation is really good and got the journey off to a good start: https:\/\/docs.microsoft.com\/en-us\/microsoft-365\/enterprise\/cross-tenant-mailbox-migration?view=o365-worldwide PLEASE NOTE: Following is some fairly raw PowerShell. You can&#8217;t just press Go! You&#8217;ll need to understand and update [&hellip;]<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_381\" class=\"pvc_stats all  \" data-element-id=\"381\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewBox=\"0 0 502 315\" preserveAspectRatio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.howdoiuseacomputer.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[8,9],"tags":[13,70,97,24,72,76,16,71,99,98],"class_list":["post-381","post","type-post","status-publish","format-standard","hentry","category-powershell","category-ramblings","tag-13","tag-cross-tenant","tag-cross-tenant-mailbox-migration-step-by-step","tag-exchange","tag-how-to","tag-mailbox","tag-microsoft","tag-migration","tag-online","tag-step-by-step"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/posts\/381"}],"collection":[{"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/comments?post=381"}],"version-history":[{"count":8,"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/posts\/381\/revisions"}],"predecessor-version":[{"id":412,"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/posts\/381\/revisions\/412"}],"wp:attachment":[{"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/media?parent=381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/categories?post=381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.howdoiuseacomputer.com\/index.php\/wp-json\/wp\/v2\/tags?post=381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}