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