Archive

Archive for May, 2010

Blackberry deployment notes for Windows 2008 Domain Controllers

May 30, 2010 Leave a comment

if you have large number of BB devices you might get:
[40206] (12/22 08:58:11.625):{0x1A38} MailboxManager::SubsystemInitialize – Using MAPI profile ‘BlackBerryServer’
[50000] (12/22 08:58:11.672):{0x394} Controller: This BES Agent is under control of BlackBerry Agent Controller
[20137] (12/22 08:58:11.719):{0x1A38} MailboxManager::SubsystemInitialize – g_pSession->OpenMsgStore (0x80040111)
[40000] (12/22 08:58:11.719):{0x1A38} Setting PR_PROFILE_CONNECT_FLAGS CONNECT_IGNORE_NO_PF true
[40206] (12/22 08:58:11.719):{0x1A38} MailboxManager::SubsystemInitialize – Using MAPI profile ‘BlackBerryServer’
[20137] (12/22 08:58:11.797):{0x1A38} MailboxManager::SubsystemInitialize – g_pSession->OpenMsgStore (0x80040111)
[10277] (12/22 08:58:11.797):{0x1A38} BlackBerry Messaging Agent MERC74 Agent 1 failed to start. Error code 5305
[50106] (12/22 08:58:11.797):{0x1A38} Stopping BlackBerry Mailbox Agent 1 for Server

[40000] (12/22 09:44:49.654):{0x4EC} CDO initializing failure in CDO helper 1046a930 (2)
[30001] (12/22 09:44:49.764):{0x4EC} CDOCalendar::Initialize – Code = 800406f9, WCode = 04f9, Code meaning = IDispatch error #1273,
[30002] (12/22 09:44:49.764):{0x4EC} Server = mercmbx11, Mailbox = Description = The information store could not be opened. [MAPI 1.0 – [MAPI_E_LOGON_FAILED(80040111)]]
[30180] (12/22 09:44:49.764):{0x4EC} {saskit} CDOCalendar::Initialize – Error in call m_spCalendarFolder = m_spCDOSession->GetDefaultFolder
[40000] (12/22 09:44:49.764):{0x4EC} CDO initializing failure in CDO helper 1046a930 (4)

[30181] (12/22 15:04:32.463):{0x1A38} Performing system health check (BlackBerry Mailbox Agent 1 – BESX Version 4.1.6.11)
[30038] (12/22 15:04:32.463):{0x1A38} Worker Thread: *** No Response *** Thread Id=0x1350, Handle=0x7B0, WaitCount=6, WorkingTime=68 min, LastActivity=68 min, Event: NEW_MB_PCKT_RESCAN, User: , Server: , Activity: MAPISendertoRIMSender – RIM_HrGWResolveProxy
[30038] (12/22 15:04:32.463):{0x1A38} Worker Thread: *** No Response *** Thread Id=0x1564, Handle=0x1664, WaitCount=6, WorkingTime=68 min, LastActivity=68 min, Event: NEW_MB_PCKT_RESCAN, User: , Server: , Activity: MAPISendertoRIMSender – RIM_HrGWResolveProxy
[50020] (12/22 15:04:32.463):{0x1A38} Some worker threads have been blocked for 6 health checks

In addition, it is likely that if this article applies, the BlackBerry Manager will return an error when opened regarding

here is a guide for deployment of BB servers in 2008 Domain controllers environment
http://www.blackberry.com/btsc/viewContent.do?externalId=KB17325&sliceId=1

MUST READ

Categories: Exchange and UC

Netapp storage best practices for Exchange 2010

May 30, 2010 Leave a comment
Categories: Exchange 2010 AKA E14

the Exchange 2010 Configurator Script

May 29, 2010 Leave a comment

Hi There,

I often win points on EE by answering lots of web services question, and also spending lots of troubleshooting EWS on EE, of course I win points, but after all users experience have been degraded and admins suffered.

If you read my previous article http://www.experts-exchange.com/articles/Software/Server_Software/Email_Servers/Exchange/Exchange-2007-2010-Web-services-and-Autodiscover-Ultimate-Troubleshooting-Guide.html you will find that there are lot of configuration that must be done on the Exchange web services including (OWA, ECP,EWS,EAS,OAB) for outlook and Exchange to work smoothly.

I always find lot of people running into troubles configuring their Exchange server and using the poweshell, so I created this nice powershell script that will answer you very simple questions and configure Exchange web services including (OWA, ECP, OAB, AES, Internal SCP, EWS)
Here is the script notes:

Internal domain name entered in the FQDN format.

Server name entered in netbios format.

Autodiscover and webmail URLs are entered in FQDN format with no HTTP or HTTPS.

Internal name are set to server FQDN thus the certificate has to include the server name as well.

If you have multiple servers you will need to run the script for each server.

Other than this attached the script file along with the script itself here for your reference, you can use and customize this script to meet your need, use the script at your own responsibility blab la bla (legal stuff ), and your comment and feedback are welcome on e14(at)Ingazat(dot)com.
##################################################################################
#Add exchange 2010 snap in for mailbox creation


Add-PSSnapin Microsoft.Exchange.Management.Powershell.E2010 -ea silentlyContinue


write-Host “Welcome to the Exchange configurator, This script will help you to configure the Exchange web services to avoid common missing


and wrong configuration, This script is created by Mahmoud Magdy (http://busbar.blogspot.com)m


you can reach me by email on e14(at)ingazat(dot)com use this script under your own responsibility”


write-Host “The Configurator will list the current system configuration for your reference the config will be saved to c:\e14systemconfig.txt”


$systemconfig = @(Get-OwaVirtualDirectory
fl name,internalurl,externalurl)


$systemconfig = $systemconfig + @(Get-ecpVirtualDirectory
fl name,internalurl,externalurl)


$systemconfig = $systemconfig + @(Get-oabVirtualDirectory
fl name,internalurl,externalurl)


$systemconfig = $systemconfig + @(Get-WebServicesVirtualDirectory
fl name,internalurl,externalurl)


$systemconfig = $systemconfig + @(Get-ActiveSyncVirtualDirectory
fl name,internalurl,externalurl)


$systemconfig = $systemconfig + @(Get-ClientAccessServer
fl Name,AutoDiscoverServiceInternalUri)


$systemconfig
out-file c:\e14systemconfig.txt






write-Host “The Configurator will start asking you some questions then will configure your environment”






$InternalDomainname = Read-Host “What is the name of the Internal domain name”


$Servername = Read-Host “What is the name of the Internal server name”


$Externalwebmail = Read-Host “what is the url used by users to acces OWA Externally e.g mail.domain.com


please don’t include https://”


$InternalAutodiscover = Read-Host “what is the url used by users to acces autodiscover internal URL


(this will be retrieved from AD SCP please don’t include https://”


$InternalURL = $servername + “.” + $internaldomainname


$ServernameURL = “https://” + $InternalURL


$httpsExternalwebmail = “https://” + $Externalwebmail


$owaextURL = $httpsExternalwebmail + “/owa”


$owaintURL = $ServernameURL + “/owa”






$ecpextURL = $httpsExternalwebmail + “/ecp”


$ecpintURL = $ServernameURL + “/ecp”






$EWSexternalURL = $httpsExternalwebmail + “/EWS/Exchange.asmx”


$EWSInternalURL = $ServernameURL + “/EWS/Exchange.asmx”






$oabextURL = $httpsExternalwebmail + “/oab”


$oabintURL = $ServernameURL + “/oab”






$EASexturl = $httpsExternalwebmail + “/Microsoft-Server-ActiveSync”


$EASinturl = $ServernameURL + “/Microsoft-Server-ActiveSync”






$Autodiscogerinternalurl = $InternalAutodiscover + “/Autodiscover/Autodiscover.xml”






$Autodiscogerinternalurl = “https://” + $Autodiscogerinternalurl


write-Host “The Configurator will start Configuring your System now”


get-owavirtualdirectory -server $servername
set-owavirtualdirectory -ExternalUrl $owawextURL -InternalUrl $owawintURL


get-ecpVirtualDirectory -server $servername
set-ecpVirtualDirectory -ExternalUrl $ecpextURL -InternalUrl $ecpintURL


get-oabVirtualDirectory -server $servername
set-oabVirtualDirectory -ExternalUrl $oabextURL -InternalUrl $oabintURL


get-WebServicesVirtualDirectory -server $servername
set-WebServicesVirtualDirectory -ExternalUrl $EWSexternalURL -InternalUrl $EWSInternalURL


get-ActiveSyncVirtualDirectory -server $servername
set-ActiveSyncVirtualDirectory -ExternalUrl $EASexturl -InternalUrl $EASinturl


Get-ClientAccessServer -Identity $Servername
Set-ClientAccessServer -AutoDiscoverServiceInternalUri $Autodiscogerinternalurl






write-Host “The Configurator is done you might want to run this script on other servers”
#########################################################################

save the code above to scriptname.ps1 and run it by double click on it, you can run this PS from windows powershell (I added the Exchange snapin) or the Exchange management shell.

I hope to win less points on EE from EWS and win more points from this article

Categories: Exchange 2010 AKA E14

Exchange 2010 using C# and ASP.net to create mailboxes using remote shell connect

May 23, 2010 2 comments

here is a nice code snippest:
SecureString password = new SecureString();

string str_password = “pass”;

string username = “userr”;

string liveIdconnectionUri = “http://exchange.Domain.local/Powershell?serializationLevel=Full”;

foreach (char x in str_password)

{

password.AppendChar(x);

}

PSCredential credential = new PSCredential(username, password);

// Set the connection Info

WSManConnectionInfo connectionInfo = new WSManConnectionInfo((new Uri(liveIdconnectionUri)), “http://schemas.microsoft.com/powershell/Microsoft.Exchange”,

credential);

connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Default;

// create a runspace on a remote path

// the returned instance must be of type RemoteRunspace

Runspace runspace = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace(connectionInfo);

PowerShell powershell = PowerShell.Create();

PSCommand command = new PSCommand();

command.AddCommand(“Enable-Mailbox”);

command.AddParameter(“Identity”, usercommonname);

command.AddParameter(“Alias”, userlogonname);

command.AddParameter(“Database”, “MBX_SBG_01”);

powershell.Commands = command;

try

{

// open the remote runspace

runspace.Open();

// associate the runspace with powershell

powershell.Runspace = runspace;

// invoke the powershell to obtain the results

return = powershell.Invoke();

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

finally

{

// dispose the runspace and enable garbage collection

runspace.Dispose();

runspace = null;

// Finally dispose the powershell and set all variables to null to free

// up any resources.

powershell.Dispose();

powershell = null;

}

Categories: Exchange 2010 AKA E14

‘Group is too large to display. communicator can not be used for groups with more than 100 members

May 21, 2010 1 comment

you might receive this message in OCS 2007 Client when you try to expand a group in OC.
first you have to know that OCS client is hard coded with a maximum of 150 members to display, if you want users to display more than the default 100 limit then create the following client side policy and restart the OCS Client:
Open Registry:
go to
HKLM\Software\Policies\Microsoft\Communicator.\
Create a Key: MaxDLExpansion (DWORD)
and type 150 as the value.
More KBs:
http://support.microsoft.com/kb/945542
http://social.technet.microsoft.com/Forums/en/ocsaddressbook/thread/09a20c42-0e04-4f64-9aa7-dc3f1f4a1cd4
Thanks to Jeff for that great hint

Categories: Exchange and UC

Outlook 2007 may crash when you create a new mail when it is connected to Exchane 2010 servers

May 21, 2010 Leave a comment

Issue:
Outlook users in online or Cachedm mode connected to Exchange 2010 creating a new email message get outlook crashed and might get:
Faulting application OUTLOOK.EXE, version 12.0.6504.5000, time stamp 0x49e7f47e, faulting module EMSMDB32.DLL, version 12.0.6504.5001, time stamp 0x49fea4b0, exception code 0xc0000005, fault offset 0x0003adfa, process id 0x2a6c, application start time 0x01ca3097445ad092.

Solution:
Make sure that your users have the msExchQueryBaseDn attribute wit hthe search base DN, make sure that you don’t use Exchange 2007 Address List segregation in Exchange 2010 environment.
to add the basedn from powershell use this cmdlet:
get-mailbox -resultsize unlimited

Foreach { $dn = “LDAP://” + $_.distinguishedname;$obj = [ADSI]$dn;$obj.msExchQueryBaseDN = “DC=Domain,DC=local”;$obj.setinfo()}

Categories: Exchange 2010 AKA E14

How Exchange 2010 Message Tracking are indexed

May 18, 2010 Leave a comment

Exchange 2010 has a optimziation for the message tracking logs as they are faster, this is indicated here:
http://technet.microsoft.com/en-us/library/bb124926.aspx
http://msexchangeteam.com/archive/2010/01/13/453792.aspx
but they are not documents, if you wonder how message tracking are indexed they are indexed by Exchange 2010 using message ID and address information to allow much faster search and lookup in the tracking console.

the content is under publishing but this is an insider info, more detail will be provided as I get them.
Regards

Categories: Exchange 2010 AKA E14

Unable to moun Exchange 2010 DB, replication service stops.

May 17, 2010 Leave a comment

you might get this error:
Microsoft.Exchange.Configuration.MonadDataProvider.CommandExecutionException: Unexpected error [0x79596503] while executing command ‘mount-database’. —> System.InvalidCastException: Specified cast is not valid.

how to solve this:
to solve this issue delete the EnableVSSWriter from the registry and restart the server.

Exchange 2010/2007 Virtual Directory Default Permissions

May 16, 2010 3 comments

We see that a lot on forums users asking for the default permissions on virtual directories, also in some troubleshooting we found that
wrong NTFS permissions or in-correct IIS authentication might affect autodiscover, EWS, OAB or OWA/ECP, so for reference here they are:
virtual
Directory
Authentication
Configured
NTFS permissions
Autodiscover
Anonymous
Authentication Users
(read, Read and Execute)
Basic Auth.
System (Full Control)
Windows Auth.
Administrators (Full Control)
ECP
Anonymous
Authentication Users (read)
Basic Auth.
System (Full Control)
Administrators (Full Control)
EWS
Anonymous
Authentication Users (read)
Windows Auth.
System (Full Control)
Administrators (Full Control)
EAS
Basic Auth.
Authentication Users (read)
System (Full Control)
Administrators (Full Control)
OAB
Windows Auth.
System (Full Control)
Organization Management
 (Traverse, Read & Execute,
Read Attribute, Read Extended Attribute)
View only organizations Managenet
(Traverse, Read & Execute
, Read Attribute, Read Extended Attribute)
Administrators (Full Control)
IIS_IUSR (Traverse, Read &
Execute, Read Attribute,
 Read Extended Attribute)
OWA
Basic Auth.
Authentication Users (read)
System (Full Control)
Administrators (Full Control)
PowerShell
Anonymous
Authentication Users (read)
System (Full Control)
Administrators (Full Control)
RPC
Basic Auth
Windows Auth.

Exchange 2010 AD Topology Services error DSC_E_NO_SUITABLE_CDC, also Transport service is not starting and setup cannot complete

May 16, 2010 2 comments

as the topic says you might get that error DSC_E_NO_SUITABLE_CDC also the setup cannot continue since the transport service cannot reach the start state, if you get those errors then diable IPV6 from the registry here is how:
1. Click Start
, type regedit in the Start Search box, and then click regedit.exe in the Programs list.
2. In the User Account Control dialog box, click Continue.
3. In Registry Editor, locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
4. Double-click DisabledComponents to modify the DisabledComponents entry.

Note If the DisabledComponents entry is unavailable, you must create it. To do this, follow these steps:
1. In the Edit menu, point to New, and then click DWORD (32-bit) Value.
2. Type DisabledComponents, and then press ENTER.
3. Double-click DisabledComponents.
5. Type any one of the following values to configure the IPv6 protocol, and then click OK:
1. Type 0 to enable all IPv6 components.

Note The value “0” is the default setting.
2. Type 0xffffffff to disable all IPv6 components, except the IPv6 loopback interface. This value also configures Windows Vista to use Internet Protocol version 4 (IPv4) instead of IPv6 in prefix policies.

Categories: Exchange 2010 AKA E14