public ExchangePrincipal FromADSystemMailbox(ADSessionSettings adSettings, ADSystemMailbox adSystemMailbox, Server server)
 {
     Util.ThrowOnNullArgument(adSettings, "adSettings");
     Util.ThrowOnNullArgument(adSystemMailbox, "adSystemMailbox");
     Util.ThrowOnNullArgument(server, "server");
     if (!server.IsMailboxServer)
     {
         throw new ArgumentException("Needs to be a Mailbox server", "server");
     }
     return(this.FromADSystemMailbox(adSettings.CreateRecipientSession(null), new ADSystemMailboxGenericWrapper(adSystemMailbox), server.Fqdn, server.ExchangeLegacyDN));
 }
        public ExchangePrincipal FromLocalServerMailboxGuid(ADSessionSettings adSettings, Guid mdbGuid, Guid mailboxGuid, bool isContentIndexing)
        {
            Util.ThrowOnNullArgument(adSettings, "adSettings");
            Server localServer = this.directoryAccessor.GetLocalServer();

            if (!localServer.IsMailboxServer)
            {
                throw new InvalidOperationException("This method can only be called on a Mailbox server");
            }
            return(this.FromLocalServerMailboxGuid(adSettings.CreateRecipientSession(null), mdbGuid, mailboxGuid, new DatabaseLocationInfo(localServer, false), isContentIndexing));
        }
 public ExchangePrincipal FromMailboxGuid(ADSessionSettings adSettings, Guid mailboxGuid, Guid mdbGuid, RemotingOptions remotingOptions, string domainController = null, bool isContentIndexing = false)
 {
     Util.ThrowOnNullArgument(adSettings, "adSettings");
     return(this.FromMailboxGuid(adSettings.CreateRecipientSession(domainController), mailboxGuid, mdbGuid, remotingOptions, isContentIndexing));
 }
 public ExchangePrincipal FromLegacyDNByMiniRecipient(ADSessionSettings adSettings, string legacyDN, RemotingOptions remotingOptions, PropertyDefinition[] miniRecipientProperties, out StorageMiniRecipient miniRecipient)
 {
     Util.ThrowOnNullArgument(adSettings, "adSettings");
     return(this.FromLegacyDNByMiniRecipient(adSettings.CreateRecipientSession(null), legacyDN, remotingOptions, miniRecipientProperties, out miniRecipient));
 }
 public ExchangePrincipal FromLegacyDN(ADSessionSettings adSettings, string legacyDN, RemotingOptions remotingOptions)
 {
     Util.ThrowOnNullArgument(adSettings, "adSettings");
     return(this.FromLegacyDN(adSettings.CreateRecipientSession(null), legacyDN, remotingOptions));
 }
 public ExchangePrincipal FromProxyAddress(ADSessionSettings adSettings, string proxyAddress, RemotingOptions remotingOptions)
 {
     Util.ThrowOnNullArgument(adSettings, "adSettings");
     EnumValidator.ThrowIfInvalid <RemotingOptions>(remotingOptions, "remotingOptions");
     return(this.FromProxyAddress(adSettings.CreateRecipientSession(null), proxyAddress, remotingOptions));
 }
 public ExchangePrincipal FromUserSid(ADSessionSettings adSettings, SecurityIdentifier userSid, RemotingOptions remotingOptions)
 {
     Util.ThrowOnNullArgument(adSettings, "adSettings");
     EnumValidator.ThrowIfInvalid <RemotingOptions>(remotingOptions, "remotingOptions");
     return(this.FromUserSid(adSettings.CreateRecipientSession(null), userSid, remotingOptions));
 }