Monday, October 18, 2010

MSExchangeRepl 2147 / MSExchangeRepl 2104 / MSExchangeRepl 2127 occurring on Windows 2008 or Windows 2008 R2 with Exchange 2007 Cluster Continuous Replication (CCR)

When Exchange 2007 CCR is installed on Windows 2008 or Windows 2008 R2 the following error may be noted in the application log of the passive node:

Log Name: Application
Source: MSExchangeRepl
Event ID: 2104
Task Category: Service
Level: Error
Keywords: Classic
User: N/A
Computer: MACHINE
Description:
Log file action LogCopy failed for storage group EXCLUST01\SG2. Reason:
CreateFile(
\\Server\StorageGroupGUID$\LogFile.log) = 2

If the CCR cluster is not utilizing continuous replication host names the following event series may also be noted:

Event ID : 2147
Raw Event ID : 2147
Source : MSExchangeRepl
Type : Error
Machine : SERVER
Message : There was a problem with 'ActiveNode', which is an alternate name for 'ActiveNode'. The list of aliases is now 'ActiveNode', and the alias 'was' removed from the list. The specific problem is 'CreateFile(
\\ActiveNode\StorageGroupGuid$\LogFile.log) = 2'.

ID:       2127
Level:    Information
Provider: MSExchangeRepl
Machine:  SERVER
Message:  The system has detected a change in the available replication networks.  The system is now using network 'ActiveNode' instead of network 'ActiveNode' for log copying from node ActiveNode.

In this situation if the solution is aggressively monitored you may not that replication is temporarily failed and then resumes automatically as healthy.  This occurs due to a temporary pause in replication when the error condition is detected, while the replication service attempts to find other replication paths, and then automatically re-attempts the same copy operation.

If the CCR cluster is utilizing continuous replication host names the following event series may also be noted:

Event ID : 2147
Raw Event ID : 2147
Source : MSExchangeRepl
Type : Error
Machine : SERVER
Message : There was a problem with 'ReplicationHostName', which is an alternate name for 'ActiveNode'. The list of aliases is now 'ActiveNode', and the alias 'was' removed from the list. The specific problem is 'CreateFile(
\\ReplicationHostName\StorageGroupGUID$\LogFile.log) = 2'.

ID:       2127
Level:    Information
Provider: MSExchangeRepl
Machine:  SERVER
Message:  The system has detected a change in the available replication networks.  The system is now using network 'ActiveNode' instead of network 'ReplicationHostName' for log copying from node ActiveNode.

Error 2 is ERROR_FILE_NOT_FOUND

In this situation the error is detected on the replication host name.  The replication service will temporarily pause replication while other network paths are enumerated.  If other continuous replication host names are in use, the replication serivce will select an alternate replication host name and automatically resume log copying.  If the only path valid is the "public" path, the replication service will begin copying log files over the "public" network.  Eventually this error occurs on the public network, forcing network re-enumeration to occur and replication to automatically switch back to the replication network.  If the solution is aggressively monitored, the replication status may be failed during this switch but will automatically resume healthy.

In almost all incidences these errors are considered benign to the operation of the Exchange Server.

The replication service is extremely aggressive in its attempts to copy log files.  The replication service is always aware of the next log file in the series that requires copying to the passive node.  As part of normal processes the replication service may query multiple times for the presence of this file and make copy attempts.  These attempts may result in the replication service querying for a  log file that is not fully available.  Under Windows 2003 this was not necessarily an issue.  Windows 2008 introduces a component into SMBv2 that may cause this to be a problem.

SMBv2 introduces status caching into the LanManWorkstation service.  When an application requests information from a file share, the workstation service caches the response from the server hosting the share.  Subsequent requests for the same information are returned from cache rather than re-contacting the server hosting the share.  Eventually this cache will expire (in our case it expires by the time replication is failed / resumed <or> a switch between replication host names occur).  The replication service has received feedback that the log file in question should not be available for copy, attempts to copy it, and receives an older return status that the file is not ready (even though the file does exist on the source at the time the attempt is made).  In turn the replication service detects this as an error condition and takes action.

From a Windows 2008 / Windows 2008 R2 perspective this is by design.

To correct these errors on an Exchange 2007 / Windows 2008 <or> Exchange 2007 / Windows 2008 R2 implementation, the following registry keys should be set to a zero (0) value and the nodes rebooted:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters

FileInfoCacheLifetime [DWORD]

FileNotFoundCacheLifetime [DWORD]

DirectoryCacheLifetime [DWORD]

If the DWORDs (32bit)  are not present they may need to be created.  The recommended value is HEX / DEC 0.

More information on these keys can be found here: http://technet.microsoft.com/en-us/library/ff686200(WS.10).aspx  (Note that registry path in the article is missing the SERVICES hive – correct path in blog post).

Thursday, September 30, 2010

Get-OWAVirtualDirectory Error on Windows 2003 X64

We have an Exchange 2007 CCR Cluster on Server 2008 X64 Enterprise.

Exchange 2007 CAS / Hub Transport role on Server 2003 x64.

 

Get error once run EMC from CAS -64 bit machine

 

--------------------------------------------------------
Microsoft Exchange Error
--------------------------------------------------------
The following error(s) were reported while loading topology information:

Get-ActiveSyncVirtualDirectory
Failed
Error:
Unable to create Internet Information Services (IIS) directory entry. Error message is: Access is denied.
. HResult = -2147024891.

Access is denied.
.
Directory Path: IIS://<SVRNAME>.<domain>.com/W3SVC/1/ROOT/Microsoft-Server-ActiveSync
Detail:
server name: <SVRNAME>.<domain>.com
local machine name: <SVRNAME>
local machine fqdn: <SVRNAME>.<domain>.com

Access is denied.

 

 


Get-OabVirtualDirectory
Failed
Error:
Unable to create Internet Information Services (IIS) directory entry. Error message is: Access is denied.
. HResult = -2147024891.

Access is denied.
.
Directory Path: IIS://<SVRNAME>.<domain>.com/W3SVC/1/ROOT/OAB
Detail:
server name: <SVRNAME>.<domain>.com
local machine name: <SVRNAME>
local machine fqdn: <SVRNAME>.<domain>.com

Access is denied.

 

 


Get-OWAVirtualDirectory
Failed
Error:
Unable to create Internet Information Services (IIS) directory entry. Error message is: Access is denied.
. HResult = -2147024891.

Access is denied.
.
Directory Path: IIS://<SVRNAME>.<domain>.com/W3SVC/1/ROOT/owa
Detail:
server name: <SVRNAME>.<domain>.com
local machine name: <SVRNAME>
local machine fqdn: <SVRNAME>.<domain>.com

Access is denied.

 

Resolution:

 

I changed the DCOM Communication Properties on  - 2003 Boxes to the following:

 

Run >> dcomcnfg

 

Component Services >> Computers >>

Right Click - My Computer

Choose Properties

 

Default Properties Tab:

 

Enable DCOM on this computer: Checked

Default Authentication Level: Connect

Default Impersonation Level: Impersonate

 

The only thing I changed was the Impersonation Level to "Impersonate"; which was by default, set to "Identify".

 

After the change; I restarted the EMC, and no more errors. Closing and reopening the EMC was essential or the errors would persist. Nevertheless, it is solved for now.

 

Reference:

 

http://msdn.microsoft.com/en-us/library/aa389284(VS.85).aspx

 

 

Friday, August 13, 2010

How to rebuild index for Exchange 2007 DBs

Run error with Exchange 2007 DB index. Users reported they cannot find any message either from Outlook or OWA. Check Exchange server event log and find two events for two of the DBs.
 
Log Name:      Application
Source:        MSExchangeIS Mailbox Store
Date:          8/5/2010 12:22:47 PM
Event ID:      1025
Task Category: General
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      MBX-1
Description:
An error occurred on database "DB1\DB1".
 Function name or description of problem: Content Indexing received an unusual and unexpect error code from MSSearch
Error: 0xc0041800
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="MSExchangeIS Mailbox Store" />
    <EventID Qualifiers="32774">1025</EventID>
    <Level>3</Level>
    <Task>6</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2010-08-05T16:22:47.000Z" />
    <EventRecordID>810560</EventRecordID>
    <Channel>Application</Channel>
    <Computer>MBX-1</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Content Indexing received an unusual and unexpect error code from MSSearch</Data>
    <Data>0xc0041800</Data>
    <Data>DB1\DB1</Data>
  </EventData>
</Event>
 
Log Name:      Application
Source:        MSExchange Search Indexer
Date:          8/5/2010 12:23:09 PM
Event ID:      107
Task Category: General
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      MBX-1
Description:
Exchange Search Indexer has temporarily disabled indexing of the Mailbox Database DB2\DB2 (GUID = 29df8d7a-dd2d-45fa-9852-0b079f996129) due to an error (System.ComponentModel.Win32Exception: Unknown error (0x80043613)
   at Microsoft.Exchange.Msfte.CSrchProject.SendBatch(BatchInformation batchInformation)
   at Microsoft.Exchange.Search.NotificationQueue.ProcessingProcedure()).
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="MSExchange Search Indexer" />
    <EventID Qualifiers="32772">107</EventID>
    <Level>3</Level>
    <Task>1</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2010-08-05T16:23:09.000Z" />
    <EventRecordID>810563</EventRecordID>
    <Channel>Application</Channel>
    <Computer>MBX-1</Computer>
    <Security />
  </System>
  <EventData>
    <Data>DB2\DB2</Data>
    <Data>29df8d7a-dd2d-45fa-9852-0b079f996129</Data>
    <Data>System.ComponentModel.Win32Exception: Unknown error (0x80043613)
   at Microsoft.Exchange.Msfte.CSrchProject.SendBatch(BatchInformation batchInformation)
   at Microsoft.Exchange.Search.NotificationQueue.ProcessingProcedure()</Data>
  </EventData>
</Event>
Based on these events, we decided to rebuild index for these two troubled DBs. After reindexing, everything goes to normal and users can do search from their mailbox again.
 
Here is list of cmdlet I used for reindex. (note: please plan run the cmdlet off hours since it uses CPU resources)
 
1. GetSearchIndexForDatabase -All
    to get list of index folder of all DBs. You will notice that these two troubled index folder's last modified date is not current.
 
2. ResetSearchIndex.ps1 -force  DB1
    ResetSearchIndex.ps1 -force  DB2
 
Note: it only needs DB name. it doesn't asked for Storage Group name or server name.
 

Sunday, August 8, 2010

How to transfer FSMO roles using Ntdsutil utility

Transfer FSMO roles

To transfer the FSMO roles by using the Ntdsutil utility, follow these steps:
  1. Log on to a Windows 2000 Server-based or Windows Server 2003-based member computer or domain controller that is located in the forest where FSMO roles are being transferred. We recommend that you log on to the domain controller that you are assigning FSMO roles to. The logged-on user should be a member of the Enterprise Administrators group to transfer Schema master or Domain naming master roles, or a member of the Domain Administrators group of the domain where the PDC emulator, RID master and the Infrastructure master roles are being transferred.
  2. Click Start, click Run, type ntdsutil in the Open box, and then click OK.
  3. Type roles, and then press ENTER.

    Note To see a list of available commands at any one of the prompts in the Ntdsutil utility, type ?, and then press ENTER.
  4. Type connections, and then press ENTER.
  5. Type connect to server servername, and then press ENTER, where servername is the name of the domain controller you want to assign the FSMO role to.
  6. At the server connections prompt, type q, and then press ENTER.
  7. Type transfer role, where role is the role that you want to transfer. For a list of roles that you can transfer, type ? at the fsmo maintenance prompt, and then press ENTER, or see the list of roles at the start of this article. For example, to transfer the RID master role, type transfer rid master. The one exception is for the PDC emulator role, whose syntax is transfer pdc, not transfer pdc emulator.
  8. At the fsmo maintenance prompt, type q, and then press ENTER to gain access to the ntdsutil prompt. Type q, and then press ENTER to quit the Ntdsutil utility.

How to Seize FSMO Roles

Seize FSMO roles

To seize the FSMO roles by using the Ntdsutil utility, follow these steps:
  1. Log on to a Windows 2000 Server-based or Windows Server 2003-based member computer or domain controller that is located in the forest where FSMO roles are being seized. We recommend that you log on to the domain controller that you are assigning FSMO roles to. The logged-on user should be a member of the Enterprise Administrators group to transfer schema or domain naming master roles, or a member of the Domain Administrators group of the domain where the PDC emulator, RID master and the Infrastructure master roles are being transferred.
  2. Click Start, click Run, type ntdsutil in the Open box, and then click OK.
  3. Type roles, and then press ENTER.
  4. Type connections, and then press ENTER.
  5. Type connect to server servername, and then press ENTER, where servername is the name of the domain controller that you want to assign the FSMO role to.
  6. At the server connections prompt, type q, and then press ENTER.
  7. Type seize role, where role is the role that you want to seize. For a list of roles that you can seize, type ? at the fsmo maintenance prompt, and then press ENTER, or see the list of roles at the start of this article. For example, to seize the RID master role, type seize rid master. The one exception is for the PDC emulator role, whose syntax is seize pdc, not seize pdc emulator.
  8. At the fsmo maintenance prompt, type q, and then press ENTER to gain access to the ntdsutil prompt. Type q, and then press ENTER to quit the Ntdsutil utility.

Friday, April 2, 2010

Cannot find Disconnected mailbox from EMC

Issue:
 
In Exchange Management Console - Under recipient configuration you disconnected 1 mailbox  and tried to reconnect. When you check on Disconnected mailbox you cannot view the user you just disconnected.
 
FYI, under disconnected mailbox - in action pane I need to connect to server "use your mailbox virtual name if it's CCR cluster" However, the user may not appear in Disconnected Mailbox yet.
 
Solution: Go to management shell and type the following:
 
Get-MailboxDatabase | Clean-MailboxDatabase
 
Then refresh view on DisconnectedMailboxes and it should appear

Sunday, February 7, 2010

ManifestCache Windows 2008 and Vista

Key Words: ManifestCache, Windows 2008, and Vista, Windows boot partition out of space


Many users have reported the issue of winsxs folder getting increased in size.  As these files under  %windir%\winsxs\ManifestCache\ are used by the Windows Update mechanism in Windows Server 2008 and Windows Vista. It acts like a cache and is capped at a certain size, it's safe to delete these files.

 

You may refer to the following steps to remove the file under the %windir%\winsxs\ManifestCache\ to release some disk space that the WinSXS folder takes.

 

Run the following commands from an elevated command prompt:

 

Net stop trustedinstaller

 

NOTE: Wait for it to stop and ensure it stops successfully. If you are unable to stop the service, you may need to restart your machine.

 

Takeown /f %windir%\winsxs\ManifestCache\*

Icacls %windir%\winsxs\ManifestCache\* /GRANT administrators:F

Del /q %windir%\winsxs\ManifestCache\*


Wednesday, January 27, 2010

Unique technology for enterprise customers- Windows 7 and Windows 2008 R2 - Direct Access and others

Unique technology for enterprise customers

The Windows 7 Enterprise operating system (OS) is available to Microsoft Software Assurance customers. With Windows 7 Enterprise, you can take advantage of the following features that are not available in Windows 7 Professional:

  • DirectAccess: Give mobile users seamless access to corporate networks without a need to VPN.

  • BranchCache: Decrease the time branch office users spend waiting to download files across the network.

  • Federated Search: Find information in remote repositories, including SharePoint sites, with a simple user interface.

  • BitLocker and BitLocker To Go: Help protect data on PCs and removable drives, with manageability to enforce encryption and backup of recovery keys.

  • AppLocker: Specify what software is allowed to run on a user's PCs through centrally managed but flexible Group Policies.

  • Virtual desktop infrastructure (VDI) optimizations: Improved user experience for VDI with multimon and microphone support, which have the ability to reuse virtual hard drive (VHD) images to boot a physical PC.

  • Multilingual user interface: Create a single OS image for deployment to users worldwide.

Enhance mobility and manageability with DirectAccess
  • Working outside the office is easier than ever. DirectAccess in Windows 7 and Windows Server 2008 R2 enhances the productivity of mobile workers by connecting them seamlessly and more securely to their corporate network any time they have Internet access—without the need to VPN. When your IT department enables DirectAccess, the corporate network's file shares, intranet websites, and line-of-business applications remain accessible wherever you have an Internet connection.

  • Manage remote machines more effectively. Flexibility gives IT the opportunity to service remote machines on a regular basis and ensure that mobile users stay up to date with company policies. With DirectAccess, IT administrators can manage mobile computers by updating Group Policy settings and distributing software updates any time the mobile computer has Internet connectivity, even if the user is not logged on.

  • Enhance security and access control. To keep data safer as it travels public networks, DirectAccess uses IPv6-over-IPsec to encrypt communications transmitted across the Internet. DirectAccess is designed to reduce unnecessary traffic on the corporate network by sending only traffic destined for the corporate network through the DirectAccess server (running Windows Server 2008 R2), or the administrator can choose to send all traffic through the corporate network. In addition to authenticating the computer, DirectAccess can also authenticate the user and supports multifactor authentication, such as a smart card. IT administrators can configure which intranet resources specific users can access using DirectAccess.

Improve application responsiveness with BranchCache
  • Increase branch office user productivity. BranchCache in Windows 7 helps increase the network responsiveness of applications, giving users in remote offices an experience more like working in the head office. When accessing content stored on Windows Server 2008 R2, users in a branch office don't need to wait as long to download files from headquarters. When IT enables BranchCache, a copy of data accessed from an intranet website or a file server is cached locally within the branch office. When another user on the same network requests the file, the user gets access to the content almost immediately as it is downloaded from the local cache rather than over a limited bandwidth connection back to headquarters.

  • Flexible architecture. BranchCache only serves content to users who have the right permissions and always checks to make sure it is delivering the latest version of the file. BranchCache can operate in one of two modes. In Hosted Cache mode, a server in the branch running Windows Server 2008 R2 hosts the cached files. In the second mode, Distributed Cache, a branch server is not required; copies of files are directly cached on PCs in the branch and sent to other Windows 7 clients as needed.

  • Versatile and efficient protocols. BranchCache only retrieves data from headquarters when the user requests it. Because it is a passive cache, it decreases bandwidth utilization between headquarters and the branch. BranchCache only caches read requests, so it will never interfere with a user saving a file. BranchCache supports common protocols for web content (HTTP and HTTPS) and file servers (server messaging block [SMB]), enabling it to work with a wide variety of application types. Finally, it works seamlessly with network security technologies, including Secure Sockets Layer (SSL), SMB signing, and Internet Protocol security (IPsec) to improve application performance even if the content is encrypted.

Help users find what they need with Federated Search
  • Search enhancements in Windows 7 make finding information easier. Enterprise users need to access data from a variety of sources in their daily tasks. With Windows Vista, Microsoft introduced advanced desktop search technology, enabling users to instantly find information on their computers. With Microsoft Office SharePoint Server 2007 and the Enterprise Search family of products, Microsoft delivered highly secure, manageable, server-based search. Windows 7 brings these experiences together and provides users with an improved and seamless search experience across local and networked corporate data directly within Windows Explorer and the Start menu.

  • More intuitive ways to find and organize information. Advancements to the Windows 7 user interface (UI) make it easier for users to quickly find what they are looking for. Libraries are a new way of accessing documents that might be located in different folders, on different hard drives, or even on different computers that are backed by a Windows Search index—in a single view. Windows 7 creates several default libraries for items such as documents and pictures, allowing you to organize and browse files in an optimal way. You can also create custom libraries. For example, libraries can be created per project to provide one entry point under which you can organize, access, and search files spread across multiple locations.

  • Searching beyond the local computer with federated search. Windows 7 enables users to search remote document repositories, SharePoint sites, and Web applications as easily as they search their desktops—through the familiar Windows interface. Windows 7 federated search uses an existing public standard called OpenSearch. Users can select which sites they want to search from, or IT can populate a list for the user. Federated search results are presented in Windows explorer much like local files, with rich views, file details, and previews.

  • Flexible search scopes. Making it easy to discover and search intranet sites can help organizations maximize their return on these investments. With Enterprise Search Scopes in Windows 7, IT administrators can populate links on the Start menu and in the Windows Explorer search results. These links simplify access to the most appropriate, complete, authoritative data sources on the network. This setup makes content on intranet portals more discoverable and accessible. IT administrators can deploy Enterprise Search scopes on users' machines using Group Policy.

Help prevent loss or theft of data with BitLocker and BitLocker To Go
  • Protect your data—even on removable drives. With the continued growth of the mobile workforce, protecting sensitive data on mobile computers continues to be a major concern of IT decision makers. In 2008, 42 percent of respondents to the Computer Security Institute Computer Crime and Security Survey of enterprise IT professionals report that their organizations experienced theft of laptops or mobile devices. With Windows 7, BitLocker Drive Encryption helps protect sensitive data from being accessed by unauthorized users who come into possession of lost, stolen, or improperly decommissioned computers. BitLocker to Go extends BitLocker data protection to USB storage devices, enabling them to be restricted with a passphrase. In addition to having control over passphrase length and complexity, IT administrators can set a policy that requires users to apply BitLocker protection to removable drives before being able to write to them.

  • Easier to manage. Windows 7 gives administrators more control over how data in their environment is protected. From policy-configured Active Directory Domain Services integration for the escrow of recovery keys, to simple and efficient hardware recovery processes, BitLocker provides an integrated management experience for IT professionals. BitLocker to Go also gives administrators control over how removable storage devices can be utilized within their environment and the strength of protection that they require. Administrators can require data protection for any removable storage device upon which users want to write data, while still allowing unprotected storage devices to be utilized in a read-only mode. Policies are also available to require appropriate passwords, smart card, or domain user credentials to utilize a protected removable storage device.

  • Easier to set up. Whether you need to protect internal or removable drives, BitLocker in Windows 7 makes that protection easy because it works with almost any drive. Windows 7 simplifies the encryption of internal drives by automatically creating the hidden boot partition necessary to use BitLocker to protect the OS volume, eliminating the need to manually select that option during installation or to repartition the drive afterward. Best of all, BitLocker can be enabled on drives running Windows 7 with a simple right-click.

Help prevent unauthorized software from running with AppLocker
  • Powerful, yet easy to administer. Windows 7 offers new application control policies with AppLocker, a flexible, easy-to-use mechanism that enables IT professionals to specify exactly what is allowed to run on user desktops. AppLocker restricts unauthorized software while allowing applications, installation programs, and scripts that users need. With this capability, IT professionals can realize the security, operational, and compliance benefits of application standardization.

  • Application updates don't change the rules. AppLocker provides simple, powerful, rule-based structures for specifying which applications can run that are centrally managed using Group Policy. It introduces "publisher rules" that are based on an application's digital signature, making it possible to build strong rules that account for application updates. For example, an organization can create a rule to "allow all versions greater than 1.0 of Microsoft Dynamics CRM to run if signed by Microsoft." With correctly structured rules, IT professionals can safely deploy updates to allowed applications without having to build a new rule for each version update.

download Technical Overview of DirectAccess in Windows 7 and Windows Server 2008 R2 for a more in-depth technical look.

 

Friday, January 22, 2010

How to configure Outlook 2007 Discover locally

If you have two organizations with spilt DNS to share the same SMTP domain xyz.com. You can only configure DNS SRV record for one Exchange 2007 organization. For the other Exchange 2007 users with Outlook 2007 SP2 or later  you would like to "disable" the autodiscover feature from Outlook 2007 client end. However, we cannot disable the autodiscover feature from Outlook 2007 client. You can only select "Manually configure server settings or additional server types" when configuring new Outlook profile without autodiscover feature. After that Outlook 2007 will use autodiscover feature for downloading OAB, querying Free/Busy information etc. So, the workaround is that you can configure one autodiscover DNS SRV record for one Exchange organization. Or you can configure autodiscover for locally. For more information, please refer to the following article: Automatically configure Office Outlook 2007 user accounts http://technet.microsoft.com/en-us/library/cc511507.aspx

Tuesday, January 12, 2010

Exchange 2007 Out of Office sent to Internet recipients with empty return path (Null Sender) e.g. "<>".

This behavior occurs because the OOF messages created in Exchange Server 2007 will be sent to internet recipients with empty return path (nullsender) e.g. "<>". Some third party Spam AV/Smart host does not accept messages with empty return path.

 

This behavior has changes since Exchange 2003 which send OOF messages as the OOF mailbox. The changes of the Exchange 2007 OOF behavior is because sending the OOF messages with no return path will prohibit the messages to bounce. As per RFC 2298 Message Disposition Notification (MDN) messages should be sent with blank sender. The OOF reply messages are an MDN.

 

To workaround this issue in this scenario, you can create Outlook rule to auto reply messages to instead of OOF messages, thus or configure the third party Spam AV/Smart host to accept messages with empty return path.

 

Note The Exchange 2007 edge server will not reject the OOF message as the edge server will be incorporated in to the Exchange organization. The HUB server will transfer the OFF messages in the address of OFF mailbox to the edge server and the edge server will then send the messages with empty return path e.g. blank sender, MAIL FROM: <> "null" to Internet.

Thursday, January 7, 2010

Grant PF access permission to a shared mailbox on Exchange 2007 server

If you try to grant public folder access permission to a shared mailbox, you will get the following message and failed to add the user to PF access list, Permission TAB:

 

One or more users cannot be added toe the folder access list. Non-local users cannot be given rights on this server

 

 

To work around with this issue, we will have to use Exchange 2007 management

Shell cmdlet to set the mailbox to user mailbox. Here is the cmdlet I used and tested it works.

 

Set-mailbox mailbox_Name –type regular

 

Where: mailbox_name could be mailbox alias or associated account ID, say, Your_Netbios_domain_name\user_ID

 

Note: a shared mailbox could be a resource mailbox or a manager's mailbox shared with other users.

 

Thursday, December 17, 2009

BES 5.0 SP1 upgrade

Upgraded BES 5.0 MR 3 to BES 5.0 SP1. Everything seems OK except the fact that it put UDP ping back to default that cause BAS services can be accessible to one node at a time. However, RIM have a KB to address the issue to turn on TCPPing and turn off UDP PING
 
 
Note: Before SP1, you only need to change two XML files (see my previous post regarding this), i.e. commend out UDP Ping and enable TCP Ping. After applying SP1, we will have to make 4 xml files modified, respectively. After that, BAS works great on both nodes.
 
 

Wednesday, November 4, 2009

How to change UDP ping to TCP Ping for BES 5.0 including MR3

How to change UDP ping to TCP Ping for BES 5.0 including MR3
 
Key Words:
 
BES 5.0 High Availability, BAS, Blackberry Administrative Services, Cannot Login to BAS, Blackberry Administrator Services. UDPPing and TCPPing
 
If you install Bes 5.0 High Availability for Blackberry Enterprise services on two Nodes, namely, BES50-Node1 and BES50-Node2. And you also install BAS, Blackberry Administrative services on Node1 and Node2. You will find out you can only login to BAS services to one of nodes. Once you try to login to the other node, you are prompt to login again page but never succeed.
The issue started with BES 5.0 initial release, until the most recently MR3. RIM code the bug with SDR329691
 
The work around:
 
To change default UDPPing to TCPPing by modifying Cluster-service.xml file and bas-object-versioning-cache-service.xml files under installed folder...
 
C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server\BAS\jboss\ejb\server\default\deploy\Cluster-service.xml

C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server\BAS\server\default\deploy\bas-object-versioning-cache-service.xml
Before you make any change on these two files, please make a copy of the file to your backup folder (not in the folder where is the is located)
 
A. Change of bas-object-versioning-cache-service.xml
 
1. open the file with notepad, find the following string

<attribute name="ClusterConfig">
locate...
before change...
<!--* UDP config stack *-->
       
         <Config>
            <UDP mcast_addr="${jboss.partition.udpGroup:228.1.2.5}"
After the change (note: you add <!--* to start comment out <Config>
<!--* UDP config stack *-->
         <!--*
         <Config>
            <UDP mcast_addr="${jboss.partition.udpGroup:228.1.2.5}"
and locate... (the end of UDP Config Stack)

        /<Config>
.....
before the change
    <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
         </Config>
        
After the change...

    <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
         </Config>
         *-->
Note... you added *--> to end of the comment out of UDP Stack

2. Leave MPING unchanged (by default, it's commented out)
 
3. Enable TCPPING by locating...   <!--* TCP with TCPPING (TCP ping) config stack *--> string
 
a) remove the <!--* to enable TCPing
 
before the change
         <!--*
         <Config>
   <TCP bind_addr="${jboss.bind.address}"
after the change
  <Config>
   <TCP bind_addr="${jboss.bind.address}"

....

before the change
 
            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
         </Config>
         *-->
after the change
            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
 </Config>

4. find the string of "TCPPING initial_hosts"
 
before you change
 
<TCPPING initial_hosts="host1[17800],host2[17800],host3[17800]" port_range="200"
 
after the change
 
<TCPPING initial_hosts="BES50-Node2[17800],BES50-Node1[17800]" port_range="200"
 
Note: replace host1 with your real node1 name and replace host2 with your real node2 name and delete host3[17800] if you have two instance of BAS
 
That's end for Node1 bas-object-versioning-cache-service.xml file. For Node2, you just copy the file to node 2 and edit the oder of node name
 
<TCPPING initial_hosts="BES50-Node1[17800],BES50-Node2[17800]" port_range="200"
and save change of the file

B.Change of Cluster-service.xml
 
1. comment out UDP stack as shown in previous section as follows:
 <!--* UDP config stack *-->
         <!--*
         <Config>
            <UDP mcast_addr="${jboss.partition.udpGroup:228.1.2.1}"
                 mcast_port="${jboss.hapartition.mcast_port:48855}"
                 receive_on_all_interfaces="false"
                 tos="8"
                 ucast_recv_buf_size="20000000"
                 ucast_send_buf_size="640000"
                 mcast_recv_buf_size="25000000"
                 mcast_send_buf_size="640000"
                 loopback="true"
                 discard_incompatible_packets="true"
                 enable_bundling="false"
                 max_bundle_size="64000"
                 max_bundle_timeout="30"
                 use_incoming_packet_handler="true"
                 use_outgoing_packet_handler="false"
                 ip_ttl="${jgroups.udp.ip_ttl:6}"
                 down_thread="false" up_thread="false"/>
            <PING timeout="10000"
                  down_thread="false" up_thread="false" num_initial_members="3"/>
            <MERGE2 max_interval="200000"
                    down_thread="false" up_thread="false" min_interval="20000"/>
            <FD_SOCK down_thread="false" up_thread="false"/>
            <FD timeout="20000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
            <VERIFY_SUSPECT timeout="10000" down_thread="false" up_thread="false"/>
            <pbcast.NAKACK max_xmit_size="60000"
                    use_mcast_xmit="false" gc_lag="0"
                    retransmit_timeout="300,600,1200,2400,4800"
                    down_thread="false" up_thread="false"
                    discard_delivered_msgs="true"/>
            <UNICAST timeout="300,600,1200,2400,3600"
                    down_thread="false" up_thread="false"/>
            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
                    down_thread="false" up_thread="false"
                    max_bytes="400000"/>
            <pbcast.GMS print_local_addr="true" join_timeout="10000"
                    down_thread="false" up_thread="false"
                    join_retry_timeout="10000" shun="true"
                    view_bundling="true"/>
            <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
         </Config>
         *-->
 
2. Leave MPING section unchanged.
 
3. remove "comment out: TCPPing " <!--- before  <Config> *-->" after /<Config>
 
After the change
 
        <!--* TCP with TCPPING (TCP ping) config stack *-->
<!-- To use this config stack, uncoment it and replace 'TCPPING initial-hosts' with the list of host names in the cluster keeping the same format of hostx[17600] -->
<!-- Also coment out the UDP config stack above -->
         <Config>
            <TCP bind_addr="${jboss.bind.address}"
                 start_port="17600"
                 end_port="17799"
                 loopback="true"
                 tcp_nodelay="true"
                 recv_buf_size="20000000"
                 send_buf_size="640000"
                 discard_incompatible_packets="true"
                 enable_bundling="false"
                 max_bundle_size="64000"
                 max_bundle_timeout="30"
                 use_incoming_packet_handler="true"
                 use_outgoing_packet_handler="false"
                 down_thread="false" up_thread="false"
                 use_send_queues="false"
                 sock_conn_timeout="300"
                 skip_suspected_members="true"/>
            <TCPPING initial_hosts="host1[17800],host2[17800],host3[17800]" port_range="200"
                     timeout="10000"
                     down_thread="false" up_thread="false"
                     num_initial_members="3"/>
            <MERGE2 max_interval="200000"
                    down_thread="false" up_thread="false" min_interval="20000"/>
            <FD_SOCK down_thread="false" up_thread="false"/>
            <FD timeout="20000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
            <VERIFY_SUSPECT timeout="10000" down_thread="false" up_thread="false"/>
            <pbcast.NAKACK max_xmit_size="60000"
                           use_mcast_xmit="false" gc_lag="0"
                           retransmit_timeout="300,600,1200,2400,4800"
                           down_thread="false" up_thread="false"
                           discard_delivered_msgs="true"/>
            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
                           down_thread="false" up_thread="false"
                           max_bytes="400000"/>
            <pbcast.GMS print_local_addr="true" join_timeout="10000"
                        down_thread="false" up_thread="false"
                        join_retry_timeout="10000" shun="true"
                        view_bundling="true"/>
            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
         </Config>

4. find the string of "TCPPING initial_hosts"
 
before you change
 
<TCPPING initial_hosts="host1[17800],host2[17800],host3[17800]" port_range="200"
 
after the change
 
<TCPPING initial_hosts="BES50-Node2[17800],BES50-Node1[17800]" port_range="200"
 
Note: replace host1 with your real node1 name and replace host2 with your real node2 name and delete host3[17800] if you have two instance of BAS
 
That's end for Node1 bas-object-versioning-cache-service.xml file. For Node2, you just copy the file to node 2 and edit the oder of node name
 
<TCPPING initial_hosts="BES50-Node1[17800],BES50-Node2[17800]" port_range="200"
and save change of the file
 
After you made the change, shutdown the standby BES and wait till you can login to BAS on node1, then turn on the standby node and wait till you can login to BAS on node2
open task manager check memory size for process BAS-AS.exe, if it is greater than 310 KB, you should be able to BAS on the node for MR3 installed, 210 KB for BES 5.0 without MR.
 
If you need a complete working version of both files, please post request in comments section.
 
Thank you.
 
 
 

 

Outlook Sync error code: 80004005-501-4B9-560

Key Word:
 
Outlook Sync error, Outlook Synchronization error, error code: 80004005-501-4B9-560, Client operation failed, Offline
 
Solution:
 
First rule with Outlook troubleshooting - does it follow the user to another machine?
If not, then the problem is local to that system.

If it does, then you may have a more serious problem.
 
Turn off offline files and folders, make sure the client is not in cached mode, delete any ost files (*.ost) on the machine. Make sure you search hidden files and folders are revealed when doing this search. Then put the client back in cached mode or offline files/folders, whichever you have configured and allow it to resync.

Wednesday, October 21, 2009

Exchange Server 2007 mailbox stamped as legacy mailbox

User's mailbopx has been moved to Exchange 2007 server. User complains he or she cannot access the mailbox via OWA. However, Outlook works fine. Find the mailbox via EMC, it stamped as a legacy mailbox instead of user mailbox.
 
Solution:
 
    To remove the legacy tag from mailboxes, use the following Exchange Shell command:
 

Set-Mailbox jsmith -ApplyMandatoryProperties

 

MS KB Link:

 

http://support.microsoft.com/kb/931747

 

 

Please also note that: If you use the Exchange Server 2003/2000 extensions to Active Directory Users & Computers (ADUC) console to create mailboxes residing on Exchange Server 2007 servers, these mailboxes get stamped as legacy mailboxes.

 

Get-ExchangeServer | Where {$_.IsExchange2007OrLater} | Get-Mailbox | where {$_.RecipientTypeDetails -eq "legacymailbox"} >C:\ex07_LegacyMailbox.txt

 

To Apply mandatory properties to all Exchange Server 2007 mailboxes stamped as legacy mailbox, please us e the following shell cmdlet:

 

Get-ExchangeServer | Where {$_.IsExchange2007OrLater} | Get-Mailbox | where {$_.RecipientTypeDetails -eq "legacymailbox"} | Set-Mailbox -ApplyMandatoryProperties

 

 

Tuesday, October 13, 2009

"Unspecified error" when replying or forwading mail in outlook 2003

Issue: Outlook's Users experienced the issue ("Unspecified error" when replying or forwading mail in outlook 2003) when users use Microsoft Word as Outlook's default editor and the message contains html embedded format.
 
Workaround:   Once changed the HTML format to Rich Text format (next to option) while forwarding or replying to this email, and it goes perfect.

Sunday, October 11, 2009

Fix “username” is not valid for UserPrincipalName issue

After an upgrade to Exchange 2007, you may get some errors related to your account and User Principal Name (UPN). This particularly occurs when you have users where no domain name is filled in at User Logon Name at the Account tab in Active Directory.

The following error indicates that you have not set a domain name at the User Logon Name:

Warning:
Object domain/organizational unit/username has been corrupted and it is in an inconsistent state. The following validation errors have occurred:

Warning:
"username" is not valid for UserPrincipalName. Valid values are: Strings that includes
'@', where '@' cannot be the last character..

To solve the problem, you should fill in a domain name for every user who hasn't got one. If you have only a few users without domain name, you could do it manually. If there are more than 10, I would suggest using ADModify. ADmodidy is a tool with a GUI, which offers you many functionality in a very easy way to modify attributes in Active Directory.

You can download ADModify

Practical note: When setting attributes with ADmodify, don't forget to test first with a small group of users!

 

Monday, August 17, 2009

Forcing Exchange 2007 to use a static Global Catalog

For best pratice, by default, let exchange servers to pickup DCs and GCs automatically, However, for some case, you may have to force Exchange 2007 to use a static Global Catalog
 
Set-ExchangeServer -Identity EX-HUB01
-StaticDomainControllers:dc1.domain.com,dc2.domain.com,dc3.domain.com,dc4.domain.com
-StaticGlobalCatalogs:dc1.domain.com,dc2.domain.com,dc3.domain.com,dc4.domain.com -StaticConfigDomainController:dc2.domain.com
 

To Exclude DC's

 

Set-ExchangeServer -identity <server> -StaticExcludedDomainControllers:<domaincontroller>;<domaincontroller>

 

Get-ExchangeServer cmdlet afterwards, the DCs/GCs that I
listed in the Set cmdlet, are NOT listed.


You will need to add the  -Status switch to the command to see the DCs.

 

You may also need to know

 

How to configure Outlook to a specific global catalog server or to the closest global catalog server

 

http://support.microsoft.com/kb/319206

 

 
 

Wednesday, July 29, 2009

How to wirelessly delete calendar data on a BlackBerry smartphone

How to wirelessly delete calendar data on a BlackBerry smartphone
 
Overview
Warning: The following procedures will delete all calendar data on the BlackBerry smartphone. Back up the data prior to performing the procedure. For instructions, see KB12487.
Complete the steps for the version of BlackBerry Device Software installed on your BlackBerry smartphone.
BlackBerry Device Software 4.2.x
On the BlackBerry smartphone, complete the following steps:
Display the menu in the Calendar application, then select Options.
Scroll to the bottom of the screen, and type RSET.
Note: For BlackBerry smartphones that support SureType® technology, use the multi-tap input method.
BlackBerry Device Software 4.3.x
On the BlackBerry smartphone, complete the following steps:
Display the menu in the Calendar application, then select Options.
In the Options screen, type RSET.
Note: For BlackBerry smartphones that support SureType technology, use the multi-tap input method.
 
--------------------------------------------------------------------------------

Additional Information
Wireless calendar synchronization process
If wireless synchronization of the calendar is turned on, the following message will appear:
This will erase your <nameofcalendar> calendar, and reload it from your server. Continue?
After the calendar data has been deleted, the following message will appear:
The <nameofcalendar> calendar has been wiped. It will be repopulated from your server.
The calendar will be repopulated with calendar data from the server.
Wireless calendar synchronization is turned off
If wireless synchronization of the calendar is turned off, the following message will appear:
Wireless Calendar, for <nameofcalendar>, is not enabled. Wipe Calendar anyway?
After the calendar data has been deleted, the following message will appear:
The <nameofcalendar> calendar has been wiped.
The calendar will be repopulated with calendar data using BlackBerry Desktop Manager.

--------------------------------------------------------------------------------
Re-population of calendar
During re-population of the calendar, the following message may appear on the BlackBerry smartphone:
Organizing Calendar
The performance of the BlackBerry smartphone may be affected during the re-population of the calendar. The speed of re-population depends on the amount of data transmitted and the speed of the wireless network.

Thursday, June 18, 2009

Windows 7 - 6 Edition Which one fits you

Windows 7 Starter: Great for netbooks and older systems that will never act as a DVR and don't need to join an Active Directory domain. It's a bummer that it lacks Aero and Touch, but what do you expect for something that tacks on a paltry $15 to the price of the hardware. Your netbook probably won't have a touch-screen or decent graphics chip anyway.

Windows 7 Basic: For "emerging markets" which means you'll only see it on an internet café computer somewhere in old world.

Windows 7 Home Premium: This edition of Windows has existed for years, but used to be called Media Center Edition (MCE) in the XP days. This is what to use if you want to be able to hook your computer up to your TV to use as a DVR and media hub. Virtually all home computers and non-business laptops will run this.

Windows 7 Professional: Basically the same as Home Premium, but adds Active Directory domain membership support. This is the edition that will come with most office computers.

Windows 7 Enterprise: It doesn't matter what this has because you'll never see it unless you're given a computer from a large corporation. (It adds booting from a virtual drive and BitLocker encryption to the Business edition.)

Windows 7 Ultimate: This is for the person who also bought an "Extreme Edition" CPU and cannot stand the thought that somehow, someone out there might have something better than him. Microsoft deserves the opportunity to milk all the money they can from this kind of user


Tuesday, June 16, 2009

How to move mailboxes across Forest using Exchange 2007 cmdlet

 
$SourceCredential = Get-Credential
 
$TargetCredential = Get-Credential
 

Here is the cmdlet to move all mailboxes on NYBNCEM-1\Mailbox store 2:

 

get-mailbox –Database "NYBNCEM-1.corp.mysourcedomain.com\First Storage Group\Mailbox Store 2 (NYBNCEM-1)" -Credential $SourceCredential -DomainController nyshadc-2.corp.mysourcedomain.com | Move-Mailbox -TargetDatabase "NYXSRV-10\BINC - DB1\BINC - DB1" -GlobalCatalog nydc-4.us.mydesdomain.com -SourceForestGlobalCatalog nyshadc-2.corp.mysourcedomain.com -NTAccountOU "OU=NY,OU=Binc,DC=us,Dc=mydesdomain,DC=com" -SourceForestCredential $SourceCredential -TargetForestCredential $TargetCredential

Wednesday, June 10, 2009

Using Exchange Server 2010 e-discovery (Multi-mailbox search)


Exchange Server 2010 has lots of new features and using the new permission model RBAC (Role Based Access Control) we can assing a regular user to do legal search on the users' mailboxes. In this post I'm going over this process in the Exchange Server 2010 Beta, our scenario is that we want to use a Mail Enabled Security Group called Legal Group and all users that belong to this group will have the ability to do a search in our Exchange Organization.

Okay, our user responsible to do the legal search is called Auditor, and we need to add him into our Legal Group that we have just created. As soon as we have these steps done, we can assign the DiscoveryManagement role to that group using the following cmdlet:


[PS] C:\>New-ManagementRoleAssignment -Name "auditor" -Role DiscoveryManagement
-User 'Legal Group'
Name Role User Enabled
---- ---- ---- -------
auditor DiscoveryMana... True

[PS] C:\>

Now, the Auditor user can use IE browsers and type:

/ECP">https://<cas-server>/ECP

and in the dropdown list (Select what to manage) make sure that My Organization is selected and you you will see on the left site the item Reporting ...

Friday, June 5, 2009

Cannot start Microsoft Exchange RPC Client Access service - Exchange 2010 Beta

Issue:

If you have installed both Client Access Server (CAS) role and Mailbox role (Exchange 2010 beta) at same server, Microaoft Exchange RPC Client Access service cannot be started. Therefore Outlook mapi clients (Outlook) won't be able to access their mailboxes unless you enable Outlook anywahere (http over RPC when you configure your Outlook Clients)

Cause:

For Exchange 2010, Microsoft instroduces Microsoft Exchange RPC Client Access service on CAS server role to respond Mapi clients, such as Outlook's requests to access mailboxes on Exchange 2010 server. The issue will be fixed in Exchange 2010 later build.

Workaround:

You may copy and paste the following txt to textpad and save it as *.reg file to fix the issue:

==========================================

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem]
"Mapi Rpc Endpoint Registration"=dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeRPC\ParametersSystem]
"ExecutionFlags"=dword:00000002

Tuesday, June 2, 2009

User cannot open or edit Outlook Distribution List using Outlook on an Exchange mailbox

Issue:

Outlook user cannot open or edit Outlook Distribution List (DL) using Outlook on an Exchange mailbox or user receives a "This distribution list has reached the maximum size for your network e-mail server" error message when you try to open or add many items to a contact distribution list in Outlook

Solution:

Use Outlook Web Access to open the problematic DL and trim the members of the DL

Cause:

This is a limitation of distribution lists that are created and stored in a Microsoft Exchange Server mailbox store. There is no definite limit to the number of contacts that you can add to a distribution list. The exact limit is based on the total file size of the contacts.

If you use only the very basic information for contacts, your distribution list limit may be as many as 125 contacts to 130 contacts. For example, the information for the contacts in a list of this size may include only the name and the e-mail address for each contact. You can create very large distribution lists that contain over a 1,000 contacts. However, these very large lists may not function as expected in Outlook.

For best results, the typical number of contacts that you should add to a distribution list is between 50 contacts and 70 contacts. However, if the contacts contain lots of information, the distribution list limit should be as small as 25 contacts.

Additionally, the distribution list limit is based on the property size limit of the computer that is running Exchange Server. The property size limit for an Exchange server is about 8 kilobytes (KB). The Exchange server stores all contact links in one property store. Therefore, the distribution list limit also depends on the average length of the contact's name and the average size of the entry ID. The size of the entry ID depends on the type of e-mail address and the length of the message.

Once a large DL created and near the limit, then you modified members of the DLs in your contact list that could potentially increased the size of the DL and over the limit then you are not able to open or edit the DL.

Monday, June 1, 2009

How to use OSQL osql command-line tool to backup and restore MSDE Database - How to bring Standby BES server online

Issue: Production BES 4.1 SP6 server failed.

Solution: Fortunately we have a standby BES 4.1 SP6 running.we used the osql command-line tool to backup Production BES MSDE database with Windows scheduler every 30 minutes and xcopy the BESMGMT Database to multiple servers and we were able to bring the standby BES online within minutes with no interactive response from BB client end.

You can use the osql command-line tool to access, query, or run scripts against, your SQL Server or MSDE database. For example, to backup your ENT Server databases you could run the following from the command line:

osql -S BES01 -E -Q " BACKUP DATABASE BESMGMT TO DISK = 'C:\Temp\BES01-BESMGMT.bak' with init"

  • -S BES01 specifies the server name to be "BES01" For a database on the local machine, specify either "(local)", or "(local)\[InstanceName]" if you are using a named instance.
  • -E specifies that osql should use a trusted connection. You could instead specify a username using the -U option.
  • -Q specifies that oSQL should execute the SQL query that follows in double-quotes and then exit
  • BACKUP DATABASE BESMGMT TO DISK = 'c:\Temp\' this is the actual query that will get exexuted... as you can see this simply backs up the BESMGMT database to the file C:\Temp\BES01-BESMGMT.bak.
  • "with init" to tell osql backup to overwrite the existing backup file to save your disk space.

Similary, to restore the above backup you could run the following from the command line on Standby BES server:

osql -S BES02 -E -Q " RESTORE DATABASE BESMGMT FROM DISK = 'C:\Temp\BES01-BESMGMT.bak' "

After you successully restore your MSDE database, Disconnect your old Production server network cable, and start your all BES related services on your Standby BES server. Please see RIM doucumentation on how to setup BES 4.X standby BES.

Note: with BES 5.0, RIM has HA solution for BES.


Thursday, May 28, 2009

Windows Server 2008 Upgrade Paths

Before performing an upgrade to Windows Server 2008 the key prerequisite is that the currently installed operating system provides an upgrade path to the chosen edition of Windows Server 2008. It is not, for example, possible to upgrade to Windows Server 2008 from Windows XP. In addition, it is vital that the target hardware be of a suitably high specification to support Windows Server 2008. For details of the system requirements refer to Windows Server 2008 Editions and System Requirements.

Upgrades are possible from a number of older Windows Server versions as outlined in the following table:

Operating System

Upgrade Options

Windows Server 2003 R2 Standard Edition
Windows Server 2003 Standard Edition with Service Pack 1 (SP1)
Windows Server 2003 Standard Edition with Service Pack 2 (SP2)

Windows Server 2008 Standard
Windows Server 2008 Enterprise

Windows Server 2003 R2 Enterprise Edition
Windows Server 2003 Enterprise Edition with Service Pack 1 (SP1)
Windows Server 2003 Enterprise Edition with Service Pack 2 (SP2)

Windows Server 2008 Enterprise
Windows Server 2008 Datacenter

Windows Server 2003 R2 Datacenter Edition
Windows Server 2003 Datacenter Edition with Service Pack 1 (SP1)
Windows Server 2003 Datacenter Edition with Service Pack 2 (SP2)

Windows Server 2008 Datacenter

Windows Server 2008 Standard

Windows Server 2008 Enterprise

Windows Server 2008 Enterprise

Windows Server 2008 Datacenter

How an Upgrade to Windows Server 2008 Works

During the Windows Server 2008 upgrade process the files, folders and applications associated with the previously installed Windows version are relocated to a windows.old folder and all user settings stored. Once this task is complete, a clean installation of the new operating system is performed and the saved user settings migrated to the new environment. Upon completion of a successful upgrade the Windows Server 2008 system will include all applications, settings and user files from the previous operating system installation.

Performing the Upgrade

An upgrade to Windows Server 2008 can only be performed by launching the installation process from within the currently installed operating system. It is not possible to perform an upgrade by booting from the installation media. To initiate the upgrade process, therefore, boot the existing Windows installation (if not already running), log into an account with administrative privileges and insert the installation DVD. If the system is configured to do so, the setup process on the DVD will autorun once it is mounted displaying the Windows Server 2008 installation screen:



From this screen the installation may be started by clicking on the Install now button. Alternatively, the What To Know Before Installing Windows Server 2008 link will provide information of system requirements and advice about issues such as application and driver compatibility. Clicking on Install now proceeds to the next screen. If the setup program detects an internet connection on the host operating system the next screen displayed will provide the option to have the installation process download any available updates and incorporate them into the installation. The recommended course of action at this point is to accept the default here and install the latest updates:



After Setup has searched for, and downloaded any available updates the Product Key Activation screen shown in the following figure will appear:


 Windows Server 2008 Activation

As mentioned previously it is not necessary to enter a key at this point in order to run Windows Server 2008. Failure to enter an activation key simply means that the operating system will run in trial mode which can only be extended for a total of 270 days. If you have an activation key enter it here. Alternatively click on the Next button to proceed to the next stage of the installation. If an activation key was not entered a warning dialog will appear stating that it may be necessary to re-install Windows at a later date (i.e. when the trial ends) resulting in lost data. In practice it is possible to perform the activation before the trial ends without the need to re-install. If presented with this dialog click "No" to proceed.

If an activation key was not entered the next screen will ask that the required Windows Server 2008 Edition be selected. Select the desired edition, check the box to confirm the selection and click Next to proceed. If an activation key was entered the installer already knows which edition to install. Note that Core versions of each edition are available. The core installation is a minimal installation of the operating system with no GUI interface and only a subset of services available by default. This configuration is intended for headless servers and situations where the smallest possible attack surface is required.

Read and agree to the license terms and proceed to the next screen where the options to upgrade or perform a clean installation are provided. If the installer was invoked by booting from the DVD, or the host operating system is not suitable for upgrade only the clean installation option will be provided.

 Windows Server 2008 Compatibility Report

Assuming that the installation was launched from within a compatible operating system, the Upgrade option will be provided. Click on this option to proceed and carefully read the Compatibility Report to get information about any potential problems that may be encountered after the upgrade. Having read the report click Next to proceed.

At this point the installation will begin and continue until completed.

 Accessing the Command Prompt during Installation

At any point during the setup process (except when the installation is actually being performed) Shift+F10 may be pressed to gain access to the command-prompt. From within this command prompt window most of the standard Windows Server 2008 command-line tools are available allowing tasks to be performed that might otherwise not be possible from within the setup interface.