USP_EXCHANGEUSER_GETUSERS

Returns information about application users that have been identified as exchange users.

Parameters

Parameter Parameter Type Mode Description
@EXCHANGESERVERID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_EXCHANGEUSER_GETUSERS
            (
                @EXCHANGESERVERID uniqueidentifier                
            )
            as
                set nocount on;

                declare @USEIMPERSONATION bit;
                declare @ISDEFAULTSERVER bit;

                select
                    @USEIMPERSONATION = USEIMPERSONATION,
                    @ISDEFAULTSERVER = ISDEFAULTSERVER
                from
                    dbo.EXCHANGESERVER
                where    
                    EXCHANGESERVER.ID = @EXCHANGESERVERID;

                if @USEIMPERSONATION = 1 
                    begin
                        select
                            APPUSER.ID as APPUSERID,
                            APPUSER.USERSID,
                            EXCHANGEUSER.WATERMARK,
                            EXCHANGESERVERAPPUSER.EMAILADDRESS,
                            EXCHANGESERVERAPPUSER.IDENTIFIERTYPECODE
                        from
                            dbo.EXCHANGEUSER
                            inner join dbo.APPUSER on APPUSER.ID = EXCHANGEUSER.APPUSERID
                            inner join dbo.EXCHANGESERVERAPPUSER on APPUSER.ID = EXCHANGESERVERAPPUSER.APPUSERID
                        where
                            EXCHANGESERVERAPPUSER.EXCHANGESERVERID = @EXCHANGESERVERID
                        union select
                            APPUSER.ID as APPUSERID,
                            APPUSER.USERSID,
                            EXCHANGEUSER.WATERMARK,
                            '' as EMAILADDRESS,
                            0 as IDENTIFIERTYPECODE
                        from
                            dbo.EXCHANGEUSER
                            inner join dbo.APPUSER on APPUSER.ID = EXCHANGEUSER.APPUSERID
                        where
                            @ISDEFAULTSERVER = 1 and APPUSER.ID not in(select EXCHANGESERVERAPPUSER.APPUSERID from dbo.EXCHANGESERVERAPPUSER)
                    end
                else
                    begin
                        select
                            APPUSER.ID as APPUSERID,
                            APPUSER.USERSID,
                            EXCHANGEUSER.WATERMARK,
                            '' as EMAILADDRESS,
                            0 as IDENTIFIERTYPECODE
                        from
                            dbo.EXCHANGEUSER
                            inner join dbo.APPUSER on APPUSER.ID = EXCHANGEUSER.APPUSERID
                        where
                            EXCHANGEUSER.APPUSERID = (select APPUSER.ID from dbo.APPUSER where APPUSER.USERNAME = (select EXCHANGESERVER.DOMAIN + '\' + EXCHANGESERVER.USERNAME from dbo.EXCHANGESERVER where EXCHANGESERVER.ID = @EXCHANGESERVERID));
                    end