I had a problem which took me quite some time to find out.
I had a 2.x android phone and a 3.x Tablet. Both of them connected fine to my exchange 2010 server.
But upon syncing I saw that it would seem to sync the subfolders randomly. By that I mean that not all subfolders were showing on my device.
After some troubleshooting I deleted one of the subfolders and recreated it. After doing that the subfolder would sync to the devices without problem.
So knowing this I remembered that these problemfolders were imported from a PST and NOT created in outlook/OWA by myself.
After some investigating on this it turns out that exchange gives different 'types' to subfolders when created.
So then I had to go and create a new subfolder, move the mail and delete the old one. Then renamed the subfolder to it's predecessor and it started syncing without problems.
Showing posts with label Exchange 2010. Show all posts
Showing posts with label Exchange 2010. Show all posts
10 October 2011
How to reset Blackberry calendar
Here's an easy way to reset a corrupt blackberry calendar:
-Open the calendar on the device
-Press the "Menu" button -Choose options
-Then type "RSET" , you don't have a text field, just type it in the option screen
-Confirm you want to reset the calendar and have it resync
-Open the calendar on the device
-Press the "Menu" button -Choose options
-Then type "RSET" , you don't have a text field, just type it in the option screen
-Confirm you want to reset the calendar and have it resync
14 July 2011
BES Express Server stops working after installing outlook
Last I came across an issue which looking back at it was obvious enough, but not at the time:
I needed to export some mailboxes to pst files on exchange 2010 NOT SP1 using the EMS (Shell), so as you might (not) know you need Outlook x64 installed on the server where you want to do the export from.
No problem, I just installed outlook and proceeded with my exports. But then it turbed out that my BES Express which was on the same server stopped working. The BES Services wouldn't start anymore.
So after some digging in the event logs it turns out that outlook overwrites the mapi32.dll file that you installed as a BES Prerequisite (MAPI CDO 1.2.1 pack).
The solution:
-Uninstall outlook , then reboot the server.
-Then go to control panel --> Add/Remove programs --> select the MAPI/CDO pack from the list and remove it.
-Download the pack again from here
-Reinstall the pack
-That's it, the BES Services should start now and you should be up and running again.
I needed to export some mailboxes to pst files on exchange 2010 NOT SP1 using the EMS (Shell), so as you might (not) know you need Outlook x64 installed on the server where you want to do the export from.
No problem, I just installed outlook and proceeded with my exports. But then it turbed out that my BES Express which was on the same server stopped working. The BES Services wouldn't start anymore.
So after some digging in the event logs it turns out that outlook overwrites the mapi32.dll file that you installed as a BES Prerequisite (MAPI CDO 1.2.1 pack).
The solution:
-Uninstall outlook , then reboot the server.
-Then go to control panel --> Add/Remove programs --> select the MAPI/CDO pack from the list and remove it.
-Download the pack again from here
-Reinstall the pack
-That's it, the BES Services should start now and you should be up and running again.
14 June 2011
Recovering PHANTOM vms
Ok this will be a post about something that had me baffled for 3 days...
We had an esxi server with 2 live vm's which were a windows 2008 DC and a 2008 Exchange 2010 server.
Someone at work somehow managed to remove both the vm's vmdk,vmx and snapshots.
So you would think this was a genuine eipc fail. The vms were no longer listed in vsphere, and in the datastore there were only Flat.vmdks(luckily!) and some delta files.
However upon investigation it turned out that the vms were still running???!!!
They were phantom vm's. the domain was still functioning and so was exchange, but there was nothing to see in esxi.
You don't need to be a rocketscientist to realize that this is both good and bad , if the vm is restarted for any reason then the vm and domain is toast. But it did give me the chance to think of the best recovery option. Cloning was not an option since it wasn't listed in vsphere, nor was VeeAm or anything else.Also there were about 4 snapshots per machine, which were also deleted as a result so was the snapshot chain.
So here's how i did it.
I've tested 2 options and both were successfull.
Option 1 = Take backup with backup exec, recreate vmdk(descriptor file) and recreate vm , then restore the backup taken with BE. (Did this with the 2008 DC)
Option 2 = do a V2V conversion of the VM resulting in a new vm, with all your settings saved. (Did this with the Exchange Server 2010)
Option 1:
TAKE A BACKUP FIRST OF ALL YOUR NEEDED FILES!!! there is no guarantee that you will have a working vm after this!!
-Log into the ESX using ssh/console
-CD into the right folder (/vmfs/volumes/yourdatastore/yourphantomVM)
-to recreate a vmdk( disk descriptor file):
first you need to have the size of the FLAT file in bytes. You can check this by issueing: "du" this will output the size in bytes.
-then enter this command to create the files:
vmkfstools -c -youramountofbytes- -a lsilogic -d thin temp.vmdk
This will create a TEMP.vmdk disk , with an lsilogic controller (this is the default one, but in your case could be buslogic or anything else, please check.)
And it will mark the disk as thin to save space. if your FLAT.vmdk is thick provisioned, then you will need to change this later.
-Now we have the needed .vmdk file (temp.vmdk) so now we can remove the temp-flat.vmdk since we don't need it:
rm temp-flat.vmdk
-Next we need to rename the new temp.vmdk to the same name as your FLAT file.
to do so issue: "mv temp.vmdk -yourfilenamereflectingtheFLATfile-.vmdk"
-Now we need to edit the descriptor file to point to the right disk.
"vi yourfile.vmdk"
-In case you're not familiar with vi editor, you need to press the "insert" button to be able to edit the file and escape to exit edit mode. to save your chanes enter ":w" to exit VI enter ":q".
-Now edit the file so it resembles:
# Disk DescriptorFile
version=1
CID=fb183c20
parentCID=ffffffff
createType="vmfs"
# Extent description
RW 8388608 VMFS "YOUR FLAT FILE.vmdk"
# The Disk Data Base
#DDB
ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "522"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"
ddb.thinProvisioned = "1"
-NOTE THE ddb.thinProvisioned = "1" LINE, IF THE DISK WAS THICK PROVISIONED, THEN CHANGE THIS TO 0!!
-Now we have our new disk descriptor file, we can recreate the VM.
-Knowing you have a backup of the phantom, you can power it down.
-Log into vsphere/vcenter and create a new vm, before completion choose to edit the hardware.
-Remove the disk attached to the vm and click "add" add a new hard disk and browse to the new .vmdk you made.
-Hopefully this will boot your vm without any problems and all is well.
-If you have the same issue I had , which was you realize you could only recover the Base disk and see that the VM is in a state it was before any snapshot made. This is because the snapshots are toast as well. Therefor I hope you listened and made a backup using Backup Exec or something so you can restore the AD/system state etc.
-Now you only need to clean up a bit, because now you will have a new VM with disks residing in another folder etc, so move them to the new folder (carefully!)
Option 2:
AGAIN, TAKE A FULL BACKUP !!!!!
-Remote desktop to the vm, or use another pc for the conversion
-Download and install VMware converter stand anlone client.
-Follow the wizard, choose "convert this powered on machine"
-Choose your ESX as destination
-Select the apropriate options for the VM to be created (default is fine normal), only check the disks, and mark them as "Thin" if needed.
-Then run the converter.
-When it is done, log into your esx and you will see a fresh VM.
edit the vm's settings and disconnect the network adapter(to prevent conflicts)
-Boot the VM, and check everything using the Vsphere console. When all looks swell, you can power off your Phantom VM and start using the new one!
-Don't forget to reconnect the network adapter.
We had an esxi server with 2 live vm's which were a windows 2008 DC and a 2008 Exchange 2010 server.
Someone at work somehow managed to remove both the vm's vmdk,vmx and snapshots.
So you would think this was a genuine eipc fail. The vms were no longer listed in vsphere, and in the datastore there were only Flat.vmdks(luckily!) and some delta files.
However upon investigation it turned out that the vms were still running???!!!
They were phantom vm's. the domain was still functioning and so was exchange, but there was nothing to see in esxi.
You don't need to be a rocketscientist to realize that this is both good and bad , if the vm is restarted for any reason then the vm and domain is toast. But it did give me the chance to think of the best recovery option. Cloning was not an option since it wasn't listed in vsphere, nor was VeeAm or anything else.Also there were about 4 snapshots per machine, which were also deleted as a result so was the snapshot chain.
So here's how i did it.
I've tested 2 options and both were successfull.
Option 1 = Take backup with backup exec, recreate vmdk(descriptor file) and recreate vm , then restore the backup taken with BE. (Did this with the 2008 DC)
Option 2 = do a V2V conversion of the VM resulting in a new vm, with all your settings saved. (Did this with the Exchange Server 2010)
Option 1:
TAKE A BACKUP FIRST OF ALL YOUR NEEDED FILES!!! there is no guarantee that you will have a working vm after this!!
-Log into the ESX using ssh/console
-CD into the right folder (/vmfs/volumes/yourdatastore/yourphantomVM)
-to recreate a vmdk( disk descriptor file):
first you need to have the size of the FLAT file in bytes. You can check this by issueing: "du
-then enter this command to create the files:
vmkfstools -c -youramountofbytes- -a lsilogic -d thin temp.vmdk
This will create a TEMP.vmdk disk , with an lsilogic controller (this is the default one, but in your case could be buslogic or anything else, please check.)
And it will mark the disk as thin to save space. if your FLAT.vmdk is thick provisioned, then you will need to change this later.
-Now we have the needed .vmdk file (temp.vmdk) so now we can remove the temp-flat.vmdk since we don't need it:
rm temp-flat.vmdk
-Next we need to rename the new temp.vmdk to the same name as your FLAT file.
to do so issue: "mv temp.vmdk -yourfilenamereflectingtheFLATfile-.vmdk"
-Now we need to edit the descriptor file to point to the right disk.
"vi yourfile.vmdk"
-In case you're not familiar with vi editor, you need to press the "insert" button to be able to edit the file and escape to exit edit mode. to save your chanes enter ":w" to exit VI enter ":q".
-Now edit the file so it resembles:
# Disk DescriptorFile
version=1
CID=fb183c20
parentCID=ffffffff
createType="vmfs"
# Extent description
RW 8388608 VMFS "YOUR FLAT FILE.vmdk"
# The Disk Data Base
#DDB
ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "522"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"
ddb.thinProvisioned = "1"
-NOTE THE ddb.thinProvisioned = "1" LINE, IF THE DISK WAS THICK PROVISIONED, THEN CHANGE THIS TO 0!!
-Now we have our new disk descriptor file, we can recreate the VM.
-Knowing you have a backup of the phantom, you can power it down.
-Log into vsphere/vcenter and create a new vm, before completion choose to edit the hardware.
-Remove the disk attached to the vm and click "add" add a new hard disk and browse to the new .vmdk you made.
-Hopefully this will boot your vm without any problems and all is well.
-If you have the same issue I had , which was you realize you could only recover the Base disk and see that the VM is in a state it was before any snapshot made. This is because the snapshots are toast as well. Therefor I hope you listened and made a backup using Backup Exec or something so you can restore the AD/system state etc.
-Now you only need to clean up a bit, because now you will have a new VM with disks residing in another folder etc, so move them to the new folder (carefully!)
Option 2:
AGAIN, TAKE A FULL BACKUP !!!!!
-Remote desktop to the vm, or use another pc for the conversion
-Download and install VMware converter stand anlone client.
-Follow the wizard, choose "convert this powered on machine"
-Choose your ESX as destination
-Select the apropriate options for the VM to be created (default is fine normal), only check the disks, and mark them as "Thin" if needed.
-Then run the converter.
-When it is done, log into your esx and you will see a fresh VM.
edit the vm's settings and disconnect the network adapter(to prevent conflicts)
-Boot the VM, and check everything using the Vsphere console. When all looks swell, you can power off your Phantom VM and start using the new one!
-Don't forget to reconnect the network adapter.
19 May 2011
Outlook certificate error on hosted exchange
When you want to deploy hosted Exchange, there are several things to take in consideration.
One of the things is certificates. To be honest the only thing needed is that your certificate is valid for YOUR domain, so not the client's. When that is the case the client will be able to connect using outlook anywhere(rpc over http) however , for the clients to be able to use the "out of office assistant" and other funtions. You need to set up an autodiscover record for THEIR domain on their dns servers.
You'd think that you'll just create an A record of Cname pointing autodiscover.clientmaildomain.com to your mailserver, no it's not that easy.
If you do this, then autodiscover will work, as well as all the OOOF functions etc... But your clients will receive an annoying certificate mismatch popup everytime they start outlook!
This can't be helped, since the client will lookup autodiscover.clientmaildomain.com but will be retargeted to autodiscover.YOURdomain.com , this is why there is a certificate mismatch.
Installing the certificate won't help and nothing else will.
The only VALID solution to this, is to make an SRV record on the client's dns as follows:
Service: _autodiscover
Protocol: _tcp
Name: @
Priority: 0
Weight: 0
Port: 443
Target: autodiscover.YOURDOMAIN.com
Then remove all the A and CNAME records for autodiscover!
One of the things is certificates. To be honest the only thing needed is that your certificate is valid for YOUR domain, so not the client's. When that is the case the client will be able to connect using outlook anywhere(rpc over http) however , for the clients to be able to use the "out of office assistant" and other funtions. You need to set up an autodiscover record for THEIR domain on their dns servers.
You'd think that you'll just create an A record of Cname pointing autodiscover.clientmaildomain.com to your mailserver, no it's not that easy.
If you do this, then autodiscover will work, as well as all the OOOF functions etc... But your clients will receive an annoying certificate mismatch popup everytime they start outlook!
This can't be helped, since the client will lookup autodiscover.clientmaildomain.com but will be retargeted to autodiscover.YOURdomain.com , this is why there is a certificate mismatch.
Installing the certificate won't help and nothing else will.
The only VALID solution to this, is to make an SRV record on the client's dns as follows:
Service: _autodiscover
Protocol: _tcp
Name: @
Priority: 0
Weight: 0
Port: 443
Target: autodiscover.YOURDOMAIN.com
Then remove all the A and CNAME records for autodiscover!
18 May 2011
Update: Activesync issue Galaxy (Android2.2) and Exchange
UPDATE:
I found a workaround for the problem:
On the Android phone you need to setup a device password, after doing this it worked for my clients. You should have a device password at all times anyhow!
Today I had the pleasure of configuring AcitveSync on a samsung galaxy 551, which I explicitely told them not to buy... But they did and so I should config it.
The phone is running android 2.2(Froyo) and has built-in ActiveSync, so normally this would be a walk in the park to configure... Well guess again, after trying 20 times the phone wouldn't connect, so I googled around a bit and turns out it's android's implementation of ExAS not being fully compatible with exchange...
go figure... So after reading a lot of docs and testing for about 2 hours, it turns out that there is nothing wrong on the exchange side. The phone is connecting, authenticates but then it goes wrong because Exchange sends the phone an "ActiveSync policy" which you define in exchange server. But for some reason the phone either:
A doesn't know what to do with the policy
B doesn't send a proper message to exchange telling it that it is provisioned
Now after some more testing it turns out that if you look in the webmail for the person with that phone, under options-->settings-->phone-->you can see the phone and it will say "android" nothing more...
also the phone will most likely be in blocked status.(at least it was SOMETIMES not always with mine, sometimes it would say access granted, but nothing happens.)
Now as I became tired of troubleshooting and upgrading the android FW was not an option for the moment, I just regressed and downloaded "Touchdown" (30 day free trial before you have to pay 15$)
And guess what, it started sync right away!!
I'll try and upgrade the phone next week and let you know how it goes...
in the meanwhile, here are some articles addressing this issue:
http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/fa8f3203-2452-4cd0-ab9d-30502c3dfbea/
http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/bcc50ce4-0c97-4851-987d-1f5080d7942b
I found a workaround for the problem:
On the Android phone you need to setup a device password, after doing this it worked for my clients. You should have a device password at all times anyhow!
Today I had the pleasure of configuring AcitveSync on a samsung galaxy 551, which I explicitely told them not to buy... But they did and so I should config it.
The phone is running android 2.2(Froyo) and has built-in ActiveSync, so normally this would be a walk in the park to configure... Well guess again, after trying 20 times the phone wouldn't connect, so I googled around a bit and turns out it's android's implementation of ExAS not being fully compatible with exchange...
go figure... So after reading a lot of docs and testing for about 2 hours, it turns out that there is nothing wrong on the exchange side. The phone is connecting, authenticates but then it goes wrong because Exchange sends the phone an "ActiveSync policy" which you define in exchange server. But for some reason the phone either:
A doesn't know what to do with the policy
B doesn't send a proper message to exchange telling it that it is provisioned
Now after some more testing it turns out that if you look in the webmail for the person with that phone, under options-->settings-->phone-->you can see the phone and it will say "android" nothing more...
also the phone will most likely be in blocked status.(at least it was SOMETIMES not always with mine, sometimes it would say access granted, but nothing happens.)
Now as I became tired of troubleshooting and upgrading the android FW was not an option for the moment, I just regressed and downloaded "Touchdown" (30 day free trial before you have to pay 15$)
And guess what, it started sync right away!!
I'll try and upgrade the phone next week and let you know how it goes...
in the meanwhile, here are some articles addressing this issue:
http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/fa8f3203-2452-4cd0-ab9d-30502c3dfbea/
http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/bcc50ce4-0c97-4851-987d-1f5080d7942b
11 May 2011
How to import PSTS in Exchange 2010 SP1
Turns out the way to import psts in Exchange 2010 SP1 has changed yet again.
In 2010 you were able to import mailboxen from the EMC, and in 2007 you would do it from another server/client which needed to be x86 and have the exchange management tools installed...
But to be honest i'm glad that's no longer required.
So down to business:
To be able to import the psts, you first need the apropriate role memberships/permissions.
To hand out these permissions open the EMS(note that you must have the "organization administration" role/permission)
Issue the following command:
Then close the shell and restart it, this is needed to enforce your permissions.
Now you are ready to import the psts command is as follows:
(please note that it is REQUIRED to use a unc path, this can be \\localservername in case the psts are stored locally. Also it MUST be in a share, so something like c:\folder\psts will not work.
After you completed the command, your request will be queued and progressed, to view this progress you can issue:
Unfortunately there is no such thing as % process or something...
If the import fails, it's probably because there is a corrupt message(s) in the pst (check event log to verify)
Should this be the case you can add an extra argument allowing corrupt items to be skipped in the import process.
to do so enter
You can import all the mailboxes at the same time, they will be processed one by one.
That's it you're done.
In 2010 you were able to import mailboxen from the EMC, and in 2007 you would do it from another server/client which needed to be x86 and have the exchange management tools installed...
But to be honest i'm glad that's no longer required.
So down to business:
To be able to import the psts, you first need the apropriate role memberships/permissions.
To hand out these permissions open the EMS(note that you must have the "organization administration" role/permission)
Issue the following command:
New-ManagementRoleAssignment –Role “Mailbox Import Export” –User <your account>
Then close the shell and restart it, this is needed to enforce your permissions.
Now you are ready to import the psts command is as follows:
New-MailboxImportRequest -Mailbox mailboxname -FilePath \\server\share\file.pst
(please note that it is REQUIRED to use a unc path, this can be \\localservername in case the psts are stored locally. Also it MUST be in a share, so something like c:\folder\psts will not work.
After you completed the command, your request will be queued and progressed, to view this progress you can issue:
Get-MailboxImportRequest
Unfortunately there is no such thing as % process or something...
If the import fails, it's probably because there is a corrupt message(s) in the pst (check event log to verify)
Should this be the case you can add an extra argument allowing corrupt items to be skipped in the import process.
to do so enter
New-MailboxImportRequest -Mailbox mailboxname -FilePath \\server\share\file.pst -BadItemLimit <number of items>
You can import all the mailboxes at the same time, they will be processed one by one.
That's it you're done.
Subscribe to:
Posts (Atom)