Service Account Metadata SQL

 SELECT DISTINCT 

    e.endpointname AS application,

    a.name AS 'Account Name',

    a.accounttype AS 'Account Type',


    CASE 

        WHEN ao.OWNERUSERKEY IS NOT NULL THEN 'user' 

        WHEN ao.OWNERUSERGROUPKEY IS NOT NULL THEN 'usergroup' 

        ELSE 'Blank' 

    END AS 'Owner Type',


    COALESCE(CAST(ao.RANK AS CHAR), 'Blank') AS 'Owner Rank',


    COALESCE(uo.username, ug.USER_GROUPNAME, 'Blank') AS 'Owner user',


    COALESCE(CONCAT(uo.firstname, ' ', uo.lastname), ug.USER_GROUPNAME, 'Blank') AS 'Owner Name',


    COALESCE(uo.email, ug.USER_GROUPNAME, 'Blank') AS 'Owner Email',


    CASE 

        WHEN ao.OWNERUSERKEY IS NOT NULL THEN 

            CASE 

                WHEN uo.statuskey = 1 THEN 'Active' 

                WHEN uo.statuskey = 0 THEN 'Inactive' 

                ELSE CAST(uo.statuskey AS CHAR)

            END

        ELSE 'Blank'

    END AS 'Owner Status',


    ao.UPDATEDATE AS updatedon,


    CASE 

        WHEN a.status = 1 THEN 'Active' 

        WHEN a.status = 2 THEN 'Inactive' 

        ELSE CAST(a.status AS CHAR)

    END AS 'Account Status'


FROM accounts a

JOIN endpoints e ON a.endpointkey = e.endpointkey

LEFT JOIN accountowners ao ON ao.accountkey = a.accountkey

LEFT JOIN users uo ON ao.OWNERUSERKEY = uo.userkey

LEFT JOIN user_groups ug ON ao.OWNERUSERGROUPKEY = ug.USERGROUPKEY

WHERE a.status NOT IN ('Suspended From Import Service')

  AND e.endpointname = 'AD Service Accounts';


Comments

Popular posts from this blog

Enhanced Query - To Update Account Status and Name

Connection Config - STATUS_THRESHOLD_CONFIG

Email variables _ Register User