Quantcast
Channel: Exchange Server Development forum
Viewing all 7132 articles
Browse latest View live

Exchange 2010 Outlook Anywhere issues

$
0
0

I have an Exchange 2010 cas server that works fine with OWA internally and over the internet, and Outlook Anywhere works fine internally. When I try to access it outside the office though, the authentication prompt just keeps coming up for any user I try it on. I have used the connectivity analyzer, and it gives me what I've pasted below. I have disabled OA and uninstalled the RPC, rebooted and installed again and set it back up, with no luck. I've also tried both NTLM and Basic setups on the server side, and they both give the same error from outside the office. I also have checked my firewall settings, and everything is good. The only thing I can think of is that my reverse proxy is causing an issue. We have RHEL 5 with apache doing reverse proxy. Everything else works though, so I'm not sure why OA wouldn't?

RPC Proxy can't be pinged.
 
Additional Details
 
An unexpected network-level exception was encountered. Exception details:
Message: The remote server returned an error: (501) Not Implemented.
Type: Microsoft.Exchange.Tools.ExRca.Extensions.MapiTransportException
Stack trace:
   at Microsoft.Exchange.Tools.ExRca.Extensions.MapiRpcTestClient.PingProtocolProxy(String endpointIdentifier)
   at Microsoft.Exchange.Tools.ExRca.Tests.MapiPingProxyTest.PerformTestReally()
Exception details:
Message: The remote server returned an error: (501) Not Implemented.
Type: System.Net.WebException
Stack trace:
   at System.Net.HttpWebRequest.GetResponse()
   at RpcPingLib.RpcPing.PingProxy(String internalServerFqdn, String endpoint)
   at Microsoft.Exchange.Tools.ExRca.Extensions.MapiRpcTestClient.PingProtocolProxy(String endpointIdentifier)
Elapsed Time: 198 ms.



How can we provide suggestions/feedback to MS for improvements to the object model interfaces for Transport Agents?

$
0
0

Having worked on TA's for a while now we've found there are several things missing in the object model for our requirements. Consequently we have some horrible code that need to do some things directly either with MIME or TNEF - which is a crying shame as MS must have all the code to do the things we need anyway, it's just that the object model is deficient.

It'd be useful if there were an Exchange category on MS Connect where we could submit our suggestions, but as far as I can see, there isn't one.

So, where do the Exchange TA developers get to hear customer feedback?

[EWS]: FindFolder failure

$
0
0

I maintain an application that uses direct XML to access EWS, not the managed API. One part of the code uses FindFolder to obtain the list of user folders. This normally works fine but for one of my customers, the call is returning the error message "The specified object was not found in the store.".  Here is the XML:

<FindFolder Traversal="Deep" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><FolderShape><t:BaseShape>Default</t:BaseShape></FolderShape><IndexedPageFolderView MaxEntriesReturned="500" Offset="0" BasePoint="Beginning"/><ParentFolderIds><t:DistinguishedFolderId Id="msgfolderroot"><t:Mailbox><t:EmailAddress>rwilke@appleone.com</t:EmailAddress></t:Mailbox></t:DistinguishedFolderId></ParentFolderIds></FindFolder>

I thought perhaps it was objecting to the mailbox, maybe the user doesn't exist, but when I tried that theory with a mailbox that is definitely non-existent, there is a more normal error message about a non-existent mailbox.  Could it be objecting to the DistinguishedFolderId?  Again, works fine for my own test account.

[Exchange-Online][EWS][C#][Windows 7] Move email based on their categories

$
0
0

Hello,

I'd like to move emails in the Inbox to a separate folder based on their category.

I'm using Microsoft.Exchange.WebServices (15.0.0.0) to connect to an ExchangeVersion.Exchange2013_SP1 instance. I'm using C# in VS2013 and the .NET 4 framework but can take examples from other versions if they exist.

I've tried using SearchFilter without much success through ExchangeService.FindItems, but the 'Categories' property seems to be tricky to configure.

Does anyone have an example of how I can select/move emails from a folder based on their category membership?

Thanks,

Mike

ExchangeEWS throws ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange when I'm trying to get an existing occurence by index

$
0
0
I have the strange situation:
I created recurring calendar event by Exchange web service using the request like this:

        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:mes="http://schemas.microsoft.com/exchange/services/2006/messages"
        xmlns:typ="http://schemas.microsoft.com/exchange/services/2006/types">
          <soapenv:Header>
            <typ:RequestServerVersion Version="Exchange2007_SP1"/>
            <typ:ExchangeImpersonation>
              <typ:ConnectingSID>
                <typ:PrimarySmtpAddress>someuser@clab.local</typ:PrimarySmtpAddress>
              </typ:ConnectingSID>
            </typ:ExchangeImpersonation>
          </soapenv:Header>
          <soapenv:Body>
        <mes:CreateItem MessageDisposition="SaveOnly" SendMeetingInvitations="SendToAllAndSaveCopy">
              <mes:Items>
                <typ:CalendarItem>
                  <typ:Subject>QC42135 test 3</typ:Subject>
                  <typ:Body BodyType="HTML"/>
                  <typ:Importance>Normal</typ:Importance>
                  <typ:ReminderIsSet>false</typ:ReminderIsSet>
                  <typ:Start>2014-07-25T04:00:00-05:00</typ:Start>
                  <typ:End>2014-07-25T05:00:00-05:00</typ:End>
                  <typ:Location/>
                  <typ:IsResponseRequested>false</typ:IsResponseRequested>
                  <typ:RequiredAttendees>
                    <typ:Attendee>
                      <typ:Mailbox>
                        <typ:EmailAddress>user1@clab.local</typ:EmailAddress>
                      </typ:Mailbox>
                    </typ:Attendee>
                  </typ:RequiredAttendees>
                  <typ:Recurrence>
                    <typ:WeeklyRecurrence>
                      <typ:Interval>2</typ:Interval>
                      <typ:DaysOfWeek>Wednesday Thursday Friday Saturday Sunday</typ:DaysOfWeek>
                    </typ:WeeklyRecurrence>
                    <typ:EndDateRecurrence>
                      <typ:StartDate>2014-07-20</typ:StartDate>
                      <typ:EndDate>2014-07-30</typ:EndDate>
                    </typ:EndDateRecurrence>
                  </typ:Recurrence>
                  <typ:MeetingTimeZone TimeZoneName="FLE Standard Time"/>
                </typ:CalendarItem>
              </mes:Items>
            </mes:CreateItem>
          </soapenv:Body>
        </soapenv:Envelope>

Series of occurences were successfully created:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <soap:Header>
          <t:ServerVersionInfo MajorVersion="8" MinorVersion="3" MajorBuildNumber="348" MinorBuildNumber="2" Version="Exchange2007_SP1" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"/>
       </soap:Header>
       <soap:Body>
          <m:CreateItemResponse xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
             <m:ResponseMessages>
                <m:CreateItemResponseMessage ResponseClass="Success">
                   <m:ResponseCode>NoError</m:ResponseCode>
                   <m:Items>
                      <t:CalendarItem>
                         <t:ItemId Id="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj"/>
                      </t:CalendarItem>
                   </m:Items>
                </m:CreateItemResponseMessage>
             </m:ResponseMessages>
          </m:CreateItemResponse>
       </soap:Body>
    </soap:Envelope>

But when I'm trying to get occurrences of the event
by index right after creation I'm able to get only first occurrence. For the others I receive ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange.

Here is GetItem request:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:mes="http://schemas.microsoft.com/exchange/services/2006/messages">
    <soapenv:Header><typ:RequestServerVersion   Version="Exchange2007_SP1"/>
        <typ:ExchangeImpersonation>
          <typ:ConnectingSID>
            <typ:PrimarySmtpAddress>someuser@clab.local</typ:PrimarySmtpAddress>
          </typ:ConnectingSID>
        </typ:ExchangeImpersonation>
    </soapenv:Header>
      <soapenv:Body>
          <mes:GetItem>
             <mes:ItemShape>
                <typ:BaseShape>IdOnly</typ:BaseShape>
            </mes:ItemShape>
             <mes:ItemIds>
                <typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="1" />
                 <typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="2" />
                 <typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="3" />
                 <typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="4" />
                 <typ:OccurrenceItemId RecurringMasterId="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQBGAAAAAACuKk855hnzQ7gDOBltDFd1BwAa27cU8ukoS5yPRueWn38YAAobNHU+AAAa27cU8ukoS5yPRueWn38YAHDq5rCGAAA=" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj" InstanceIndex="5" />
               
             </mes:ItemIds>
          </mes:GetItem>
       </soapenv:Body>
    </soapenv:Envelope>

And response

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <soap:Header>
          <t:ServerVersionInfo MajorVersion="8" MinorVersion="3" MajorBuildNumber="348" MinorBuildNumber="2" Version="Exchange2007_SP1" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"/>
       </soap:Header>
       <soap:Body>
          <m:GetItemResponse xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
             <m:ResponseMessages>
                <m:GetItemResponseMessage ResponseClass="Success">
                   <m:ResponseCode>NoError</m:ResponseCode>
                   <m:Items>
                      <t:CalendarItem>
                         <t:ItemId Id="AAMkADVmYWI5YjhjLTdiN2MtNDJjNi04ZWIzLTUzNjVjZjk1MWY5OQFRAAiI0XGjJ/YgAEYAAAAAripPOeYZ80O4AzgZbQxXdQcAGtu3FPLpKEucj0bnlp9/GAAKGzR1PgAAGtu3FPLpKEucj0bnlp9/GABw6uawhgAAEA==" ChangeKey="DwAAABYAAAAa27cU8ukoS5yPRueWn38YAHDq52bj"/>
                      </t:CalendarItem>
                   </m:Items>
                </m:GetItemResponseMessage>
                <m:GetItemResponseMessage ResponseClass="Error">
                   <m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
                   <m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
                   <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
                   <m:Items/>
                </m:GetItemResponseMessage>
                <m:GetItemResponseMessage ResponseClass="Error">
                   <m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
                   <m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
                   <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
                   <m:Items/>
                </m:GetItemResponseMessage>
                <m:GetItemResponseMessage ResponseClass="Error">
                   <m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
                   <m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
                   <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
                   <m:Items/>
                </m:GetItemResponseMessage>
                <m:GetItemResponseMessage ResponseClass="Error">
                   <m:MessageText>Occurrence index is out of recurrence range.</m:MessageText>
                   <m:ResponseCode>ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange</m:ResponseCode>
                   <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
                   <m:Items/>
                </m:GetItemResponseMessage>
             </m:ResponseMessages>
          </m:GetItemResponse>
       </soap:Body>
    </soap:Envelope>

I found the description of recurrent event on Microsoft site http://msdn.microsoft.com/en-us/library/office/dd633684%28v=exchg.80%29.aspx
and according the documentation when a recurring series is created, each occurrence item has as index that represents its position in the series.
The index starts at one and advances by one for each item in the series. But it seems to be incorrect.
In my case obviously occurrences are indexed in different way.
Can anyone explain how Exchange indexes occurrences? How can I get certain occurrence in the series?

MDBPERF.DLL

$
0
0

Hi there,

i have an Exchange 2013 SP1 CU5 on a Windows 2012 Server in Hyper-V 2012.

i have some errors Perflib ID Event 1023, indicate a problem with the performance's counter MSExchangeIS.

I found some support to check in the registry the DLL. It seems that mdbperf.dll is not present on my systeme. I have te register this file. But i can't find the mdbperf.dll, ini .h... neither on the HDD or in the Exchange DVD.

Can you help me please, to find or extract this file?

Thanks a lot.

Exchange Web Services API extended property Question

$
0
0

1. If I add an extended property to an emailmessage and that email message comes back as undeliverable, is the extended property contained in the undeliverable message?

2. I know on exchange 2013 you can use the Conversationid property to track an email trail, is there a way to do this with exchange 2010? I'd like to be able to send a message, add some property to a database, and then have a task that runs an executable and monitors a mailbox and if it finds an undeliverable, use that property to find the original message info in the database and update it to reflect that the message wasn't delivered. 


The Innanets are broken.

Migrating Exchange 2010 between to new servers on same site.

$
0
0
We are currently planning to move our Exchange 2010 servers to another servers since we installed a new SAN and we would like to some changes to the servers so my question is, are they any steps, best practices or articles that can help us through that process? We have 2 mailbox on a DAG, both servers are on different sites, we are using File Witness on Fail overCluster, no CAS Array configure.

Loss the "Deleted Items" folder on Exchange 2007 WEB interface and any Outlook with any version.

$
0
0

Hi, 

My client had lost his "Deleted Item" folder in his outlook, and I try to used the WEB interface to help to check, also can't find out the "Deleted Item" folder.

Then we're try to used outlook 2003,2007 and 2013 also can't find that.

Could you mind let me know any solution we can solve this problem with my client?

Thanks 

Powershell script error on one user

$
0
0

Using Exchange 2010 SP1. We are trying to delegate editor access to members of one group on members of another group and getting below error. Please advise.

ERROR

Exception calling "AddDelegates" with "3" argument(s): "The specified object was not found in the store"
At C:\Windows\System32\WindowsPowerShell\v1.0\ADTtmmailchecker.ps1:41 char 24
 $service.AddDelegates <<<< ($mbMailbox, [Microsoft.Exchange.Webservices.Data.MeetingRequestsDeliveryScope\::DelegatesAndMe, $dgArray);

+CategoryInfo  :NotSpecified: (:) [],MethodInvocationException
+FullyQualifiedErrorId :DotNetMethodException

#This powershell script retrieves ADT_TM security group members and add them as delegate with Editor right to the mailbox of any member of ADT_TM1 security group

$dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
[void][Reflection.Assembly]::LoadFile($dllpath)
$service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2007_SP1)

$windowsIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$sidbind = "LDAP://<SID=" + $windowsIdentity.user.Value.ToString() + ">"
$aceuser = [ADSI]$sidbind
Write-Host $aceuser.mail.ToString()

$service.AutodiscoverUrl("emailid")
 $service.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials("email","password") 

#This powershell script retrieves ADT_TM security group members and add them as delegate with Editor right to the mailbox of any member of ADT_TM1 security group

foreach ($user in get-distributionGroupMember -identity "ADT_TM1")
{
 $i = 0
 $mbtoDelegate = $user.PrimarySmtpAddress
 $service.ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress, $mbtoDelegate);
 $mbMailbox = new-object Microsoft.Exchange.WebServices.Data.Mailbox($mbtoDelegate)
 $dgArray = new-object Microsoft.Exchange.WebServices.Data.DelegateUser[] 1
 foreach ($user in get-distributionGroupMember -identity "ADT_TM1")
 {

  $delegatetoAdd = $user.PrimarySmtpAddress.ToString()
  
  $dgUser = new-object Microsoft.Exchange.WebServices.Data.DelegateUser($delegatetoAdd)
  $dgUser.ViewPrivateItems = $false
  $dgUser.ReceiveCopiesOfMeetingMessages = $false
  $dgUser.Permissions.CalendarFolderPermissionLevel = [Microsoft.Exchange.WebServices.Data.DelegateFolderPermissionLevel]::None
  $dgUser.Permissions.InboxFolderPermissionLevel = [Microsoft.Exchange.WebServices.Data.DelegateFolderPermissionLevel]::Editor
  $dgArray[0] = $dgUser
  $service.AddDelegates($mbMailbox, [Microsoft.Exchange.WebServices.Data.MeetingRequestsDeliveryScope]::DelegatesAndMe, $dgArray);
  
 }

}

Unable to insert hyperlinks in Exchange 2007 OWA messages

$
0
0
Hi, we have recently moved to Exchange 2007 OWA and users are unable to insert links to shared files on the network.  I was wondering if there might be something in our Windows 7 GPO that is preventing this from happening?

Exchange Server 2010 DAG requirement

$
0
0

Hi i am configuring Exchange server 2010 with DAG. i read that Enterprise level OS must have needed for MS-Exchange DAG

but i have 4 Windows Server 2012 standard. can i configure my DAG setup on it?

It will be like 4 hyperv

DAG Node 1 – Windows Server 2012 standard.(MS-Exchange 2010)

DAG Node 2 – Windows Server 2012 standard.(MS-Exchange 2010)

Domain Controller – Windows Server 2012 standard.

FSW Server – Windows Server 2012 standard.

Is it right environment setup for DAG?

Support for Exchange Databases running within VMDKs on NFS datastores

$
0
0

The virtualization community are asking Microsoft to change their support position for Exchange Server running in VMDKs on NFS datastores. Support is long overdue. 

The virtualized SCSI stack, including initiators and disks inside of a VM, are unaware of the underlying storage protocol that provides data connectivity between a hypervisor and storage device. Support is long overdue and the rationale for the lack of support is not recognized by the storage industry.

The following co-authors (from 7 different vendors & 2 solution integrators) are aiming to work together for the good of our customers and the community too raise awareness of this issue in the hopes that Microsoft will reconsider the support policy.

Josh Odgers (@josh_odgers)

Senior Solutions & Performance Engineer @ Nutanix

VMware Certified Design Expert #90 & vExpert

Vaughn Stewart (@vStewed)

Chief Evangelist @ Pure Storage

vExpert

Chad Sakac(@sakacc)

SVP, Global Systems Engineering @ EMC

vExpert

Matt Liebowitz (@mattliebowitz)

Solution Architect @ EMC

VCP & vExpert & author ofVirtualizing Microsoft Business Critical Applications on VMware vSphere

Michael Webster (@vcdxnz001)

Senior Solutions & Performance Engineer @ Nutanix

VMware Certified Design Expert #66 & vExpert

Andrew Mitchell (@amitchell01)

Consulting Architect @ VMware

VMware Certified Design Expert #30

Rob Waite (@rob_waite_oz)

Solution Architect @ Tintri

VCP & vExpert

Nick Howell (@that1guynick)

vTME @ Netapp

vExpert

Chris Wahl (@ChrisWahl)

Solution Architect @ AHEAD

VMware Certified Design Expert #104

Gabriel Chapman (@bacon_is_king)

Solution Architect @ Simplivity

www.gabrielchapman.com

VCP & vExpert

Mahmoud Magdy

Senior Technical Architect

vExpert, MVP and Symantec BExpert

The Details of Microsoft’s Position

At present, Microsoft supports Exchange deployments on NAS, specifically only on their hypervisor and their file based protocol, SMB 3.0. The intent of our efforts is to address the gap in supporting Exchange in VMware vSphere & KVM with datastores connect via NFS 3.0.

The support policy can be foundhere and is summarized below...

The storage used by the Exchange guest machine for storage of Exchange data (for example, mailbox databases and transport queues) can be virtual storage of a fixed size (for example, fixed virtual hard disks (VHDs) in a Hyper-V environment), SCSI pass-through storage, or Internet SCSI (iSCSI) storage. Pass-through storage is storage that's configured at the host level and dedicated to one guest machine. All storage used by an Exchange guest machine for storage of Exchange data must be block-level storage because Exchange 2013 doesn't support the use of network attached storage (NAS) volumes, other than in the SMB 3.0 scenario outlined later in this topic. Also, NAS storage that's presented to the guest as block-level storage via the hypervisor isn't supported.

Another statement of interest in the above link is as follows;

"Configuring iSCSI storage to use an iSCSI initiator inside an Exchange guest virtual machine is supported. However, there is reduced performance in this configuration if the network stack inside a virtual machine isn't full-featured (for example, not all virtual network stacks support jumbo frames)."

While the contributors to this post agree this is not an ideal configuration, it is not a performance issue when used with enterprise grade storage and with properly architected networking.

The support statements is odd as there is a large portion of the VMware market that is deployed over NFS. This configuration is supported and is the preferred means of data connectivity for many. A decade ago, one could run Exchange 5.5 over NAS (CIFS). This support was removed with Exchange 2000. It appears the concerns from the Exchange 5.5. The difference with a virtualized instance is the Exchange application is NOT accessing data via NAS. All VM data access is via virtualized SCSI.

This may be a valid (or legacy) support policy back in the days before virtualization became mainstream, and before the evolution of 10/40Gb Ethernet where performance may have been limited by 1GB connections (as opposed to the NFS protocol itself) or for deployments where NFS is presented directly into the Guest OS which we agree would not work.

The abstraction of virtual SCSI from the underlying infrastructure (FC, DAS, iSCSI or NFS) is shown in the below diagram courtesy of http://pubs.vmware.com

Over the years, the contributors of this community post have seen countless successful deployments of Exchange on vSphere, using both block (FC,FCoE,iSCSI) and file based storage (NFS/SMB) so why is only NFS not supported?

There are a number of blog posts related to Exchange and NFS storage, one such example is by Tony Redmond (@12Knocksinna), titled “NFS and Exchange, Not a good combination”.

To Tony’s credit, he goes much further than most posts we have seen, which in most cases just say “Its not supported” and give no technical justification as to why.

Tony wrote

One small, but terribly important issue is Exchange’s requirement that it should be able to abort a transaction should bad things happen. Block-level storage allows this to happen but file-level storage supports aborts on a best-effort basis. Simply put, without the ability for an application to signal the storage subsystem that a transaction should be aborted, you run the risk of introducing corruptions into the databases through bad transactions.”

With a VMDK presented to Exchange, we are not aware of any reason why Exchange (or any other application) would not function exactly the same as if the VMDK was residing on a FC or iSCSI backed LUN, or if a LUN was presented to the guest OS via an In Guest iSCSI initiator.

This is due to vSphere abstracting the underlying storage from the VM. To the operating system running within the guest the virtual hard disk appears and acts just like a local physical SCSI disk, regardless of the underlying storage protocol.

In support of this, Microsoft has a program called “Exchange Solution Reviewed Program” or “ESRP” which Microsoft partners can use to validate Exchange solutions. This program requires specific tests including one of24 hours using Jetstress with predefined settings, to validate the subsystem not only system performance, but consistency of the database.

Here is a Jetstress report showing the ESRP test passing with the following VM configuration with Exchange running within a VMDK on an NFS datastore

1 x Windows 2008 VM

1 vCPU (2.6Ghz)

24Gb vRAM

4 x PVSCSI Adapters

8 x VDMKs (2 per PVSCSI)

8 Exchange Databases (one per VMDK)

2 DAG Copies

The 24 Hour test can be viewed here -24 Hour Jetstress Test

The Databases checksum from the above 24 hour test can be viewed here -DB Checksum

Note: The above test was ran for the purpose of this post, to show the storage abstraction works for Exchange, not to demonstrate maximum performance for the underlying storage platform.

So if a vendor validates a VMDK on NFS implementation by successfully completing Microsoft’s official tests (via ESRP) is there any reason not to support it?

We believe Microsoft should provide some formal process to storage vendors to certify their solutions for Exchange, in the worst case, at least allowing vendors to submit hardware for validation using Microsoft’s internal certification/QA process where these tools cannot be shared publicly.

Please show your support for this issue by voting and leaving your constructive or encouraging feedback in the comments at the Microsoft Exchange Improvement Suggestions Forum below. This issue is already rated as the #1 issue so the more support the better!

http://exchange.ideascale.com/a/dtd/support-storing-exchange-data-on-file-shares-nfs-smb/571697-27207

So to Microsoft - and too all the Microsoft Exchange & Storage experts we ask;

1. Can you clarify by providing some form of documentation what the issue is with Exchange on NFS natively. The goal to ensure if there is an issue, its understood by the community

2. Can you clarify by providing some form of documentation what the issue is with Exchange storage in a VDMK on an NFS datastore (where the storage is abstracted by the hypervisor). The goal again is to ensure if there is an issue, its understood by the community and can possibly be addressed in future hypervisors.

3. If the support statement is simply outdated and needs updating, lets work together to make it happen for the good of all Microsoft’s customers, especially those who have NFS storage from one of the many vendors in the market.

Now for those customers experiencing this issue today, lets discuss the current workarounds available if you need to comply with the current support policy and the continued impact to Microsoft customers if the policy is not updated.

Option 1. Use in guest iSCSI initiators to present LUNs direct to the operating system

Issues

a) Increased complexity of managing two storage protocols (NFS + iSCSI), also some vendors license features like iSCSI at additional cost, so it makes it so expensive to purchase a license on the storage just to support Exchange.

b) Some storage solutions may not support NFS and iSCSI

c) Increased points of failure eg: iSCSI initiator

d) Potential for reduced storage capacity efficiency

e) No ability for the guest to take advantage of advanced storage features that are added to the vSphere storage stack.

Option 2. Present iSCSI LUNs to vSphere hypervisor

Issues

a) Increased complexity of managing two storage protocols (NFS + iSCSI) and additional cost as explained above.

b) Some storage solutions may not support NFS and iSCSI

c) Increased points of failure eg: iSCSI initiator

d) Potential for reduced storage capacity efficiency

Option 3. Run Exchange on physical hardware (not virtual)

Issues

a) Increased complexity of designing and managing another silo of compute/storage

b) Increased datacenter requirements which lead to increased OPEX (ie: Power/Cooling/Space)

c) Decreased ROI from physical hardware compared to virtualization

d) Decreased storage capacity efficiency

e) Increased CAPEX due to reduced flexibility in sizing physical hardware ie: Sizing for end state not current requirements

f) Delayed time to market / upgrades / expansion due to procurement of hardware

g) Increased hardware maintenance costs

h) Increased complexity for Disaster Recovery

It is clear based on the experience of the contributors of this article, that NFS has a large footprint in the market and for these customers using NFS, Microsoft should seek a mutual Win-Win situation for its large and small customers using NFS.

Microsoft should extend support for NFS backed storage deployments to facilitate and simplify Exchange deployments for customers using NFS storage, which without the updated support statement would likely be forced into using multi-protocol or standalone silo type deployment for Exchange, adding complexity and resulting in increased CAPEX/OPEX.

Let's hope Microsoft care about their customers as much as the authors of this document do!


i am getting the NULL values for the Attachement.ContentType and contentId while reading the embedded(inline) image from exchange server 2010 using EWS(Exchange web service) Api ?

$
0
0

How do i read the embedded image from exchange server 2010 using EWS(Exchange web service) Api?

Problem:

i am getting the values of Attachement.ContentType and contentId is null for embedded image(inline) mails which are sent from the OWA of  exchange 2010 using the different browsers.

Working scenario:

i am able to read the content type and contentId values of embedded image(inline) mails which are sent from OWA uisng the IE9 andfirefox (26,30)  but

Non Working scenario:

when i sent the same embedded image mail from OWA using the chrome, ie9 or ie11 ,then i am getting the null values for the Attachement.ContentType and contentId.

How do i solve the above problem?

Thanks in advance.

email integration

$
0
0
sir,
i want the users to open and send their mails through office 365 portal and it should be single sign-on. and i want to present it in a web part is it possible. please help.

SDK Java API MS Exchange online and server

$
0
0
I'm trying to integrate my Java third-party application with MS Exchange online and on-premises, I need to access all the users data (mails, calendar, contacts...). I've read about the apps authentication process (OAuth 2 for online and NTLM for on-premises).

Is there a Java SDK compatible with both Exchange online and on-premises and which provides both authentication process?

Because I found this one ( http://code.msdn.microsoft.com/Exchange-EWS-Java-API-12-1a5a1143 ) but it seems to only support NTLM authentication...

Thank you for your help.

Outlook is unable to connect to the proxy Server (Error Code 0)

$
0
0

Hi there,

I used to have two Exchange server 2007. I sat up a new server 2012 and installed an exchange 2013

I bought certificate from GoDaddy and a friend of mine helped me to set the server up.

I moved the mailboxes then decommission one of the exchanges (ser1) which provide web mail for me and turned off the other one (Ser2).

there was an error on the Autodiscovery and I talked to Microsoft technician and he fixed it for me.

now most of my users getting below error:

"Outlook is unable to connect to the proxy Server (Error Code 0)"

but emails are passing through and come in.

Please find the below image

I guess if I decommission ser2 the autodiscovery will move from the first output but the output of "get-outlookprovider" is not correct.

I believe instead of ser1.domain.local it should be newserver.domain.local

I am not very good at powershell commands,

Would you please advise me what command shall I run to fix the issue?

does the msstd:ser1.domain.local address have any relation with the error message my users get?

Thank you in Advance

exchange 2010 public folder not showing on exchange 20003 mailbox

$
0
0

Hi,

I have public folder on exchange 2003 and separate public folder on exchange 2010. On exchange 2010 user mailbox, I can see both 2003 and 2010 public folders. On exchange 2003 user mailbox, I can only see 2003 public folders. It is not the permission issue as I have given the user "owner" right and see not able 2010 public folder inless i move 2003 user mailbox to 2010 exchange.

Appreciate if anyone could help me if to point me to directions or any hotfix I can run?

Thank you very much.

Pwint


Displaying assigned retention tag/policy in Outlook 2013 Inbox default vies

$
0
0

Hi,

I don't know if this is the right place to post this questions. If it is not please forgive me and direct me to the right forum. I know that I can check if the email message has a retention tag/policy applied if I open it in Inspector window. It is listed under subject.

My problem is that I don't know the way how to display the retention tag/policy in the Inbox default view next to the the properties like: subject, from, received etc. So the users don't need to open the message to check if they applied the retention tag. This way they can look at every message in the inbox and see which message has the retention tag missing.  I assume I will have to employ some coding and I am OK with that.

Can I write a outlook add-in that will query for retention tag for each message and display it in the column along with other mapi properties? I need a advice example how to programmatically extract the PR_POLICY_TAG and convert it from binary to string. Than I can change the default view xml to include this property I assume.

Any help is greatly appreciated.

Thanks,

Goran

SDK Java API MS Exchange online and server

$
0
0
I'm trying to integrate my Java third-party application with MS Exchange online and on-premises, I need to access all the users data (mails, calendar, contacts...). I've read about the apps authentication process (OAuth 2 for online and NTLM for on-premises).

Is there a Java SDK compatible with both Exchange online and on-premises and which provides both authentication process?

Because I found this one ( http://code.msdn.microsoft.com/Exchange-EWS-Java-API-12-1a5a1143 ) but it seems to only support NTLM authentication...

Thank you for your help.

Viewing all 7132 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>