Office365 – Mailbox move completed with warning

[AMSPRD0510CA019] Post-move cleanup failed. The operation will try again in 30 seconds (5/6).

[AMSPRD0510CA019] Target mailbox ‘User name’ was updated on domain controller ‘AMSPRD0510DC006.eurprd05.prod.outlook.com’.

[AMSPRD0510CA019] Unable to update Active Directory information for the source mailbox at the end of the move. Error: UpdateMovedMailboxPermanentException.

[AMSPRD0510CA019] Waiting for mailbox changes to replicate.

[AMSPRD0510CA019] Request is complete.

 

I got this warning when I moved an Exchange 2003 mailbox to the cloud.

 

In the last step of the move, the Onpremise mailbox should be converted into a mail user.

Attributes and target address should be pointing to the cloud.

In this case, it seems like, the on-premise mailbox was not getting converted into a remote mailbox and the attributes need to change manually.

 

Before changing anything, check that you still see the old mailbox, if so backup all the x500 address.

 

From Adsiedit – properties on the AD User:

 

First clear the following attributes

 

1. homemdb

2. homemta

3. msExchHomeServerName

4. msExchPoliciesExcluded

 

Now add the following:

 

1. msExchRemoteRecipientType="4"

2. msExchRecipientDisplayType="-2147483642

3. msExchRecipientTypeDetails="2147483648"

4. targetaddress: SMTP:alias@tenant.mail.onmicrosoft.com

 

Add x500 address you backed up if they don’t exists

 

Now Sync AD using Dirsync

 

That’s worked for me.

 

Good luck J

Posted in Office365, Office365 Proplus | Tagged , , , | Leave a comment

Office365 – Mailbox move completed with warning

[AMSPRD0510CA019] Post-move cleanup failed. The operation will try again in 30 seconds (5/6).

[AMSPRD0510CA019] Target mailbox ‘User name’ was updated on domain controller ‘AMSPRD0510DC006.eurprd05.prod.outlook.com’.

[AMSPRD0510CA019] Unable to update Active Directory information for the source mailbox at the end of the move. Error: UpdateMovedMailboxPermanentException.

[AMSPRD0510CA019] Waiting for mailbox changes to replicate.

[AMSPRD0510CA019] Request is complete.

 

I got this warning when I moved an Exchange 2003 mailbox to the cloud.

 

In the last step of the move, the Onpremise mailbox should be converted into a mail user.

Attributes and target address should be pointing to the cloud.

In this case, it seems like, the on-premise mailbox was not getting converted into a remote mailbox and the attributes need to change manually.

 

Before changing anything, check that you still see the old mailbox, if so backup all the x500 address.

 

From Adsiedit – properties on the AD User:

 

First clear the following attributes

 

1. homemdb

2. homemta

3. msExchHomeServerName

4. msExchPoliciesExcluded

 

Now add the following:

 

1. msExchRemoteRecipientType="4"

2. msExchRecipientDisplayType="-2147483642

3. msExchRecipientTypeDetails="2147483648"

4. targetaddress: SMTP:alias@tenant.mail.onmicrosoft.com

 

Add x500 address you backed up if they don’t exists

 

Now Sync AD using Dirsync

 

That’s worked for me.

 

Good luck J

Posted in Office365, Office365 Proplus | Tagged , , , | Leave a comment

Convert EXE to MSI – http://www.silentinstall.org/

Today one of my clients asked me to distribute  an exe file  that has no switches for silent installation using SCCM 2007

I found a nice and easy free program that convert EXE files to MSI in seconds.

I would like to strongly recommend it .

 

http://www.silentinstall.org/

 

image

Posted in SCCM 2012, SCCM2007, System Center | Leave a comment

Ping multiple computers

I came across this need  to check the availability of multiple devises by pinging them  , this script will preform ping to computers from a csv file and will create another CSV file with the computer name and true if it has ping false if it doesn’t

There are two script

1. Ping to Computer name

2. Ping to IP address

You will need to create a CSV file with the computer list and call it – “Complist.csv”

save it in the same folder with the script

the script will run on this file and create a new file called  “complist-ping.csv”

Search by Computer name  Script :

  • Copy the text and save it as VBS

Function Ping(strHost)
  Ping = False
  set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = ‘" & strHost & "’")
  for each objRetStatus in objPing
    if IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode<>0 then
      Ping = False
    else
      Ping = True
    end if
  next
  set objPing = nothing
End Function
 
set fs = CreateObject("Scripting.FileSystemObject")
set objfile = fs.OpenTextFile("complist.csv")
i = 0
Set mf = fs.CreateTextFile("complist-ping.csv",false)
do while not objfile.AtEndOfStream
  arr2 = split(objfile.ReadLine,",")
  if (ubound(arr2) <> -1) then
    if (left(arr2(0),1) <> ";")and(left(arr2(0),1) <> "#") then
      mf.writeline(arr2(0) & "," & cstr(Ping(arr2(0))))
      i = i + 1
    end if
  end if
Loop
objfile.close
mf.close
set objfile = nothing
 
set fs = nothing
set wa = nothing
set objEnv = nothing
set objNetwork = nothing
wscript.echo "Done " & i

Search by IP Address

  • Copy the text and save it as VBS

Function Ping(strIP)
  Ping = False
  set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = ‘" & strIP & "’")

  for each objRetStatus in objPing
    if IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode<>0 then
      Ping = False
    else
      Ping = True
    end if
  next
  set objPing = nothing
End Function
 
set fs = CreateObject("Scripting.FileSystemObject")
set objfile = fs.OpenTextFile("complist.csv")
i = 0
Set mf = fs.CreateTextFile("complist-ping.csv",false)
do while not objfile.AtEndOfStream
  arr2 = split(objfile.ReadLine,",")
  if (ubound(arr2) <> -1) then
    if (left(arr2(0),1) <> ";")and(left(arr2(0),1) <> "#") then
      mf.writeline(arr2(0) & "," & cstr(Ping(arr2(0))))
      i = i + 1
    end if
  end if
Loop
objfile.close
mf.close
set objfile = nothing
 
set fs = nothing
set wa = nothing
set objEnv = nothing
set objNetwork = nothing
wscript.echo "Done " & i

Good luck Smile

Posted in Scripts, Windows | Leave a comment

Office 365 – Manage licenses – ADD\Remove

1. Assign License Using the office365 portal · From the office365 Portal · Connect to – Office365 Portal with the right permissions (Or global administrator or User management administrator) · In the left section Go to the Users and Groups · Search for the user using the Magnifying glass clip_image002 · Press on the user · In the Licenses page – Check the relevant license

clip_image004

· If you did not provide the user location you will be redirected to the settings page clip_image006 ·Add the User location __________________________________________________________________________________________________ 2. Assign License to individual users Using Microsoft Online Services Module for Windows PowerShell

  • Connect to “Microsoft Online Services Module for Windows PowerShell

*In order to do that you will need to download and install this PowerShell , you can find the download in Here

  Alternatively, you can load the cmdlets manually by typing “import-module MSOnline” at the Windows PowerShell command prompt.

  • Type : Connect-msolservice
  • Enter the credentials of a user with the appropriate permissions (Or global administrator or User management administrator )
  • Get the name of the license Get-MsolAccountSku
clip_image008

 

  • Now you need to add the location for the user you whish to assign license to  (In my case the location is IL):

Get-MsolUser -UserPrincipalName idit@Domain.com |Set-MsolUser -UsageLocation “IL”

  • The next step will be to assign the license :

Get-MsolUser -UserPrincipalName idit@Domain.com | Set-MsolUserLicense -AddLicenses Domain:ENTERPRISEPACK

clip_image010

___________________________________________________________________________________________________________________________________________ 3. Assign license to multiple users with a powershell script Sometimes you need to assign licenses to multiple users , in this case you can do it with a very simple PowerShell script This script will :

· import the users from a csv file (which you create) ,

· provide the location

· assign the license

So the first thing you need to do is to add the Users UPN  of the users to a Csv file In the header of the table write– display Foe example : image Copy the following Lines to a Text file an save it as .SP1 $licenses = Import-Csv c:\temp\users.csv $licenses | ForEach-Object {get-msoluser  -MaxResults 20 -SearchString $_.display | Set-MsolUser -UsageLocation “IL”} $licenses | ForEach-Object {get-msoluser  -MaxResults 20 -SearchString $_.display | Set-MsolUserLicense –AddLicenses  Domain:ENTERPRISEPACK} (Don’t forget to run the script with the Microsoft Online Services Module for Windows PowerShell) Remove license to multiple users with a powershell script ___________________________________________________________________________________________________________________________________________ Create the csv file for the users you want to delete the license . again , write display in the header of the table on the Microsoft Online Services Module for Windows PowerShell type: 1. $licenses = Import-Csv d:\users1.csv 2. $licenses | ForEach-Object {get-msoluser – MaxResults 1000 -SearchString $_.display | Set-MsolUserLicense –RemovedLicenses Domain:ENTERPRISEPACK}     ________________________________________________________________________________________________________ Add license to all users without license

Import-Module MSOnline Connect-MsolService Get-MsolUser -all | where {-not $_.islicensed} |ForEach-Object{

Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation “IL”

Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses Domain:ENTERPRISEPACK

}

________________________________________________________________________________________

Remove specific license

Connect-MsolService

$license= “Domain:ENTERPRISEPACK”

get-MsolUser -all | Where-Object {$_.Licenses.AccountSkuID -eq $license}|ForEach-Object{

Set-MsolUserLicense –UserPrincipalName $_.UserPrincipalName –RemoveLicenses “$license”

Write-host $_.UserPrincipalName

}

__________________________________________________

Export list of all users with license:

Get-MSOLUser -All | select userprincipalname,islicensed,{$_.Licenses.AccountSkuId}| Export-CSV D:\userlist3.csv -NoTypeInformation

 

 

 

q         Good Luck  Smile

Posted in Office365, Office365 Proplus, PowerShell, SharePoint Online | Tagged , , , , | Leave a comment

Exchange 2013 Prerequisites

Install the server roles via PowerShell

1. Open PowerShell

2. Type the following Command:

  • Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-Clustering-CmdInterface

3. Reboot the server

  • Restart-Computer

image

You will also need to install:

1.  Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit

2. Microsoft Office 2010 Filter Pack 64 bit and

3. Microsoft Office 2010 Filter Pack SP1 64 bit

 

Good luck Smile

Posted in Exchange 2013 | Tagged | Leave a comment

Dirsync – How to manually sync AD objects to the cloud using Dirsync PowerShell

Posted in Office365, Office365 Proplus | Leave a comment

Office 365 Proplus– Forward from external contact to email address

Consider the following scenario

you  have an hybrid office365 environment
You need to Forward to one or more people all emails that sends to a global email address such as Sales@doamin.com but you don’t want to waste a license in the cloud by creating mailbox for this email address.

In this case you can create an external contact with the global email address and then create a rule to redirect all emails that sends to this email address to other email address or to a distribution group.

Follow this steps:

1. create an external contact :

Create a contact in your On-premises Exchange EMC

2. Under Recipient Configuration –> Mail contact –> New mail contact

image

3. Create a new contact  or use an existing one

image

4. Type the details for the contact

image

5. Press New

image

Now you will need to sync Dirsync manually in order to see the contact in the cloud immediately

Create a transport Rule for the contact

1. Login to Office365 Portal using admin credentials

2. On the Admin page under – Service Settingsmail flow – click on Custom mail rules

image

3. Rules –> press on the image button and select – Create New rule

 image

4. Give the rule a name and select from the drop down list –> The recipient is

image

5. Search for the contact and click on add

image

6. Under – Do the following Select – Redirect the message to

image

7. select the users or group and click add

image

Good luck!

 

Idit.

Posted in Office365, Office365 Proplus | Leave a comment

Office 365 Proplus– Forward from external contact to email address

Consider the following scenario

you  have an hybrid office365 environment
You need to Forward to one or more people all emails that sends to a global email address such as Sales@doamin.com but you don’t want to waste a license in the cloud by creating mailbox for this email address.

In this case you can create an external contact with the global email address and then create a rule to redirect all emails that sends to this email address to other email address or to a distribution group.

Follow this steps:

1. create an external contact :

Create a contact in your On-premises Exchange EMC

2. Under Recipient Configuration –> Mail contact –> New mail contact

image

3. Create a new contact  or use an existing one

image

4. Type the details for the contact

image

5. Press New

image

Now you will need to sync Dirsync manually in order to see the contact in the cloud immediately

Create a transport Rule for the contact

1. Login to Office365 Portal using admin credentials

2. On the Admin page under – Service Settingsmail flow – click on Custom mail rules

image

3. Rules –> press on the image button and select – Create New rule

 image

4. Give the rule a name and select from the drop down list –> The recipient is

image

5. Search for the contact and click on add

image

6. Under – Do the following Select – Redirect the message to

image

7. select the users or group and click add

image

Good luck!

 

Idit.

Posted in Office365, Office365 Proplus | 1 Comment