Donnerstag, 12. Mai 2011

Improved Mailbox Import/Export in Exchange 2010 SP1

As mentioned in my previous article, An Overview of Exchange 2010 SP1, the latest Exchange service pack brings some new enhancements to the way Exchange Administrators will import and export data to/from PST files.

Note: All the information is based on the SP1 BETA released in June 2010 (version 14.01.0180.002). Please keep in mind that things may change by the time this reaches final release.

A bit of History

If you've been around long enough, you will remember the ExMerge.exe utility that allowed to import and export data to/from Exchange mailboxes. Introduced in the days of Exchange 4.0, ExMerge stuck around till Exchange 2007 was released. This introduced the Import-Mailbox and Export-Mailbox cmdlets intended to replace ExMerge. The new cmdlets did not allow exporting of mailboxes to PSTs until the release of Exchange 2007 SP1. Even then, and in Exchange 2010 RTM after that, there was a requirement to have Outlook installed, because Exchange relied on the Outlook MAPI provider. In fact, to use the Export-Mailbox cmdlet in Exchange 2010 you have to have Outlook 2010 x64 installed on the same machine (as Alexander Zammit explains in his article Exchange 2010 Import-Mailbox and Export-Mailbox).

Exchange 2010 SP1 removes the requirement to have Outlook x64 installed by including an in-built MAPI provider. This is probably going to be one of the most welcomed additions to this improved piece of functionality.

The new Import and Export cmdlets

Let us now take a look at the new cmdlets available for the MailboxImportRequest and MailboxExportRequest commands and a small description for each:

MailboxImportRequest

CmdletDescription
New-MailboxImportRequestStart an import operation from a PST to a mailbox
Get-MailboxImportRequestView mailbox import details
Set-MailboxImportRequestChange the options of an import request
Suspend-MailboxImportRequestSuspend an import request
Resume-MailboxImportRequestResume a suspended import request
Remove-MailboxImportRequestRemove an import request
Get-MailboxImportRequestStatisticsView a more detailed set of import stats

MailboxExportRequest

CmdletDescription
New-MailboxExportRequestStart an export operation from a mailbox to a PST
Get-MailboxExportRequestView mailbox export details
Set-MailboxExportRequestChange the options of an export request
Suspend-MailboxExportRequestSuspend an export request
Resume-MailboxExportRequestResume a suspended export request
Remove-MailboxExportRequestRemove an export request
Get-MailboxExportRequestStatisticsView a more detailed set of export stats

When using the New-MailboxExportRequest cmdlet, you can also specify the -ContentFilter parameter with special properties that allow you to export only those messages that meet certain criteria. More information on the -ContentFilter parameter can be found at:
http://technet.microsoft.com/en-us/library/ff601762(EXCHG.141).aspx

Prerequisites

There are a number of requirements that need to be met to ensure that the Import or Export process goes smoothly. These include:

  • The Microsoft Exchange Mailbox Replication service needs to be started. This service handles the import/export requests.

  • The Exchange Trusted Subsystem Security Group should be granted Full Control permissions on the folder where the PST files will reside:

    Folder Permissions

  • When specifying the PST file path, you have to use the UNC format (even if the file is stored locally). For example the UNC path for the file c:\PST\RachelPeach2010.pst, on a server named EXCHSRV:
    \\EXCHSRV\C$\PST\RachelPeach2010.pst

    Here I am using the C$ administrative share. Of course you can create shares manually and change the path accordingly.

  • The administrator that is going to perform the import or export needs to have appropriate permissions in Exchange. Follow the instructions in the section that follows to configure the required permissions.

Configuring Import / Export Permissions

  1. You first need to create a group that grants access to the Import and Export cmdlets. The command to do this is:
    New-RoleGroup "Mailbox Import Export Group" -Roles "Mailbox Import Export"

    New-RoleGroup

  2. Next, you will need to add the administrator (and other designated users) to the role group. The command to do this is:
    Add-RoleGroupMember "Mailbox Import Export Group" -Member "Administrator"

  3. That's it! You are now ready to start the import/export process.

Importing from a PST

We will now look at an example of how to import a mailbox from a PST.

When importing from a PST the cmdlet itself takes care of ensuring that subfolders are carried over too. By default, it also checks for duplicates in the target mailbox so that items will not be imported twice.

Below is an image showing Rachel Peach's mailbox prior to running the New-MailboxImportRequest cmdlet:

Mailbox

To import Rachel's PST into her mailbox, we can run the following command:
New-MailboxImportRequest -Mailbox "Rachel Peach" -FilePath \\win2008srv01\c$\PST\RachelPeach2010.pst

The image below shows Rachel Peach's mailbox with the new items that were imported from the PST:

PST Import

If you wish to import the e-mails into the Personal Archive of a user, specify the -IsArchive parameter at the end of the cmdlet, like this:
New-MailboxImportRequest -Mailbox "Rachel Peach" -FilePath \\win2008srv01\c$\PST\RachelPeach2010.pst -IsArchive

If you wish to specify which folder you'd like the e-mails to be imported to, specify the -TargetRootFolder parameter at the end of the cmdlet, like this:
New-MailboxImportRequest -Mailbox "Rachel Peach" -FilePath \\win2008srv01\c$\PST\RachelPeach2010.pst -TargetRootFolder "Imported"

To check the status of the import request, we can use the Get-MailboxImportRequest cmdlet:

Get-MailboxImportRequest

Exporting a Mailbox to a PST

Finally, we'll look at how to export a mailbox to a PST using the New-MailboxExportRequest cmdlet. Below is an image showing Rachel Peach's mailbox prior to exporting the mailbox:

Mailbox before Export

To initiate a mailbox export request, we will have to use the following command:
New-MailboxExportRequest -Mailbox "Rachel Peach" -Filepath "\\win2008srv01\c$\PST\RachelPeachMailboxJuly2010.pst"

We can check the status of this export request by using the Get-MailboxExportRequest cmdlet. The image below shows the RachelPeachMailboxJuly2010.pst in the C:\PST folder, as well as opened in Microsoft Outlook 2010:

Exported PST

Exported PST Outlook2010

Exporting Multiple Mailboxes

If you wish to export multiple mailboxes into a respective PST file, you can do so using a simple script, as shown below:
foreach ($mbx in (Get-Mailbox)) { New-MailboxExportRequest -Mailbox $mbx -FilePath "\\win2008srv01\c$\PST\$($mbx.Alias).pst" }

What we're doing here is looping through each mailbox and running the New-MailboxExportRequest cmdlet while using the mailbox Alias to compile a unique name for each PST.

Conclusion

As we have seen, the New-MailboxImportRequest and New-MailboxExportRequest cmdlets are going to make the Exchange Admins lives much easier. The fact that Outlook 2010 x64 doesn't need to be installed is a welcomed addition that should eliminate some of the frustration that was built around the Import-Mailbox and Export-Mailbox cmdlets in Exchange 2010 RTM.

Mittwoch, 11. Mai 2011

HOWTO: Transfer MPEG-4 video clips by FTP when an Axis camera detects motion

A feature unique to the Axis 207 family of cameras is the ability to send full MPEG-4 video clips by email or upload them to an FTP server based on motion/audio detection, external sensor input or triggered manually.

There are very few cameras which support this, even higher-end Axis cameras do not support this feature making it a very much worth doing a guide for.

This guide is suitable for the following cameras:

Axis 207
Axis 207W
Axis 207MW

HOWTO:

We will assume that you have configured your camera and can connect to it to view a live image.

Setting up an event in any Axis camera is a multi-stage process.

1. Set the triggering method
2. Adding the event server details
3. Set up the event

Step 1 – Set event triggering method

The camera can accept four triggering methods: motion detection, audio detection, external sensor input (such as a window sensor or a doorbell) or it can be triggered manually using an on-screen button in the live image page.

For this guide we will be concentrating on motion detection so check the box that reads ‘Motion detection’ under the ‘Triggered by…’ heading.

Event configuration page in an Axis 207W
Event settings page in an Axis 207W (firmware version: 4.40)

When you check this you will see new options open below allowing you to select which window you want to detect motion in. The Axis 207 model of camera supports multi-window motion detection which means that you can set up to 10 unique windows which you can set events to trigger from.

Motion Detection Settings page in an Axis 207W
Motion detection settings in an Axis 207W (firmware version 4.40)

The default window is numbered as window [0] and includes the whole image. This can as the default option for alarm monitoring just fine.

However, in the image above we have added a detection window which concentrates on the door area and given it the name [1] DOOR ENTRY. This allows us to focus on activity around the door meaning our camera will trigger as soon as someone enters the room but it won’t trigger when someone is in the room standing outside the window.

In the following image you can see we have used the dropdown box to select our ‘DOOR ENTRY’ window for the purposes of the alarm trigger. We have also selected the box which makes our trigger start when motion is detected.

Event trigger configuration in an Axis 207W
Setting the event trigger in an Axis 207W (firmware version: 4.40)

Step 2 – Setting your FTP server details

Now that your triggering method has been set the next thing to configure is the action which the camera takes when the trigger is activated.

Before we do this however we like to set the FTP server details, which is done in a separate window.

To access the FTP server dialog check the box titled ‘Upload images/video’ under the ‘When Triggered…’ heading and make sure the method of upload is set to FTP. This will open up further options which we will discuss in Step 3. For now you should see a button titled ‘Primary FTP server settings…’. Click this to open the FTP server settings dialog as shown below.

FTP server dialog in an Axis 207W
Setting the FTP server details in an Axis 207W (firmware version: 4.40)

Enter the settings as below:

Name: The name isn’t really important, just use something to remind you of which FTP server you are using.

Network address: Enter the address for your FTP server here. This would be something like ‘ftp.myftpserver.com’ or you can also use the IP address if you know it.

Upload path: Enter the path where you would like to store the video clips on your FTP server. Examples would be ‘/’ to place it in the root or ‘/httpdocs/’ if storing on certain web servers.

Port number: The standard port number for FTP is 21. Only change this if you know your FTP server uses a different one.

User name: Enter the user name you use to log into your FTP server.

Password: Enter the password you use to log into your FTP server.

Passive mode: This setting is dependent on your FTP server and relates to the way the FTP server connects to the client. We don’t really need to go into too much detail, if you are unsure try it one way and if it doesn’t work try it the other.

Use a temporary file: This option is useful if you are overwriting the same FTP jpeg image. It’s optional when uploading video files.

The FTP dialog has a test button which you can use to test the connection. It will confirm if your settings are correct and is very useful.

Step 3 – Configure the event action

Now the server details have been set and tested it’s time to finish the action the camera performs once the event has been triggered.

You should already have ‘Upload images/video’ selected and have the method of upload set to FTP. To finish the event we need to configure the remaining options:

Setting the event action in an Axis 207W
Setting the event action in an Axis 207W (firmware version: 4.40)

File format: To upload video to an FTP server set this option to MPEG-4.

Include audio: Do you want your video to include audio? Obviously a video with audio will mean a larger file size.

Include a pre-trigger buffer: Contains video from the time immediately preceding the trigger, specified in seconds. Enter how many seconds you want to include and check the box to enable it.

Include a post-trigger buffer: Contains video from the time immediately after the trigger, specified in seconds. Enter how many seconds you want to include and check the box to enable it.

Base file name: This is the base filename you want to give to your video files. This filename will have additions if you are not overwriting such as a date/time stamp to make each file unique.

The next four options under the base file name give different suffix options. For this example please check ‘date/time suffix’

Click the ‘Save’ button to save your changes.

Finish

That’s all there is to it. Your camera’s event should now be running and every time motion is detected by your camera a video will be uploaded to your FTP server.

Frequently Asked Questions

The camera is not accepting my FTP details, what can I do?
First, double-check your FTP address, path, username and password. I would use different combinations for your Path value using leading slashes and trailing slashes etc. Next I would test your FTP settings using passive (PASV) mode on and off. Some FTP servers will need it on, some won’t. Also, if you are using a hostname for your FTP server address such as ‘ftp.myftpserver.com’ then you should check you are using correct DNS addresses in the camera. DNS servers deal with the translation of hostnames to IP address on the Internet. If you are not pointing to a valid DNS server then it won’t be able to translate the hostname and therefore won’t connect. Enter the setup pages of your camera and choose ‘TCP/IP’ in the menu on the left under the ‘Basic’ heading. At the bottom of the page there is a link to ‘Advanced TCP/IP settings’. Click this link and at the top of the page you can enter/confirm your DNS addresses. These will be provided to you by your service provider. If you don’t know them you can use your router/gateway address as the Primary DNS Server and let the router to the work for you.

My videos should be longer, they’re cutting off short, why is this happening?
Your pre-/post-triggers may be set larger than the camera can manage, the camera will cut the MPEG-4 video short if the file exceeds the permitted file size. If you suspect this is happening you can confirm this by checking the camera’log file as an entry will be added based on this error.

My videos work fine when uploading by FTP but they won’t appear when I send them by email?
Pre/post-buffers in the MPEG-4 format can result in very large file attachments that may be rejected by an email server. When setting up the event, it is recommended that pre/post-trigger buffers are set to just a few seconds. Once an email is recieved you can experiment with different values until you get the required result.

Mittwoch, 4. Mai 2011

Exchange 2010 with Outlook 2003 issues

Here are a couple of interesting things to be aware of when implementing Exchange 2010 with Outlook 2003 clients. Note that the issues described here do not occur with Outlook 2007 or 2010.

Service Pack:

Make sure Outlook 2003 has Office 2003 Service Pack 3 applied. If you don’t it will not work.

Enable Encyption:

Encryption must be enabled in the Outlook profile.

Under the Outlook Profile, choose “more settings” and then choose the Security tab. Make sure “Enable encryption between Outlook and the Exchange Server” is ticked.

Outlook 2003 in Online Mode

An issue exists where Outlook 2003 clients are slow when configured in Online mode. Users will notice things like moving items between folders and deleting items are slow (the item doesn’t move immediately). Cached mode resolves this issue or alternatively you can follow these steps. Note that this fix does not completely resolve the issue, but it does improve performance of Outlook 2003 online mode a lot.

On the server with the Client Access Role

  • Install Exchange 2010 Update Rollup 1 and restart the server.
  • Now make the following registry change.
  • HKLM\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem
  • Create a DWORD called ”Maximum Polling Frequency” (without quotes)
  • Make the value 10000

Note that this change is dynamic and clients will need to close and open Outlook again for the change to take affect.

Another things you can do to reduce the user impact include:

  • turning off the preview pane.
  • advising users to open the message and delete the open message, rather than deleting from the Inbox.

Send/Receive errors

I haven’t found a full solution to this problem, but it appears that users with cached mode on Outlook 2003 can get corruption in OST file or Outlook profile. To resolve this issue I have tried to deleting to OST file and creating a new Outlook profile. This works about 75% of the time.

An interesting side-effect of this issue is the Offline Address Book doesn’t download updates. I’ll post more details once I have the answer!

Microsoft Support Article

ACSP: Apple Certified Support Professional 9L0-403

So… nach der ganzen Microsoft-Zertifiziererei habe ich mich heute an die erste Prüfung von Apple gewagt und bin jetzt mit einem Score von 87,48% ganz frisch gebackener “Apple Certified Support Professional 9L0-403 (10.6)“.

Die Prüfung war sehr einfach. Ob ich diesen Zertifizierungsweg weiter gehen werde weiß ich allerdings noch nicht.

Sehen wir mal was die Zukunft bringen wird….

Rename Onedrive Business root folder

Rename Onedrive Business root folder Here is what I remember: In the Office 365 web admin pages, change the organization name to a shorte...