A joint Microsoft and EMC event I’m speaking at.
|
|
So much for weekly Friday posts! It’s only been, well ages since the last one.
Anyhow, here are a few more short snippets that might be useful.
1. OCS 2007 R2 has the capability to do Hi-Def video however, it only works with a Quad core machine. Thankfully there is something you can try if you have a high powered machine with only two cores.
Create the following:
[HKEY_CURRENT_USER\Software\Microsoft\RTC\Quality]
"MaxAllowedSendVideoSize"=dword:00000008
"MaxAllowedReceiveVideoSize"=dword:00000008
2. As with Exchange 2007, Exchange 2010 allows for a trial install to be carried out without the need for license keys. It turns out that this trial doesn’t expire.
No loss of functionality will occur when the Trial Edition expires, so you can maintain lab, demo, training, and other non-production environments beyond 120 days without having to reinstall the Trial Edition of Exchange 2010.
3. One final one, although there will be a solution to use Outlook 2007 with Exchange 2010 SP1 archiving, the required patch isn’t out yet.
Hi,
Over the last few weeks I’ve worked on a few articles.
Two have recently been published.
The first is a migration whitepaper which Declan Conroy and I worked on together. We have previously written a whole series for Msexchange.org on the subject of GroupWise to Exchange migrations which can be found here.
This new piece takes a new look now Exchange 2010 is out and also discussed migration to BPOS.
The whitepaper can be downloaded here:
http://www.quest.com/documents/landing.aspx?id=11954&technology=&prod=&prodfamily=&loc=
In the second article Phil Bridge, MD of Kroll Ontrack, and I discuss some of the Pitfalls and pathways to migrate to Exchange 2010, with a particular look at which tools make sense for which types of migration.
The article is on the On Windows site here:
http://www.onwindows.com/Articles/Potholes,-pitfalls-and-pathways-to-success/5195/Default.aspx
Hope they are useful.
Cheers
Nathan
In the last few weeks MMMUG has delivered a couple of Exchange 2010 SP1 events.
The first was with Microsoft as posted here:
And the second was MMMUGs re-launch event as listed here:
Well the slides and webinar recordings from the first event are available on the MMMUG site here:
http://mmmug.co.uk/Exchange-2010-SP1-Livemeeting/View-category
The slides from Jaap Wesselius from the in person MMMUG event are here:
http://mmmug.co.uk/July-Meeting-Exchange-2010-SP1/View-category?orderby=dmdate_published
Hope they are useful.
Cheers
Nathan
We’re on a roll! The August MMMUG event is being hosted by Tony Brown. and is being held in London on the 18th August 2010.
The subject of the meeting is Exchange backup and recovery and we have Microsoft’s Anthony Tyler talking about System Centre Data Protection Manager’s take on backing up exchange and Kroll Ontrack’s offering for recovery.
Kroll Ontrack is now celebrating its 25th Anniversary as a global leader in the provision of data management solutions, specialising in data recovery, restoration, erasure and investigative products and services (www.krollontrack.co.uk).
Ontrack PowerControls software for Microsoft Exchange empowers users to search, recover, extract, restore and migrate Microsoft Exchange data (www.ontrackpowercontrols.co.uk).
Faced with increasing hardware and administration costs together with tighter budgets, organisations are seeking more cost-effective and efficient solutions to manage ad-hoc and routine Microsoft Exchange data requests. The core functionality of Ontrack PowerControls enables System Administrators to search, recover and restore entire .edb, .pst files and granular level items, whilst retaining data integrity.
Kroll Ontrack is pleased to be demonstrating the core functionality, features and application of this invaluable Microsoft Exchange administration tool.
Agenda:
18:00pm – 18:30pm Arrival
18:30pm – 19:30pm Ontrack PowerControls
19:30pm – 20:00pm Refreshments
20:00pm – 20:45pm Microsoft DPM
20:45pm – 21:00pm Discussions & Questions on Exchange backup / recovery.
The event will be held at Kroll Ontrack’s flagship offices overlooking HMS Belfast and London Bridge:
To Sign Up use the link below:
http://www.mmmug.co.uk/4-18th_August_2010_-_Exchange_backup_and_recovery
Just a quick tip, as this seems to have caught a few people out (including me!)
When installing Exchange 2010 SP1 UM role there is the need to install the UCMA 2.0 Runtime which can be downloaded from the Microsoft site using the link below:
So when the software downloads, you double click the MSI and install it. What is perhaps not so obvious, is that you haven’t actually installed anything yet! You have only copied the files to the location specified which in my case was:
C:\Microsoft UCMA 2.0 Runtime Installer Package\amd64
So at that point you need to run the SetupUcmaRuntime application in that folder to actually install UCMA, at which point Exchange setup will find the prerequisites and let you install the Exchange UM role!
Hope that helps!
Cheers
Nathan
As you may be aware – Exchange 2010 Service Pack 1 is being released shortly and Microsoft’s Brett Johnson, Steve Tassell and Leigh Smith and I will be delivering a LiveMeeting on the 10th of June from 9.30 am to 11:00 am to explain in detail the fixes and enhancements that it contains.
The LiveMeeting’s agenda is as follows:
• Reminder of the Exchange 2010 core tenets
• An update on where Microsoft is with Exchange Online
• Introduction to the Feature Enhancements of Exchange 2010 SP1 such as;
o The New Exchange Control Panel Management UI
o Improved High Availability and Disaster Recovery functionality
o Improved Outlook Web App UI and Performance
o Better Mobile Device Experience
o New Information Protection and Control
? Personal Archive Enhancements
? Retention Policy Management Enhancements
? Multi-Mailbox Search Enhancements
• Demo and Deep Dive
o Having given a broad outline of the new features we will demo some of the most visible, including;
? New OWA,
? Exchange Control Panel
? Key Information Protection and Compliance functions
• Questions & Answers
To log into the event – click on the following url….
https://www.livemeeting.com/cc/microsoft/join?id=3Z8JBW&role=attend&pw=5P7XXQ
We encourage you all to join this meeting as it will be useful to anyone who looks after Exchange Servers of whatever variety – even if you’re not currently using Exchange 2010.
I’ve been working with PowerShell recently as you can see from my recent blog posts on setting Exchange 2010 virtual directory settings and on redirecting the OWA URL from http to https.
Below is a script I put together to set the logon format for OWA. Basically it prompts the user about the various types of format available and then goes and builds the relevant commands to configure any Client Access servers in the environment. It should work against Exchange 2007 and 2010 although I’ve only tested Exchange 2010.
Write-host "This script will let you set the logon format for OWA virtual directories on Exchange 2010."
Write-host ""#============================================
#Set Variables
[string]$ConfirmPrompt = "Set this Value? (Y/N)"
[string]$WarningForeground = "white"
[string]$WarningBackground = "red"#Build Array of OWA virtual directories and then run through for the user
[array]$OWAVDir = Get-OwaVirtualDirectory
#============================================
#Prompt user about how they want login to occur and then get selection
Write-host "How do you want users to log into OWA?"[string]$type = Read-host "You have three options, EmailAddress (UPN), Domain\username or username. Please enter one of (Email / Domain / Username)"
Write-host ""
#============================================
#Create function for calling later which will do the setting of propertiesfunction ConfigureVirtualDirectory
{
#Get the current AD domain FQDN for use as the default domain if Username format is chosen.$ADdomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
if ($type -eq "Email") {
Write-host "You have opted to use the email address. Please make sure users UPN in active directory matches their email address" -foregroundcolor $WarningForeground -backgroundcolor $WarningBackground
Foreach ($value in $OWAVDir) {
Set-OwaVirtualDirectory -Identity $value -LogonFormat PrincipalName }
}
if ($type -eq "Domain") {
Foreach ($value in $OWAVDir) {
Set-OwaVirtualDirectory -Identity $value -LogonFormat FullDomain }
}
if ($type -eq "Username") {
Foreach ($value in $OWAVDir) {
Set-OwaVirtualDirectory -Identity $value -LogonFormat UserName -DefaultDomain $ADdomain }
}
}#===========================================
#Tell user what is about to happen for each server and then give choice to executeWrite-host “Looking at Server: ” $OWAVDir[0].server
Write-host “Current Logon Format: ” $OWAVDir[0].logonformat
Write-host “New Logon Format Type: ” $Type
[string]$set = Read-host $ConfirmPrompt
Write-host “”if ($set -eq "Y") {
ConfigureVirtualDirectory
} else {
Write-host "Nothing has been changed, script quit" -foregroundcolor $WarningForeground -backgroundcolor $WarningBackground
exit
}iisreset
I’ve been working recently on a series of articles describing how to get Exchange 2010 up and running on a single server.
The aim is to provide small IT shops or those getting started with Exchange 2010 a place to come where they can find out all about the steps needed to get a server operational without having to first wade through the massive help file!
That’s not to say the help file isn’t useful. It is! very very useful. It’s just rather large and intimidating.
In the course of this article, I’ve found that although Exchange 2010 makes more available in the GUI than Exchange 2007 did, there is still not the automation that would make things easy.
For example, when you create a new certificate in the nice new GUI, you enter a whole bunch of information which could then be used to set the relevant URL settings on the multitude of Exchange related virtual directories needed to make things like OWA work properly.
So I started to dig around and found a great script. It started out on the Exchange Ninjas site for Exchange 2007:
http://www.exchangeninjas.com/set-allvdirs
Then another chap got involved and started updating for Exchange 2010:
However, he missed a couple of bits, like leaving in the UM virtual directory and not entering the ActiveSync or PowerShell directories. He also didn’t set the OAB to require or not SSL based upon the use of a public certificate.
I’ve fixed those bits and now present the following script which can set all relevant Exchange 2010 virtual directory URLs (both Internal and External) based around a single Exchange 2010 server being connected to the Internet to provide service for a site.
Over time I will probably add more functionality like the ability to set OWA logon type to the email address format (UPN) rather than domain\username.
Hope you find this useful, and more than happy to hear of any improvements that could be made.
Cheers
Nathan
# Script to allow you to set all virtual directories to a common name like mail.company.com
Start-Transcript
# Variables
[string]$EASExtend = “/Microsoft-Server-ActiveSync”
[string]$PShExtend = “/powershell”
[string]$OWAExtend = “/OWA”
[string]$OABExtend = “/OAB”
[string]$SCPExtend = “/Autodiscover/Autodiscover.xml”
[string]$EWSExtend = “/EWS/Exchange.asmx”
[string]$ECPExtend = “/ECP”
[string]$ConfirmPrompt = “Set this Value? (Y/N)”
[string]$NoChangeForeground = “white”
[string]$NoChangeBackground = “red”Write-host “This will allow you to set the virtual directories associated with setting up a single SSL certificate to work with Exchange 2010.”
Write-host “”
[string]$base = Read-host “Base name of virtual directory (e.g. mail.company.com)”
write-host “”# =============================================
# Validate if a third party trusted certificate is being used
# because BITS used by OAB downloads won’t use untrusted certificates
[string]$set = Read-host “Is the certificate being used an internally generated certificate? (Y/N)”
Write-host “”if ($set -eq “Y”) {
[string]$OABprefix = “http://”
[boolean]$OABRequireSSL = $false
} else {
[string]$OABprefix = “https://”
[boolean]$OABRequireSSL = $true
}# =============================================
# Build the OAB URL and set the internal ValueWrite-host “Setting OAB Virtual Directories” -foregroundcolor Yellow
write-host “”$OABURL = $OABprefix + $base + $OABExtend
[array]$OABCurrent = Get-OABVirtualDirectory
Foreach ($value in $OABcurrent) {
Write-host “Looking at Server: ” $value.server
Write-host “Current Internal Value: ” $value.internalURL
Write-host “New Internal Value: ” $OABUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-OABVirtualDirectory -id $value.identity -InternalURL $OABURL -RequireSSL:$OABRequireSSL
} else {
write-host “OAB Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}Write-host “Looking at Server: ” $value.server
Write-host “Current External Value: ” $value.externalURL
Write-host “New External Value: ” $OABUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-OABVirtualDirectory -id $value.identity -ExternalURL $OABURL -RequireSSL:$OABRequireSSL
} else {
write-host “OAB Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}
}# ============================================
# Build the Autodiscover URL and set the SCP ValueWrite-host “Setting Autodiscover Service Connection Point” -foregroundcolor Yellow
write-host “”$SCPURL = “https://” + $base + $SCPExtend
[array]$SCPCurrent = Get-ClientAccessServer
Foreach ($value in $SCPCurrent) {
Write-host “Looking at Server: ” $value.name
Write-host “Current SCP value: ” $value.AutoDiscoverServiceInternalUri.absoluteuri
Write-host “New SCP Value: ” $SCPURL
[string]$set = Read-host $ConfirmPrompt
write-host “”
if ($set -eq “Y”) {
Set-ClientAccessServer -id $value.identity -AutoDiscoverServiceInternalUri $SCPURL
} else {
write-host “Autodiscover Service Connection Point internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}
}# =============================================
# Build the EWS URL and set the internal ValueWrite-host “Setting Exchange Web Services Virtual Directories” -foregroundcolor Yellow
write-host “”$EWSURL = “https://” + $base + $EWSExtend
[array]$EWSCurrent = Get-WebServicesVirtualDirectory
Foreach ($value in $EWSCurrent) {
Write-host “Looking at Server: ” $value.server
Write-host “Current Internal Value: ” $value.internalURL
Write-host “New Internal Value: ” $EWSUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-WebServicesVirtualDirectory -id $value.identity -InternalURL $EWSURL
} else {
write-host “Exchange Web Services Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}Write-host “Looking at Server: ” $value.server
Write-host “Current External Value: ” $value.externalURL
Write-host “New External Value: ” $EWSUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-WebServicesVirtualDirectory -id $value.identity -ExternalURL $EWSURL
} else {
write-host “Exchange Web Services Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}
}# =============================================
# Build the PowerShell URL and set the internal ValueWrite-host “Setting UM Virtual Directories” -foregroundcolor Yellow
write-host “”$PShURL = “http://” + $base + $PShExtend
[array]$PShCurrent = Get-PowerShellVirtualDirectory
foreach ($value in $PShCurrent) {
Write-host “Looking at Server: ” $value.server
Write-host “Current Internal Value: ” $value.internalURL
Write-host “New Internal Value: ” $PShUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-PowerShellVirtualDirectory -id $value.identity -InternalURL $PShURL
} else {
write-host “PowerShell Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}Write-host “Looking at Server: ” $value.server
Write-host “Current External Value: ” $value.externalURL
Write-host “New External Value: ” $PShUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-PowerShellVirtualDirectory -id $value.identity -ExternalURL $PShURL
} else {
write-host “PowerShell Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}
}# =============================================
# Build the ECP URL and set the internal ValueWrite-host “Setting ECP Virtual Directories” -foregroundcolor Yellow
write-host “”$ECPURL = “https://” + $base + $ECPExtend
[array]$ECPCurrent = Get-ECPVirtualDirectory
foreach ($value in $ECPCurrent) {
Write-host “Looking at Server: ” $value.server
Write-host “Current Internal Value: ” $value.internalURL
Write-host “New Internal Value: ” $ECPUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-ECPVirtualDirectory -id $value.identity -InternalURL $ECPURL
} else {
write-host “ECP Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}Write-host “Looking at Server: ” $value.server
Write-host “Current External Value: ” $value.externalURL
Write-host “New External Value: ” $ECPUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-ECPVirtualDirectory -id $value.identity -ExternalURL $ECPURL
} else {
write-host “ECP Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}
}# =============================================
# Build the OWA URL and set the internal ValueWrite-host “Setting OWA Virtual Directories” -foregroundcolor Yellow
write-host “”$OWAURL = “https://” + $base + $OWAExtend
[array]$OWACurrent = Get-OWAVirtualDirectory
foreach ($value in $OWACurrent) {
Write-host “Looking at Server: ” $value.server
Write-host “Current Internal Value: ” $value.internalURL
Write-host “New Internal Value: ” $OWAUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-OWAVirtualDirectory -id $value.identity -InternalURL $OWAURL
} else {
write-host “OWA Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}Write-host “Looking at Server: ” $value.server
Write-host “Current External Value: ” $value.externalURL
Write-host “New External Value: ” $OWAUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-OWAVirtualDirectory -id $value.identity -ExternalURL $OWAURL
} else {
write-host “OWA Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}
}# =============================================
# Build the EAS URL and set the internal ValueWrite-host “Setting EAS Virtual Directories” -foregroundcolor Yellow
write-host “”$EASURL = “https://” + $base + $EASExtend
[array]$EASCurrent = Get-ActiveSyncVirtualDirectory
foreach ($value in $EASCurrent) {
Write-host “Looking at Server: ” $value.server
Write-host “Current Internal Value: ” $value.internalURL
Write-host “New Internal Value: ” $EASUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-ActiveSyncVirtualDirectory -id $value.identity -InternalURL $EASURL
} else {
write-host “EAS Virtual Directory internal value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}Write-host “Looking at Server: ” $value.server
Write-host “Current External Value: ” $value.externalURL
Write-host “New External Value: ” $EASUrl
[string]$set = Read-host $ConfirmPrompt
write-host “”if ($set -eq “Y”) {
Set-ActiveSyncVirtualDirectory -id $value.identity -ExternalURL $EASURL
} else {
write-host “EAS Virtual Directory external value NOT changed” -foregroundcolor $NoChangeForeground -backgroundcolor $NoChangeBackground
}
}
Stop-Transcript
At this stage another short post!
But as soon as bits are available I will get something longer up here.
Microsoft have again improved Exchange with the announcement of SP1.
As regular readers will know I’ve been working on Information Protection and Compliance with Exchange 2010 recently for a presentation at UK TechDays next week. Well there are loads of changes in those areas!
As is so often the case with the Exchange product group Microsoft have really listened to feedback and implemented things like being able to split the user archive off into a separate database. You can also import mail directly into Exchange with server side admin lead tools rather than relying on users to move mail into their archive. I personally will be interested to see whether you can import directly to the archive!
Another nice addition is being able to create Retention tags, (and hopefully policies) directly in the GUI rather than only through PowerShell.
One of the biggest deals for many is that the Personal archive can be used from Outlook 2007 which will remove a massive blocker for deployment as companies are often much slower to upgrade their Office suite than their mail system.
Alongside all the above there are numerous improvements to OWA to speed up use and move it even closer to being a very capable replacement for Outlook in many situations.
For more info see the announcement on the Exchange team blog.
http://msexchangeteam.com/archive/2010/04/07/454533.aspx
Cheers
Nathan